(function (_, kotlin_com_github_UstadMobile_door_door_runtime, kotlin_kotlin, kotlin_app_cash_paging_paging_common, kotlin_io_ktor_ktor_client_core, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core, kotlin_io_ktor_ktor_http, kotlin_io_github_aakira_napier) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var RoomDatabase = kotlin_com_github_UstadMobile_door_door_runtime.$_$.w1;
  var protoOf = kotlin_kotlin.$_$.uc;
  var classMeta = kotlin_kotlin.$_$.jb;
  var setMetadataFor = kotlin_kotlin.$_$.vc;
  var VOID = kotlin_kotlin.$_$.f;
  var DoorJsImplClasses = kotlin_com_github_UstadMobile_door_door_runtime.$_$.y1;
  var getKClass = kotlin_kotlin.$_$.e;
  var objectMeta = kotlin_kotlin.$_$.tc;
  var listOf = kotlin_kotlin.$_$.i8;
  var ReplicationFieldMetaData = kotlin_com_github_UstadMobile_door_door_runtime.$_$.t1;
  var listOf_0 = kotlin_kotlin.$_$.j8;
  var RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.m2;
  var Order_INSTEAD_OF_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.r2;
  var Event_INSERT_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.n2;
  var On_RECEIVEVIEW_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.p2;
  var Trigger = kotlin_com_github_UstadMobile_door_door_runtime.$_$.a;
  var ReplicationEntityMetaData = kotlin_com_github_UstadMobile_door_door_runtime.$_$.s1;
  var to = kotlin_kotlin.$_$.mj;
  var Order_AFTER_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.q2;
  var On_ENTITY_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.o2;
  var mapOf = kotlin_kotlin.$_$.m8;
  var DoorDatabaseMetadata = kotlin_com_github_UstadMobile_door_door_runtime.$_$.d;
  var LazyThreadSafetyMode_NONE_getInstance = kotlin_kotlin.$_$.h;
  var lazy = kotlin_kotlin.$_$.dj;
  var KProperty1 = kotlin_kotlin.$_$.td;
  var getPropertyCallableRef = kotlin_kotlin.$_$.sb;
  var lazy_0 = kotlin_kotlin.$_$.ej;
  var NodeEventManagerJs = kotlin_com_github_UstadMobile_door_door_runtime.$_$.j1;
  var DoorDatabaseWrapper = kotlin_com_github_UstadMobile_door_door_runtime.$_$.f2;
  var get_rootDatabase = kotlin_com_github_UstadMobile_door_door_runtime.$_$.p;
  var get_nodeIdAuthCache = kotlin_com_github_UstadMobile_door_door_runtime.$_$.n;
  var NodeIdAuthCache = kotlin_com_github_UstadMobile_door_door_runtime.$_$.z1;
  var equals = kotlin_kotlin.$_$.mb;
  var doorDatabaseMetadata = kotlin_com_github_UstadMobile_door_door_runtime.$_$.h;
  var DoorPrimaryKeyManager = kotlin_com_github_UstadMobile_door_door_runtime.$_$.g2;
  var getKClassFromExpression = kotlin_kotlin.$_$.d;
  var copyToArray = kotlin_kotlin.$_$.e7;
  var InvalidationTracker = kotlin_com_github_UstadMobile_door_door_runtime.$_$.u1;
  var RoomDatabaseJdbcImplHelper = kotlin_com_github_UstadMobile_door_door_runtime.$_$.v1;
  var mutableLinkedListOf = kotlin_com_github_UstadMobile_door_door_runtime.$_$.m;
  var Unit_instance = kotlin_kotlin.$_$.m5;
  var DoorDatabaseJdbc = kotlin_com_github_UstadMobile_door_door_runtime.$_$.d2;
  var RoomJdbcImpl = kotlin_com_github_UstadMobile_door_door_runtime.$_$.x1;
  var RepositoryHelper = kotlin_com_github_UstadMobile_door_door_runtime.$_$.j2;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2;
  var DoorDatabaseRepository = kotlin_com_github_UstadMobile_door_door_runtime.$_$.e2;
  var EntityInsertionAdapter = kotlin_com_github_UstadMobile_door_door_runtime.$_$.h2;
  var THROW_CCE = kotlin_kotlin.$_$.fi;
  var CoroutineImpl = kotlin_kotlin.$_$.ta;
  var get_doorPrimaryKeyManager = kotlin_com_github_UstadMobile_door_door_runtime.$_$.k;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.fa;
  var Long = kotlin_kotlin.$_$.yh;
  var systemTimeInMillis = kotlin_com_github_UstadMobile_door_door_runtime.$_$.b2;
  var mapNextRow = kotlin_com_github_UstadMobile_door_door_runtime.$_$.a1;
  var PreparedStatement = kotlin_com_github_UstadMobile_door_door_runtime.$_$.h1;
  var isInterface = kotlin_kotlin.$_$.ec;
  var executeQueryAsyncKmp = kotlin_com_github_UstadMobile_door_door_runtime.$_$.v2;
  var useResults = kotlin_com_github_UstadMobile_door_door_runtime.$_$.g1;
  var mapRows = kotlin_com_github_UstadMobile_door_door_runtime.$_$.b1;
  var getFloatNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.x;
  var PreparedStatementConfig = kotlin_com_github_UstadMobile_door_door_runtime.$_$.i2;
  var prepareAndUseStatementAsync = kotlin_com_github_UstadMobile_door_door_runtime.$_$.s2;
  var DoorLimitOffsetPagingSource = kotlin_com_github_UstadMobile_door_door_runtime.$_$.l1;
  var createArrayOrProxyArrayOf = kotlin_com_github_UstadMobile_door_door_runtime.$_$.e;
  var executeUpdateAsyncKmp = kotlin_com_github_UstadMobile_door_door_runtime.$_$.w2;
  var doorFlow = kotlin_com_github_UstadMobile_door_door_runtime.$_$.u;
  var LoadParams = kotlin_app_cash_paging_paging_common.$_$.d;
  var HttpRequestBuilder = kotlin_io_ktor_ktor_client_core.$_$.k;
  var setRepoUrl = kotlin_com_github_UstadMobile_door_door_runtime.$_$.r;
  var doorNodeIdHeader = kotlin_com_github_UstadMobile_door_door_runtime.$_$.j;
  var header = kotlin_io_ktor_ktor_client_core.$_$.m;
  var Companion_getInstance = kotlin_kotlin.$_$.g5;
  var serializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.i1;
  var parameter = kotlin_io_ktor_ktor_client_core.$_$.n;
  var StringCompanionObject_instance = kotlin_kotlin.$_$.a5;
  var serializer_0 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b1;
  var IntCompanionObject_instance = kotlin_kotlin.$_$.y4;
  var serializer_1 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.e1;
  var get_nullable = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.a1;
  var pagingSourceLoadParameters = kotlin_com_github_UstadMobile_door_door_runtime.$_$.o;
  var Companion_getInstance_0 = kotlin_io_ktor_ktor_http.$_$.h;
  var HttpStatement = kotlin_io_ktor_ktor_client_core.$_$.r;
  var onClientRepoDoorMessageHttpResponse = kotlin_com_github_UstadMobile_door_door_runtime.$_$.x2;
  var endOfPaginationReached = kotlin_com_github_UstadMobile_door_door_runtime.$_$.r1;
  var Napier_getInstance = kotlin_io_github_aakira_napier.$_$.g;
  var Companion_instance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.z2;
  var Exception = kotlin_kotlin.$_$.uh;
  var withRepoChangeMonitorAsync = kotlin_com_github_UstadMobile_door_door_runtime.$_$.y2;
  var RepoDaoFlowHelper = kotlin_com_github_UstadMobile_door_door_runtime.$_$.v;
  var DoorRepositoryReplicatePullPagingSource = kotlin_com_github_UstadMobile_door_door_runtime.$_$.o1;
  var prepareAndUseStatementAsync_0 = kotlin_com_github_UstadMobile_door_door_runtime.$_$.t2;
  var ListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
  var bodyAsText = kotlin_io_ktor_ktor_client_core.$_$.a;
  var BooleanCompanionObject_instance = kotlin_kotlin.$_$.u4;
  var serializer_2 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.h1;
  var getIntNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.y;
  var getBooleanNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.w;
  var setFloatNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.d1;
  var mapNextRow_0 = kotlin_com_github_UstadMobile_door_door_runtime.$_$.z;
  var OutgoingReplication = kotlin_com_github_UstadMobile_door_door_runtime.$_$.c;
  var SyncNode = kotlin_com_github_UstadMobile_door_door_runtime.$_$.l2;
  var setLongNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.f1;
  var setBooleanNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.c1;
  var setIntNullable = kotlin_com_github_UstadMobile_door_door_runtime.$_$.e1;
  var emptyList = kotlin_kotlin.$_$.i7;
  var DoorMigrationStatementList = kotlin_com_github_UstadMobile_door_door_runtime.$_$.i1;
  var dbType = kotlin_com_github_UstadMobile_door_door_runtime.$_$.g;
  var Companion_getInstance_1 = kotlin_com_github_UstadMobile_door_door_runtime.$_$.b3;
  var numberRangeToNumber = kotlin_kotlin.$_$.mc;
  var Pair = kotlin_kotlin.$_$.ci;
  var PluginGeneratedSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u2;
  var BooleanSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.r;
  var LongSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.v;
  var UnknownFieldException_init_$Create$ = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.f;
  var typeParametersSerializers = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p2;
  var GeneratedSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.q2;
  var throwMissingFieldException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.z2;
  var objectCreate = kotlin_kotlin.$_$.sc;
  var getBooleanHashCode = kotlin_kotlin.$_$.pb;
  var StringSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.w;
  var getStringHashCode = kotlin_kotlin.$_$.tb;
  var IntSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u;
  var FloatSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.t;
  var getNumberHashCode = kotlin_kotlin.$_$.rb;
  var hashCode = kotlin_kotlin.$_$.ub;
  var ArrayListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.n2;
  var enumEntries = kotlin_kotlin.$_$.xa;
  var Enum = kotlin_kotlin.$_$.sh;
  var throwArrayMissingFieldException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.y2;
  var ensureNotNull = kotlin_kotlin.$_$.yi;
  var ByteSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s;
  var toString = kotlin_kotlin.$_$.lj;
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1;
  var trimIndent = kotlin_kotlin.$_$.eh;
  var SyncNodeIdCallback = kotlin_com_github_UstadMobile_door_door_runtime.$_$.k2;
  //endregion
  //region block: pre-declaration
  setMetadataFor(UmAppDatabase, 'UmAppDatabase', classMeta, RoomDatabase, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(UmAppDatabaseJsImplementations, 'UmAppDatabaseJsImplementations', objectMeta, DoorJsImplClasses);
  setMetadataFor(UmAppDatabase_DoorMetadata, 'UmAppDatabase_DoorMetadata', classMeta, DoorDatabaseMetadata, VOID, UmAppDatabase_DoorMetadata);
  setMetadataFor(UmAppDatabase_DoorWrapper, 'UmAppDatabase_DoorWrapper', classMeta, UmAppDatabase, [UmAppDatabase, DoorDatabaseWrapper], VOID, VOID, VOID, [0, 1]);
  setMetadataFor(UmAppDatabase_JdbcImpl, 'UmAppDatabase_JdbcImpl', classMeta, UmAppDatabase, [UmAppDatabase, DoorDatabaseJdbc, RoomJdbcImpl], VOID, VOID, VOID, [0, 1]);
  setMetadataFor(Companion, 'Companion', objectMeta);
  setMetadataFor(UmAppDatabase_Repo, 'UmAppDatabase_Repo', classMeta, UmAppDatabase, [UmAppDatabase, DoorDatabaseRepository], VOID, VOID, VOID, [0, 1]);
  setMetadataFor(CacheLockJoinDao, 'CacheLockJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0, 3, 1, 2]);
  setMetadataFor(CacheLockJoinDao_JdbcImpl$_insertAdapterCacheLockJoin_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CacheLockJoinDao_JdbcImpl, 'CacheLockJoinDao_JdbcImpl', classMeta, CacheLockJoinDao, VOID, VOID, VOID, VOID, [1, 0, 3, 2]);
  setMetadataFor(ClazzAssignmentDao, 'ClazzAssignmentDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 4, 2]);
  setMetadataFor($upsertListAsyncCOROUTINE$1, '$upsertListAsyncCOROUTINE$1', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$2, '$insertAsyncCOROUTINE$2', classMeta, CoroutineImpl);
  setMetadataFor(ClazzAssignmentDao_DoorWrapper, 'ClazzAssignmentDao_DoorWrapper', classMeta, ClazzAssignmentDao, VOID, VOID, VOID, VOID, [1, 3, 4, 2]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda, 'ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda, 'ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda, 'ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda, 'ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda, 'ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda, 'ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda, 'ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda, 'ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda, 'ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda, 'ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda, 'ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda, 'ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda, 'ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$4, '$insertAsyncCOROUTINE$4', classMeta, CoroutineImpl);
  setMetadataFor($updateActiveByListCOROUTINE$7, '$updateActiveByListCOROUTINE$7', classMeta, CoroutineImpl);
  setMetadataFor(ClazzAssignmentDao_JdbcImpl, 'ClazzAssignmentDao_JdbcImpl', classMeta, ClazzAssignmentDao, VOID, VOID, VOID, VOID, [1, 3, 4, 2]);
  setMetadataFor(ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda, 'ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda, 'ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzAssignmentDao_Repo$upsertListAsync$slambda, 'ClazzAssignmentDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzAssignmentDao_Repo$updateActiveByList$slambda, 'ClazzAssignmentDao_Repo$updateActiveByList$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda, 'ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzAssignmentDao_Repo$insertAsync$slambda, 'ClazzAssignmentDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($getSubmitterUidsByClazzOrGroupSetUidCOROUTINE$14, '$getSubmitterUidsByClazzOrGroupSetUidCOROUTINE$14', classMeta, CoroutineImpl);
  setMetadataFor($getSubmitterUidsAndNameByClazzOrGroupSetUidCOROUTINE$15, '$getSubmitterUidsAndNameByClazzOrGroupSetUidCOROUTINE$15', classMeta, CoroutineImpl);
  setMetadataFor($getSubmitterUidCOROUTINE$17, '$getSubmitterUidCOROUTINE$17', classMeta, CoroutineImpl);
  setMetadataFor($findByUidWithBlockAsyncCOROUTINE$22, '$findByUidWithBlockAsyncCOROUTINE$22', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$27, '$insertAsyncCOROUTINE$27', classMeta, CoroutineImpl);
  setMetadataFor(ClazzAssignmentDao_Repo, 'ClazzAssignmentDao_Repo', classMeta, ClazzAssignmentDao, VOID, VOID, VOID, VOID, [1, 3, 4, 2]);
  setMetadataFor(ClazzDao, 'ClazzDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor($insertAsyncCOROUTINE$28, '$insertAsyncCOROUTINE$28', classMeta, CoroutineImpl);
  setMetadataFor(ClazzDao_DoorWrapper, 'ClazzDao_DoorWrapper', classMeta, ClazzDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda, 'ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda, 'ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda, 'ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda, 'ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda, 'ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda, 'ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda, 'ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda, 'ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$_insertAdapterClazz_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$updateAsync$slambda, 'ClazzDao_JdbcImpl$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$findByClazzCode$slambda, 'ClazzDao_JdbcImpl$findByClazzCode$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$findByUidAsync$slambda, 'ClazzDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$findByUidAsFlow$slambda, 'ClazzDao_JdbcImpl$findByUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda, 'ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_JdbcImpl$findClazzesWithPermission$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda, 'ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda, 'ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda, 'ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda, 'ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda, 'ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda, 'ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$29, '$insertAsyncCOROUTINE$29', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$30, '$updateAsyncCOROUTINE$30', classMeta, CoroutineImpl);
  setMetadataFor(ClazzDao_JdbcImpl, 'ClazzDao_JdbcImpl', classMeta, ClazzDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(ClazzDao_Repo$findByUidAsFlow$slambda, 'ClazzDao_Repo$findByUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$updateAsync$slambda, 'ClazzDao_Repo$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$findClazzesWithPermission$slambda, 'ClazzDao_Repo$findClazzesWithPermission$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda, 'ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$getClazzWithDisplayDetails$slambda, 'ClazzDao_Repo$getClazzWithDisplayDetails$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$getTitleByUidAsFlow$slambda, 'ClazzDao_Repo$getTitleByUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda, 'ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$getClazzNameAsFlow$slambda, 'ClazzDao_Repo$getClazzNameAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzDao_Repo$insertAsync$slambda, 'ClazzDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByClazzCodeCOROUTINE$32, '$findByClazzCodeCOROUTINE$32', classMeta, CoroutineImpl);
  setMetadataFor($findByUidAsyncCOROUTINE$34, '$findByUidAsyncCOROUTINE$34', classMeta, CoroutineImpl);
  setMetadataFor($findByUidWithHolidayCalendarAsyncCOROUTINE$36, '$findByUidWithHolidayCalendarAsyncCOROUTINE$36', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$37, '$updateAsyncCOROUTINE$37', classMeta, CoroutineImpl);
  setMetadataFor($getClazzTimeZoneByClazzUidAsyncCOROUTINE$39, '$getClazzTimeZoneByClazzUidAsyncCOROUTINE$39', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$42, '$insertAsyncCOROUTINE$42', classMeta, CoroutineImpl);
  setMetadataFor(ClazzDao_Repo, 'ClazzDao_Repo', classMeta, ClazzDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(ClazzEnrolmentDao, 'ClazzEnrolmentDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 4, 9, 2, 10, 5]);
  setMetadataFor($insertAsyncCOROUTINE$43, '$insertAsyncCOROUTINE$43', classMeta, CoroutineImpl);
  setMetadataFor(ClazzEnrolmentDao_DoorWrapper, 'ClazzEnrolmentDao_DoorWrapper', classMeta, ClazzEnrolmentDao, VOID, VOID, VOID, VOID, [1, 3, 4, 9, 2, 10, 5]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda, 'ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda, 'ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda, 'ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda, 'ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda, 'ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda, 'ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$_insertAdapterClazzEnrolment_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda, 'ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda, 'ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda, 'ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda, 'ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda, 'ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda, 'ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$44, '$insertAsyncCOROUTINE$44', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$45, '$updateAsyncCOROUTINE$45', classMeta, CoroutineImpl);
  setMetadataFor(ClazzEnrolmentDao_JdbcImpl, 'ClazzEnrolmentDao_JdbcImpl', classMeta, ClazzEnrolmentDao, VOID, VOID, VOID, VOID, [1, 3, 4, 9, 2, 10, 5]);
  setMetadataFor(ClazzEnrolmentDao_Repo$updateAsync$slambda, 'ClazzEnrolmentDao_Repo$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda, 'ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda, 'ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzEnrolmentDao_Repo$insertAsync$slambda, 'ClazzEnrolmentDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findEnrolmentWithLeavingReasonCOROUTINE$47, '$findEnrolmentWithLeavingReasonCOROUTINE$47', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$48, '$updateAsyncCOROUTINE$48', classMeta, CoroutineImpl);
  setMetadataFor($getAllEnrolmentsAtTimeByClazzAndPersonCOROUTINE$51, '$getAllEnrolmentsAtTimeByClazzAndPersonCOROUTINE$51', classMeta, CoroutineImpl);
  setMetadataFor($getClazzNameAndPersonNameCOROUTINE$60, '$getClazzNameAndPersonNameCOROUTINE$60', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$62, '$insertAsyncCOROUTINE$62', classMeta, CoroutineImpl);
  setMetadataFor(ClazzEnrolmentDao_Repo, 'ClazzEnrolmentDao_Repo', classMeta, ClazzEnrolmentDao, VOID, VOID, VOID, VOID, [1, 3, 4, 9, 2, 10, 5]);
  setMetadataFor(ClazzLogAttendanceRecordDao, 'ClazzLogAttendanceRecordDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor($upsertListAsyncCOROUTINE$64, '$upsertListAsyncCOROUTINE$64', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$65, '$insertAsyncCOROUTINE$65', classMeta, CoroutineImpl);
  setMetadataFor(ClazzLogAttendanceRecordDao_DoorWrapper, 'ClazzLogAttendanceRecordDao_DoorWrapper', classMeta, ClazzLogAttendanceRecordDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda, 'ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$66, '$insertAsyncCOROUTINE$66', classMeta, CoroutineImpl);
  setMetadataFor(ClazzLogAttendanceRecordDao_JdbcImpl, 'ClazzLogAttendanceRecordDao_JdbcImpl', classMeta, ClazzLogAttendanceRecordDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda, 'ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda, 'ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByClazzAndTimeCOROUTINE$68, '$findByClazzAndTimeCOROUTINE$68', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$69, '$insertAsyncCOROUTINE$69', classMeta, CoroutineImpl);
  setMetadataFor(ClazzLogAttendanceRecordDao_Repo, 'ClazzLogAttendanceRecordDao_Repo', classMeta, ClazzLogAttendanceRecordDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ClazzLogDao, 'ClazzLogDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor($upsertListAsyncCOROUTINE$70, '$upsertListAsyncCOROUTINE$70', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$71, '$insertAsyncCOROUTINE$71', classMeta, CoroutineImpl);
  setMetadataFor(ClazzLogDao_DoorWrapper, 'ClazzLogDao_DoorWrapper', classMeta, ClazzLogDao, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda, 'ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda, 'ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda, 'ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda, 'ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda, 'ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda, 'ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$72, '$insertAsyncCOROUTINE$72', classMeta, CoroutineImpl);
  setMetadataFor(ClazzLogDao_JdbcImpl, 'ClazzLogDao_JdbcImpl', classMeta, ClazzLogDao, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(ClazzLogDao_Repo$findByClazzUidAsFactory$slambda, 'ClazzLogDao_Repo$findByClazzUidAsFactory$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzLogDao_Repo$upsertListAsync$slambda, 'ClazzLogDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ClazzLogDao_Repo$insertAsync$slambda, 'ClazzLogDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByClazzUidAsyncCOROUTINE$75, '$findByClazzUidAsyncCOROUTINE$75', classMeta, CoroutineImpl);
  setMetadataFor($findMostRecentClazzLogToEditUidCOROUTINE$78, '$findMostRecentClazzLogToEditUidCOROUTINE$78', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$79, '$insertAsyncCOROUTINE$79', classMeta, CoroutineImpl);
  setMetadataFor(ClazzLogDao_Repo, 'ClazzLogDao_Repo', classMeta, ClazzLogDao, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(CommentsDao, 'CommentsDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor($insertAsyncCOROUTINE$80, '$insertAsyncCOROUTINE$80', classMeta, CoroutineImpl);
  setMetadataFor(CommentsDao_DoorWrapper, 'CommentsDao_DoorWrapper', classMeta, CommentsDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda, 'CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda, 'CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda, 'CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda, 'CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda, 'CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda, 'CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$_insertAdapterComments_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda, 'CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor($insertAsyncCOROUTINE$81, '$insertAsyncCOROUTINE$81', classMeta, CoroutineImpl);
  setMetadataFor($updateDeletedByCommentUidCOROUTINE$82, '$updateDeletedByCommentUidCOROUTINE$82', classMeta, CoroutineImpl);
  setMetadataFor(CommentsDao_JdbcImpl, 'CommentsDao_JdbcImpl', classMeta, CommentsDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(CommentsDao_Repo$insertAsync$slambda, 'CommentsDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CommentsDao_Repo$updateDeletedByCommentUid$slambda, 'CommentsDao_Repo$updateDeletedByCommentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda, 'CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda, 'CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda, 'CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$83, '$insertAsyncCOROUTINE$83', classMeta, CoroutineImpl);
  setMetadataFor(CommentsDao_Repo, 'CommentsDao_Repo', classMeta, CommentsDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ContentCategoryDao, 'ContentCategoryDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$86, '$insertAsyncCOROUTINE$86', classMeta, CoroutineImpl);
  setMetadataFor(ContentCategoryDao_DoorWrapper, 'ContentCategoryDao_DoorWrapper', classMeta, ContentCategoryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentCategoryDao_JdbcImpl$_insertAdapterContentCategory_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$87, '$insertAsyncCOROUTINE$87', classMeta, CoroutineImpl);
  setMetadataFor(ContentCategoryDao_JdbcImpl, 'ContentCategoryDao_JdbcImpl', classMeta, ContentCategoryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentCategoryDao_Repo$insertAsync$slambda, 'ContentCategoryDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$88, '$insertAsyncCOROUTINE$88', classMeta, CoroutineImpl);
  setMetadataFor(ContentCategoryDao_Repo, 'ContentCategoryDao_Repo', classMeta, ContentCategoryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentCategorySchemaDao, 'ContentCategorySchemaDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$89, '$insertAsyncCOROUTINE$89', classMeta, CoroutineImpl);
  setMetadataFor(ContentCategorySchemaDao_DoorWrapper, 'ContentCategorySchemaDao_DoorWrapper', classMeta, ContentCategorySchemaDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentCategorySchemaDao_JdbcImpl$_insertAdapterContentCategorySchema_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$90, '$insertAsyncCOROUTINE$90', classMeta, CoroutineImpl);
  setMetadataFor(ContentCategorySchemaDao_JdbcImpl, 'ContentCategorySchemaDao_JdbcImpl', classMeta, ContentCategorySchemaDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentCategorySchemaDao_Repo$insertAsync$slambda, 'ContentCategorySchemaDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$91, '$insertAsyncCOROUTINE$91', classMeta, CoroutineImpl);
  setMetadataFor(ContentCategorySchemaDao_Repo, 'ContentCategorySchemaDao_Repo', classMeta, ContentCategorySchemaDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryContentCategoryJoinDao, 'ContentEntryContentCategoryJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$92, '$insertAsyncCOROUTINE$92', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryContentCategoryJoinDao_DoorWrapper, 'ContentEntryContentCategoryJoinDao_DoorWrapper', classMeta, ContentEntryContentCategoryJoinDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryContentCategoryJoinDao_JdbcImpl$_insertAdapterContentEntryContentCategoryJoin_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$93, '$insertAsyncCOROUTINE$93', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryContentCategoryJoinDao_JdbcImpl, 'ContentEntryContentCategoryJoinDao_JdbcImpl', classMeta, ContentEntryContentCategoryJoinDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda, 'ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$94, '$insertAsyncCOROUTINE$94', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryContentCategoryJoinDao_Repo, 'ContentEntryContentCategoryJoinDao_Repo', classMeta, ContentEntryContentCategoryJoinDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao, 'ContentEntryDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($upsertAsyncCOROUTINE$96, '$upsertAsyncCOROUTINE$96', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$97, '$insertAsyncCOROUTINE$97', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryDao_DoorWrapper, 'ContentEntryDao_DoorWrapper', classMeta, ContentEntryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda, 'ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda, 'ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda, 'ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda, 'ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda, 'ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda, 'ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda, 'ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$findByUidAsync$slambda, 'ContentEntryDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda, 'ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda, 'ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda, 'ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getContentFromMyCourses$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(ContentEntryDao_JdbcImpl$getContentByOwner$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor($insertAsyncCOROUTINE$98, '$insertAsyncCOROUTINE$98', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryDao_JdbcImpl, 'ContentEntryDao_JdbcImpl', classMeta, ContentEntryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_Repo$upsertAsync$slambda, 'ContentEntryDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda, 'ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda, 'ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao_Repo$insertAsync$slambda, 'ContentEntryDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByUidAsyncCOROUTINE$100, '$findByUidAsyncCOROUTINE$100', classMeta, CoroutineImpl);
  setMetadataFor($findByUidWithEditDetailsCOROUTINE$102, '$findByUidWithEditDetailsCOROUTINE$102', classMeta, CoroutineImpl);
  setMetadataFor($findTitleByUidAsyncCOROUTINE$103, '$findTitleByUidAsyncCOROUTINE$103', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$112, '$insertAsyncCOROUTINE$112', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryDao_Repo, 'ContentEntryDao_Repo', classMeta, ContentEntryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryImportJobDao, 'ContentEntryImportJobDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda, 'ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryImportJobDao_JdbcImpl$_insertAdapterContentEntryImportJob_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda, 'ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryImportJobDao_JdbcImpl, 'ContentEntryImportJobDao_JdbcImpl', classMeta, ContentEntryImportJobDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(ContentEntryParentChildJoinDao, 'ContentEntryParentChildJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor($insertAsyncCOROUTINE$119, '$insertAsyncCOROUTINE$119', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryParentChildJoinDao_DoorWrapper, 'ContentEntryParentChildJoinDao_DoorWrapper', classMeta, ContentEntryParentChildJoinDao, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda, 'ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda, 'ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$120, '$insertAsyncCOROUTINE$120', classMeta, CoroutineImpl);
  setMetadataFor($moveListOfEntriesToNewParentCOROUTINE$121, '$moveListOfEntriesToNewParentCOROUTINE$121', classMeta, CoroutineImpl);
  setMetadataFor($setEntriesDeletedCOROUTINE$122, '$setEntriesDeletedCOROUTINE$122', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryParentChildJoinDao_JdbcImpl, 'ContentEntryParentChildJoinDao_JdbcImpl', classMeta, ContentEntryParentChildJoinDao, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda, 'ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda, 'ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryParentChildJoinDao_Repo$insertAsync$slambda, 'ContentEntryParentChildJoinDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$126, '$insertAsyncCOROUTINE$126', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryParentChildJoinDao_Repo, 'ContentEntryParentChildJoinDao_Repo', classMeta, ContentEntryParentChildJoinDao, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(ContentEntryPicture2Dao, 'ContentEntryPicture2Dao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(ContentEntryPicture2Dao_DoorWrapper, 'ContentEntryPicture2Dao_DoorWrapper', classMeta, ContentEntryPicture2Dao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(ContentEntryPicture2Dao_JdbcImpl$_insertAdapterContentEntryPicture2_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda, 'ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateUriCOROUTINE$127, '$updateUriCOROUTINE$127', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryPicture2Dao_JdbcImpl, 'ContentEntryPicture2Dao_JdbcImpl', classMeta, ContentEntryPicture2Dao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(ContentEntryPicture2Dao_Repo$upsertListAsync$slambda, 'ContentEntryPicture2Dao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryPicture2Dao_Repo$updateUri$slambda, 'ContentEntryPicture2Dao_Repo$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryPicture2Dao_Repo, 'ContentEntryPicture2Dao_Repo', classMeta, ContentEntryPicture2Dao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(ContentEntryPictureDao, 'ContentEntryPictureDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$128, '$insertAsyncCOROUTINE$128', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryPictureDao_DoorWrapper, 'ContentEntryPictureDao_DoorWrapper', classMeta, ContentEntryPictureDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryPictureDao_JdbcImpl$_insertAdapterContentEntryPicture_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$129, '$insertAsyncCOROUTINE$129', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryPictureDao_JdbcImpl, 'ContentEntryPictureDao_JdbcImpl', classMeta, ContentEntryPictureDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryPictureDao_Repo$insertAsync$slambda, 'ContentEntryPictureDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$132, '$insertAsyncCOROUTINE$132', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryPictureDao_Repo, 'ContentEntryPictureDao_Repo', classMeta, ContentEntryPictureDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryRelatedEntryJoinDao, 'ContentEntryRelatedEntryJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$133, '$insertAsyncCOROUTINE$133', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryRelatedEntryJoinDao_DoorWrapper, 'ContentEntryRelatedEntryJoinDao_DoorWrapper', classMeta, ContentEntryRelatedEntryJoinDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryRelatedEntryJoinDao_JdbcImpl$_insertAdapterContentEntryRelatedEntryJoin_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$134, '$insertAsyncCOROUTINE$134', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryRelatedEntryJoinDao_JdbcImpl, 'ContentEntryRelatedEntryJoinDao_JdbcImpl', classMeta, ContentEntryRelatedEntryJoinDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda, 'ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$136, '$insertAsyncCOROUTINE$136', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryRelatedEntryJoinDao_Repo, 'ContentEntryRelatedEntryJoinDao_Repo', classMeta, ContentEntryRelatedEntryJoinDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryVersionDao, 'ContentEntryVersionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 0]);
  setMetadataFor(ContentEntryVersionDao_DoorWrapper, 'ContentEntryVersionDao_DoorWrapper', classMeta, ContentEntryVersionDao, VOID, VOID, VOID, VOID, [1, 2, 0]);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda, 'ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl$_insertAdapterContentEntryVersion_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda, 'ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda, 'ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda, 'ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda, 'ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateTransferJobItemEtagCOROUTINE$139, '$updateTransferJobItemEtagCOROUTINE$139', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryVersionDao_JdbcImpl, 'ContentEntryVersionDao_JdbcImpl', classMeta, ContentEntryVersionDao, VOID, VOID, VOID, VOID, [1, 2, 0]);
  setMetadataFor(ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda, 'ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda, 'ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByUidAsyncCOROUTINE$140, '$findByUidAsyncCOROUTINE$140', classMeta, CoroutineImpl);
  setMetadataFor($findLatestVersionUidByContentEntryUidEntityCOROUTINE$142, '$findLatestVersionUidByContentEntryUidEntityCOROUTINE$142', classMeta, CoroutineImpl);
  setMetadataFor(ContentEntryVersionDao_Repo, 'ContentEntryVersionDao_Repo', classMeta, ContentEntryVersionDao, VOID, VOID, VOID, VOID, [1, 2, 0]);
  setMetadataFor(CourseAssignmentMarkDao, 'CourseAssignmentMarkDao', classMeta, VOID, VOID, VOID, VOID, VOID, [2, 3, 1]);
  setMetadataFor($insertAsyncCOROUTINE$144, '$insertAsyncCOROUTINE$144', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentMarkDao_DoorWrapper, 'CourseAssignmentMarkDao_DoorWrapper', classMeta, CourseAssignmentMarkDao, VOID, VOID, VOID, VOID, [2, 3, 1]);
  setMetadataFor(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda, 'CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda, 'CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentMarkDao_JdbcImpl$_insertAdapterCourseAssignmentMark_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda, 'CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda, 'CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$145, '$insertAsyncCOROUTINE$145', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentMarkDao_JdbcImpl, 'CourseAssignmentMarkDao_JdbcImpl', classMeta, CourseAssignmentMarkDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda, 'CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda, 'CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentMarkDao_Repo$insertAsync$slambda, 'CourseAssignmentMarkDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$148, '$insertAsyncCOROUTINE$148', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentMarkDao_Repo, 'CourseAssignmentMarkDao_Repo', classMeta, CourseAssignmentMarkDao, VOID, VOID, VOID, VOID, [2, 3, 1]);
  setMetadataFor(CourseAssignmentSubmissionDao, 'CourseAssignmentSubmissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor($insertAsyncCOROUTINE$150, '$insertAsyncCOROUTINE$150', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentSubmissionDao_DoorWrapper, 'CourseAssignmentSubmissionDao_DoorWrapper', classMeta, CourseAssignmentSubmissionDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$_insertAdapterCourseAssignmentSubmission_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda, 'CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$151, '$insertAsyncCOROUTINE$151', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentSubmissionDao_JdbcImpl, 'CourseAssignmentSubmissionDao_JdbcImpl', classMeta, CourseAssignmentSubmissionDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda, 'CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda, 'CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionDao_Repo$insertAsync$slambda, 'CourseAssignmentSubmissionDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($doesUserHaveSubmissionsCOROUTINE$153, '$doesUserHaveSubmissionsCOROUTINE$153', classMeta, CoroutineImpl);
  setMetadataFor($checkNoSubmissionsMadeAsyncCOROUTINE$157, '$checkNoSubmissionsMadeAsyncCOROUTINE$157', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$158, '$insertAsyncCOROUTINE$158', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentSubmissionDao_Repo, 'CourseAssignmentSubmissionDao_Repo', classMeta, CourseAssignmentSubmissionDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(CourseAssignmentSubmissionFileDao, 'CourseAssignmentSubmissionFileDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor($insertListAsyncCOROUTINE$159, '$insertListAsyncCOROUTINE$159', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$160, '$insertAsyncCOROUTINE$160', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentSubmissionFileDao_DoorWrapper, 'CourseAssignmentSubmissionFileDao_DoorWrapper', classMeta, CourseAssignmentSubmissionFileDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$_insertAdapterCourseAssignmentSubmissionFile_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda, 'CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$161, '$insertAsyncCOROUTINE$161', classMeta, CoroutineImpl);
  setMetadataFor($updateUriCOROUTINE$162, '$updateUriCOROUTINE$162', classMeta, CoroutineImpl);
  setMetadataFor($setDeletedCOROUTINE$163, '$setDeletedCOROUTINE$163', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentSubmissionFileDao_JdbcImpl, 'CourseAssignmentSubmissionFileDao_JdbcImpl', classMeta, CourseAssignmentSubmissionFileDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda, 'CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda, 'CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda, 'CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda, 'CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda, 'CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda, 'CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$164, '$insertAsyncCOROUTINE$164', classMeta, CoroutineImpl);
  setMetadataFor(CourseAssignmentSubmissionFileDao_Repo, 'CourseAssignmentSubmissionFileDao_Repo', classMeta, CourseAssignmentSubmissionFileDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(CourseBlockDao, 'CourseBlockDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3, 9]);
  setMetadataFor($upsertListAsyncCOROUTINE$166, '$upsertListAsyncCOROUTINE$166', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$167, '$insertAsyncCOROUTINE$167', classMeta, CoroutineImpl);
  setMetadataFor(CourseBlockDao_DoorWrapper, 'CourseBlockDao_DoorWrapper', classMeta, CourseBlockDao, VOID, VOID, VOID, VOID, [1, 2, 3, 9]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda, 'CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda, 'CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda, 'CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda, 'CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda, 'CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda, 'CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda, 'CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_JdbcImpl$updateActiveByUid$slambda, 'CourseBlockDao_JdbcImpl$updateActiveByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda, 'CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda, 'CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda, 'CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda, 'CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$169, '$insertAsyncCOROUTINE$169', classMeta, CoroutineImpl);
  setMetadataFor($updateActiveByUidCOROUTINE$171, '$updateActiveByUidCOROUTINE$171', classMeta, CoroutineImpl);
  setMetadataFor(CourseBlockDao_JdbcImpl, 'CourseBlockDao_JdbcImpl', classMeta, CourseBlockDao, VOID, VOID, VOID, VOID, [1, 2, 3, 9]);
  setMetadataFor(CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda, 'CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda, 'CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_Repo$updateActiveByUid$slambda, 'CourseBlockDao_Repo$updateActiveByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_Repo$upsertListAsync$slambda, 'CourseBlockDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda, 'CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_Repo$findByClazzUidAsFlow$slambda, 'CourseBlockDao_Repo$findByClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockDao_Repo$insertAsync$slambda, 'CourseBlockDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findAllCourseBlockByClazzUidAsyncCOROUTINE$176, '$findAllCourseBlockByClazzUidAsyncCOROUTINE$176', classMeta, CoroutineImpl);
  setMetadataFor($findCourseBlockAndClazzUidByDiscussionPostUidCOROUTINE$177, '$findCourseBlockAndClazzUidByDiscussionPostUidCOROUTINE$177', classMeta, CoroutineImpl);
  setMetadataFor($findClazzUidByCourseBlockUidCOROUTINE$179, '$findClazzUidByCourseBlockUidCOROUTINE$179', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$183, '$insertAsyncCOROUTINE$183', classMeta, CoroutineImpl);
  setMetadataFor(CourseBlockDao_Repo, 'CourseBlockDao_Repo', classMeta, CourseBlockDao, VOID, VOID, VOID, VOID, [1, 2, 3, 9]);
  setMetadataFor(CourseBlockPictureDao, 'CourseBlockPictureDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseBlockPictureDao_DoorWrapper, 'CourseBlockPictureDao_DoorWrapper', classMeta, CourseBlockPictureDao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseBlockPictureDao_JdbcImpl$_insertAdapterCourseBlockPicture_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseBlockPictureDao_JdbcImpl$updateUri$slambda, 'CourseBlockPictureDao_JdbcImpl$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateUriCOROUTINE$184, '$updateUriCOROUTINE$184', classMeta, CoroutineImpl);
  setMetadataFor(CourseBlockPictureDao_JdbcImpl, 'CourseBlockPictureDao_JdbcImpl', classMeta, CourseBlockPictureDao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseBlockPictureDao_Repo$upsertListAsync$slambda, 'CourseBlockPictureDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockPictureDao_Repo$updateUri$slambda, 'CourseBlockPictureDao_Repo$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseBlockPictureDao_Repo, 'CourseBlockPictureDao_Repo', classMeta, CourseBlockPictureDao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseGroupMemberDao, 'CourseGroupMemberDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor($upsertListAsyncCOROUTINE$186, '$upsertListAsyncCOROUTINE$186', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$187, '$insertAsyncCOROUTINE$187', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupMemberDao_DoorWrapper, 'CourseGroupMemberDao_DoorWrapper', classMeta, CourseGroupMemberDao, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda, 'CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda, 'CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda, 'CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda, 'CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$188, '$insertAsyncCOROUTINE$188', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupMemberDao_JdbcImpl, 'CourseGroupMemberDao_JdbcImpl', classMeta, CourseGroupMemberDao, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda, 'CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseGroupMemberDao_Repo$upsertListAsync$slambda, 'CourseGroupMemberDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseGroupMemberDao_Repo$insertAsync$slambda, 'CourseGroupMemberDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByCourseGroupSetAndClazzCOROUTINE$191, '$findByCourseGroupSetAndClazzCOROUTINE$191', classMeta, CoroutineImpl);
  setMetadataFor($findByCourseGroupSetAndGroupNumAsyncCOROUTINE$194, '$findByCourseGroupSetAndGroupNumAsyncCOROUTINE$194', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$195, '$insertAsyncCOROUTINE$195', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupMemberDao_Repo, 'CourseGroupMemberDao_Repo', classMeta, CourseGroupMemberDao, VOID, VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(CourseGroupSetDao, 'CourseGroupSetDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($upsertAsyncCOROUTINE$196, '$upsertAsyncCOROUTINE$196', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$197, '$insertAsyncCOROUTINE$197', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupSetDao_DoorWrapper, 'CourseGroupSetDao_DoorWrapper', classMeta, CourseGroupSetDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda, 'CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda, 'CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda, 'CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda, 'CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda, 'CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$198, '$insertAsyncCOROUTINE$198', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupSetDao_JdbcImpl, 'CourseGroupSetDao_JdbcImpl', classMeta, CourseGroupSetDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda, 'CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseGroupSetDao_Repo$upsertAsync$slambda, 'CourseGroupSetDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseGroupSetDao_Repo$insertAsync$slambda, 'CourseGroupSetDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByUidAsyncCOROUTINE$202, '$findByUidAsyncCOROUTINE$202', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$203, '$insertAsyncCOROUTINE$203', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupSetDao_Repo, 'CourseGroupSetDao_Repo', classMeta, CourseGroupSetDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao, 'CoursePermissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [2, 1, 3, 4]);
  setMetadataFor($upsertAsyncCOROUTINE$204, '$upsertAsyncCOROUTINE$204', classMeta, CoroutineImpl);
  setMetadataFor(CoursePermissionDao_DoorWrapper, 'CoursePermissionDao_DoorWrapper', classMeta, CoursePermissionDao, VOID, VOID, VOID, VOID, [2, 1, 3, 4]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda, 'CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda, 'CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda, 'CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda, 'CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$_insertAdapterCoursePermission_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda, 'CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda, 'CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$setDeleted$slambda, 'CoursePermissionDao_JdbcImpl$setDeleted$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda, 'CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda, 'CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda, 'CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($setDeletedCOROUTINE$205, '$setDeletedCOROUTINE$205', classMeta, CoroutineImpl);
  setMetadataFor(CoursePermissionDao_JdbcImpl, 'CoursePermissionDao_JdbcImpl', classMeta, CoursePermissionDao, VOID, VOID, VOID, VOID, [1, 2, 3, 4]);
  setMetadataFor(CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda, 'CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda, 'CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_Repo$upsertAsync$slambda, 'CoursePermissionDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_Repo$setDeleted$slambda, 'CoursePermissionDao_Repo$setDeleted$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda, 'CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda, 'CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda, 'CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda, 'CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByUidAndClazzUidCOROUTINE$206, '$findByUidAndClazzUidCOROUTINE$206', classMeta, CoroutineImpl);
  setMetadataFor($userHasEnrolmentEditPermissionCOROUTINE$208, '$userHasEnrolmentEditPermissionCOROUTINE$208', classMeta, CoroutineImpl);
  setMetadataFor($personHasPermissionWithClazzPairAsyncCOROUTINE$210, '$personHasPermissionWithClazzPairAsyncCOROUTINE$210', classMeta, CoroutineImpl);
  setMetadataFor($personHasPermissionWithClazzAsync2COROUTINE$211, '$personHasPermissionWithClazzAsync2COROUTINE$211', classMeta, CoroutineImpl);
  setMetadataFor(CoursePermissionDao_Repo, 'CoursePermissionDao_Repo', classMeta, CoursePermissionDao, VOID, VOID, VOID, VOID, [2, 1, 3, 4]);
  setMetadataFor(CoursePictureDao, 'CoursePictureDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor($upsertAsyncCOROUTINE$213, '$upsertAsyncCOROUTINE$213', classMeta, CoroutineImpl);
  setMetadataFor(CoursePictureDao_DoorWrapper, 'CoursePictureDao_DoorWrapper', classMeta, CoursePictureDao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CoursePictureDao_JdbcImpl$_insertAdapterCoursePicture_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePictureDao_JdbcImpl$updateUri$slambda, 'CoursePictureDao_JdbcImpl$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateUriCOROUTINE$214, '$updateUriCOROUTINE$214', classMeta, CoroutineImpl);
  setMetadataFor(CoursePictureDao_JdbcImpl, 'CoursePictureDao_JdbcImpl', classMeta, CoursePictureDao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CoursePictureDao_Repo$upsertAsync$slambda, 'CoursePictureDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePictureDao_Repo$updateUri$slambda, 'CoursePictureDao_Repo$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CoursePictureDao_Repo, 'CoursePictureDao_Repo', classMeta, CoursePictureDao, VOID, VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseTerminologyDao, 'CourseTerminologyDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($upsertAsyncCOROUTINE$215, '$upsertAsyncCOROUTINE$215', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$216, '$insertAsyncCOROUTINE$216', classMeta, CoroutineImpl);
  setMetadataFor(CourseTerminologyDao_DoorWrapper, 'CourseTerminologyDao_DoorWrapper', classMeta, CourseTerminologyDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda, 'CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda, 'CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda, 'CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda, 'CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda, 'CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($upsertAsyncCOROUTINE$217, '$upsertAsyncCOROUTINE$217', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$218, '$insertAsyncCOROUTINE$218', classMeta, CoroutineImpl);
  setMetadataFor(CourseTerminologyDao_JdbcImpl, 'CourseTerminologyDao_JdbcImpl', classMeta, CourseTerminologyDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda, 'CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(CourseTerminologyDao_Repo$upsertAsync$slambda, 'CourseTerminologyDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(CourseTerminologyDao_Repo$insertAsync$slambda, 'CourseTerminologyDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($getTerminologyForClazzCOROUTINE$220, '$getTerminologyForClazzCOROUTINE$220', classMeta, CoroutineImpl);
  setMetadataFor($getTerminologyForAssignmentCOROUTINE$221, '$getTerminologyForAssignmentCOROUTINE$221', classMeta, CoroutineImpl);
  setMetadataFor($findByUidAsyncCOROUTINE$222, '$findByUidAsyncCOROUTINE$222', classMeta, CoroutineImpl);
  setMetadataFor($upsertAsyncCOROUTINE$224, '$upsertAsyncCOROUTINE$224', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$225, '$insertAsyncCOROUTINE$225', classMeta, CoroutineImpl);
  setMetadataFor(CourseTerminologyDao_Repo, 'CourseTerminologyDao_Repo', classMeta, CourseTerminologyDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DeletedItemDao, 'DeletedItemDao', classMeta, VOID, VOID, VOID, VOID, VOID, [3, 2]);
  setMetadataFor(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda, 'DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda, 'DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda, 'DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(DeletedItemDao_JdbcImpl$updateStatusByUids$slambda, 'DeletedItemDao_JdbcImpl$updateStatusByUids$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertDeletedItemForContentEntryParentChildJoinCOROUTINE$226, '$insertDeletedItemForContentEntryParentChildJoinCOROUTINE$226', classMeta, CoroutineImpl);
  setMetadataFor($updateStatusByUidsCOROUTINE$227, '$updateStatusByUidsCOROUTINE$227', classMeta, CoroutineImpl);
  setMetadataFor(DeletedItemDao_JdbcImpl, 'DeletedItemDao_JdbcImpl', classMeta, DeletedItemDao, VOID, VOID, VOID, VOID, [3, 2]);
  setMetadataFor(DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda, 'DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(DeletedItemDao_Repo$findDeletedItemsForUser$slambda, 'DeletedItemDao_Repo$findDeletedItemsForUser$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DeletedItemDao_Repo$updateStatusByUids$slambda, 'DeletedItemDao_Repo$updateStatusByUids$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(DeletedItemDao_Repo, 'DeletedItemDao_Repo', classMeta, DeletedItemDao, VOID, VOID, VOID, VOID, [3, 2]);
  setMetadataFor(DiscussionPostDao, 'DiscussionPostDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor($upsertAsyncCOROUTINE$229, '$upsertAsyncCOROUTINE$229', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$230, '$insertAsyncCOROUTINE$230', classMeta, CoroutineImpl);
  setMetadataFor(DiscussionPostDao_DoorWrapper, 'DiscussionPostDao_DoorWrapper', classMeta, DiscussionPostDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda, 'DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda, 'DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda, 'DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda, 'DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda, 'DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$findByUid$slambda, 'DiscussionPostDao_JdbcImpl$findByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda, 'DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda, 'DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$231, '$insertAsyncCOROUTINE$231', classMeta, CoroutineImpl);
  setMetadataFor($setDeletedAsyncCOROUTINE$233, '$setDeletedAsyncCOROUTINE$233', classMeta, CoroutineImpl);
  setMetadataFor(DiscussionPostDao_JdbcImpl, 'DiscussionPostDao_JdbcImpl', classMeta, DiscussionPostDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda, 'DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda, 'DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(DiscussionPostDao_Repo$upsertAsync$slambda, 'DiscussionPostDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(DiscussionPostDao_Repo$setDeletedAsync$slambda, 'DiscussionPostDao_Repo$setDeletedAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(DiscussionPostDao_Repo$insertAsync$slambda, 'DiscussionPostDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByUidCOROUTINE$237, '$findByUidCOROUTINE$237', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$240, '$insertAsyncCOROUTINE$240', classMeta, CoroutineImpl);
  setMetadataFor(DiscussionPostDao_Repo, 'DiscussionPostDao_Repo', classMeta, DiscussionPostDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(EnrolmentRequestDao, 'EnrolmentRequestDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor($insertCOROUTINE$241, '$insertCOROUTINE$241', classMeta, CoroutineImpl);
  setMetadataFor(EnrolmentRequestDao_DoorWrapper, 'EnrolmentRequestDao_DoorWrapper', classMeta, EnrolmentRequestDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda, 'EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda, 'EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda, 'EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$_insertAdapterEnrolmentRequest_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda, 'EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda, 'EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$updateStatus$slambda, 'EnrolmentRequestDao_JdbcImpl$updateStatus$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor($updateStatusCOROUTINE$242, '$updateStatusCOROUTINE$242', classMeta, CoroutineImpl);
  setMetadataFor(EnrolmentRequestDao_JdbcImpl, 'EnrolmentRequestDao_JdbcImpl', classMeta, EnrolmentRequestDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(EnrolmentRequestDao_Repo$insert$slambda, 'EnrolmentRequestDao_Repo$insert$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda, 'EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(EnrolmentRequestDao_Repo$updateStatus$slambda, 'EnrolmentRequestDao_Repo$updateStatus$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda, 'EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($hasPendingRequestsCOROUTINE$244, '$hasPendingRequestsCOROUTINE$244', classMeta, CoroutineImpl);
  setMetadataFor(EnrolmentRequestDao_Repo, 'EnrolmentRequestDao_Repo', classMeta, EnrolmentRequestDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ErrorReportDao, 'ErrorReportDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ErrorReportDao_DoorWrapper, 'ErrorReportDao_DoorWrapper', classMeta, ErrorReportDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ErrorReportDao_JdbcImpl$_insertAdapterErrorReport_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ErrorReportDao_JdbcImpl, 'ErrorReportDao_JdbcImpl', classMeta, ErrorReportDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ErrorReportDao_Repo, 'ErrorReportDao_Repo', classMeta, ErrorReportDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ExternalAppPermissionDao, 'ExternalAppPermissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ExternalAppPermissionDao_JdbcImpl$_insertAdapterExternalAppPermission_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ExternalAppPermissionDao_JdbcImpl, 'ExternalAppPermissionDao_JdbcImpl', classMeta, ExternalAppPermissionDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(HolidayCalendarDao, 'HolidayCalendarDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$251, '$insertAsyncCOROUTINE$251', classMeta, CoroutineImpl);
  setMetadataFor(HolidayCalendarDao_DoorWrapper, 'HolidayCalendarDao_DoorWrapper', classMeta, HolidayCalendarDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$252, '$insertAsyncCOROUTINE$252', classMeta, CoroutineImpl);
  setMetadataFor(HolidayCalendarDao_JdbcImpl, 'HolidayCalendarDao_JdbcImpl', classMeta, HolidayCalendarDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayCalendarDao_Repo$insertAsync$slambda, 'HolidayCalendarDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$257, '$insertAsyncCOROUTINE$257', classMeta, CoroutineImpl);
  setMetadataFor(HolidayCalendarDao_Repo, 'HolidayCalendarDao_Repo', classMeta, HolidayCalendarDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayDao, 'HolidayDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$259, '$insertAsyncCOROUTINE$259', classMeta, CoroutineImpl);
  setMetadataFor(HolidayDao_DoorWrapper, 'HolidayDao_DoorWrapper', classMeta, HolidayDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayDao_JdbcImpl$_insertAdapterHoliday_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$261, '$insertAsyncCOROUTINE$261', classMeta, CoroutineImpl);
  setMetadataFor(HolidayDao_JdbcImpl, 'HolidayDao_JdbcImpl', classMeta, HolidayDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayDao_Repo$insertAsync$slambda, 'HolidayDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$263, '$insertAsyncCOROUTINE$263', classMeta, CoroutineImpl);
  setMetadataFor(HolidayDao_Repo, 'HolidayDao_Repo', classMeta, HolidayDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LanguageDao, 'LanguageDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor($insertAsyncCOROUTINE$265, '$insertAsyncCOROUTINE$265', classMeta, CoroutineImpl);
  setMetadataFor(LanguageDao_DoorWrapper, 'LanguageDao_DoorWrapper', classMeta, LanguageDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(LanguageDao_JdbcImpl$_insertAdapterLanguage_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LanguageDao_JdbcImpl$_insertAdapterLanguage_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$266, '$insertAsyncCOROUTINE$266', classMeta, CoroutineImpl);
  setMetadataFor(LanguageDao_JdbcImpl, 'LanguageDao_JdbcImpl', classMeta, LanguageDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(LanguageDao_Repo$insertAsync$slambda, 'LanguageDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$272, '$insertAsyncCOROUTINE$272', classMeta, CoroutineImpl);
  setMetadataFor(LanguageDao_Repo, 'LanguageDao_Repo', classMeta, LanguageDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(LanguageVariantDao, 'LanguageVariantDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$273, '$insertAsyncCOROUTINE$273', classMeta, CoroutineImpl);
  setMetadataFor(LanguageVariantDao_DoorWrapper, 'LanguageVariantDao_DoorWrapper', classMeta, LanguageVariantDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LanguageVariantDao_JdbcImpl$_insertAdapterLanguageVariant_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$274, '$insertAsyncCOROUTINE$274', classMeta, CoroutineImpl);
  setMetadataFor(LanguageVariantDao_JdbcImpl, 'LanguageVariantDao_JdbcImpl', classMeta, LanguageVariantDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LanguageVariantDao_Repo$insertAsync$slambda, 'LanguageVariantDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$275, '$insertAsyncCOROUTINE$275', classMeta, CoroutineImpl);
  setMetadataFor(LanguageVariantDao_Repo, 'LanguageVariantDao_Repo', classMeta, LanguageVariantDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LeavingReasonDao, 'LeavingReasonDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor($insertAsyncCOROUTINE$277, '$insertAsyncCOROUTINE$277', classMeta, CoroutineImpl);
  setMetadataFor(LeavingReasonDao_DoorWrapper, 'LeavingReasonDao_DoorWrapper', classMeta, LeavingReasonDao, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(LeavingReasonDao_JdbcImpl$findByUidAsync$slambda, 'LeavingReasonDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$278, '$insertAsyncCOROUTINE$278', classMeta, CoroutineImpl);
  setMetadataFor(LeavingReasonDao_JdbcImpl, 'LeavingReasonDao_JdbcImpl', classMeta, LeavingReasonDao, VOID, VOID, VOID, VOID, [1, 0]);
  setMetadataFor(LeavingReasonDao_Repo$insertAsync$slambda, 'LeavingReasonDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByUidAsyncCOROUTINE$281, '$findByUidAsyncCOROUTINE$281', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$285, '$insertAsyncCOROUTINE$285', classMeta, CoroutineImpl);
  setMetadataFor(LeavingReasonDao_Repo, 'LeavingReasonDao_Repo', classMeta, LeavingReasonDao, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(MessageDao, 'MessageDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertCOROUTINE$286, '$insertCOROUTINE$286', classMeta, CoroutineImpl);
  setMetadataFor(MessageDao_DoorWrapper, 'MessageDao_DoorWrapper', classMeta, MessageDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda, 'MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda, 'MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda, 'MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda, 'MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_JdbcImpl$_insertAdapterMessage_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(MessageDao_JdbcImpl, 'MessageDao_JdbcImpl', classMeta, MessageDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda, 'MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_Repo$conversationsForUserAsPagingSource$slambda, 'MessageDao_Repo$conversationsForUserAsPagingSource$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(MessageDao_Repo$insert$slambda, 'MessageDao_Repo$insert$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(MessageDao_Repo, 'MessageDao_Repo', classMeta, MessageDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(OfflineItemDao, 'OfflineItemDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(OfflineItemDao_DoorWrapper, 'OfflineItemDao_DoorWrapper', classMeta, OfflineItemDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda, 'OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(OfflineItemDao_JdbcImpl$_insertAdapterOfflineItem_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda, 'OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(OfflineItemDao_JdbcImpl, 'OfflineItemDao_JdbcImpl', classMeta, OfflineItemDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(OfflineItemDao_Repo, 'OfflineItemDao_Repo', classMeta, OfflineItemDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(OutgoingReplicationDao, 'OutgoingReplicationDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 0]);
  setMetadataFor(OutgoingReplicationDao_JdbcImpl$_insertAdapterOutgoingReplication_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(OutgoingReplicationDao_JdbcImpl, 'OutgoingReplicationDao_JdbcImpl', classMeta, OutgoingReplicationDao, VOID, VOID, VOID, VOID, [1, 0]);
  setMetadataFor(PeerReviewerAllocationDao, 'PeerReviewerAllocationDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor($upsertListCOROUTINE$292, '$upsertListCOROUTINE$292', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$293, '$insertAsyncCOROUTINE$293', classMeta, CoroutineImpl);
  setMetadataFor(PeerReviewerAllocationDao_DoorWrapper, 'PeerReviewerAllocationDao_DoorWrapper', classMeta, PeerReviewerAllocationDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda, 'PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda, 'PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$294, '$insertAsyncCOROUTINE$294', classMeta, CoroutineImpl);
  setMetadataFor($updateActiveByUidCOROUTINE$295, '$updateActiveByUidCOROUTINE$295', classMeta, CoroutineImpl);
  setMetadataFor(PeerReviewerAllocationDao_JdbcImpl, 'PeerReviewerAllocationDao_JdbcImpl', classMeta, PeerReviewerAllocationDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda, 'PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PeerReviewerAllocationDao_Repo$upsertList$slambda, 'PeerReviewerAllocationDao_Repo$upsertList$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PeerReviewerAllocationDao_Repo$insertAsync$slambda, 'PeerReviewerAllocationDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($getAllPeerReviewerAllocationsByClazzUidCOROUTINE$297, '$getAllPeerReviewerAllocationsByClazzUidCOROUTINE$297', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$298, '$insertAsyncCOROUTINE$298', classMeta, CoroutineImpl);
  setMetadataFor(PeerReviewerAllocationDao_Repo, 'PeerReviewerAllocationDao_Repo', classMeta, PeerReviewerAllocationDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PersonAuth2Dao, 'PersonAuth2Dao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonAuth2Dao_DoorWrapper, 'PersonAuth2Dao_DoorWrapper', classMeta, PersonAuth2Dao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$299, '$insertAsyncCOROUTINE$299', classMeta, CoroutineImpl);
  setMetadataFor(PersonAuth2Dao_JdbcImpl, 'PersonAuth2Dao_JdbcImpl', classMeta, PersonAuth2Dao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonAuth2Dao_Repo$insertAsync$slambda, 'PersonAuth2Dao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$300, '$insertAsyncCOROUTINE$300', classMeta, CoroutineImpl);
  setMetadataFor(PersonAuth2Dao_Repo, 'PersonAuth2Dao_Repo', classMeta, PersonAuth2Dao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonAuthDao, 'PersonAuthDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonAuthDao_JdbcImpl$_insertAdapterPersonAuth_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$303, '$insertAsyncCOROUTINE$303', classMeta, CoroutineImpl);
  setMetadataFor(PersonAuthDao_JdbcImpl, 'PersonAuthDao_JdbcImpl', classMeta, PersonAuthDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonDao, 'PersonDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor($insertAsyncCOROUTINE$309, '$insertAsyncCOROUTINE$309', classMeta, CoroutineImpl);
  setMetadataFor(PersonDao_DoorWrapper, 'PersonDao_DoorWrapper', classMeta, PersonDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda, 'PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda, 'PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda, 'PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda, 'PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$getNamesByUid$slambda$slambda, 'PersonDao_JdbcImpl$getNamesByUid$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$_insertAdapterPerson_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$_insertAdapterPerson_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$_insertAdapterPersonAuth_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$_insertAdapterPersonGroup_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$updateAsync$slambda, 'PersonDao_JdbcImpl$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$countUsername$slambda, 'PersonDao_JdbcImpl$countUsername$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$findByUidWithPicture$slambda, 'PersonDao_JdbcImpl$findByUidWithPicture$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda, 'PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_JdbcImpl$findByUidAsync$slambda, 'PersonDao_JdbcImpl$findByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$1, VOID, classMeta, DoorLimitOffsetPagingSource, VOID, VOID, VOID, VOID, [2, 0, 1]);
  setMetadataFor(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda, 'PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_JdbcImpl$getNamesByUid$slambda, 'PersonDao_JdbcImpl$getNamesByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_JdbcImpl$getNamesByUidAsync$slambda, 'PersonDao_JdbcImpl$getNamesByUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_JdbcImpl$updateUsername$slambda, 'PersonDao_JdbcImpl$updateUsername$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$312, '$insertAsyncCOROUTINE$312', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$313, '$updateAsyncCOROUTINE$313', classMeta, CoroutineImpl);
  setMetadataFor(PersonDao_JdbcImpl, 'PersonDao_JdbcImpl', classMeta, PersonDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PersonDao_Repo$updateAsync$slambda, 'PersonDao_Repo$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda, 'PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda, 'PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_Repo$getNamesByUid$slambda, 'PersonDao_Repo$getNamesByUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_Repo$updateUsername$slambda, 'PersonDao_Repo$updateUsername$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonDao_Repo$insertAsync$slambda, 'PersonDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($countUsernameCOROUTINE$314, '$countUsernameCOROUTINE$314', classMeta, CoroutineImpl);
  setMetadataFor($findByUidWithPictureCOROUTINE$319, '$findByUidWithPictureCOROUTINE$319', classMeta, CoroutineImpl);
  setMetadataFor($findByUidAsyncCOROUTINE$320, '$findByUidAsyncCOROUTINE$320', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$321, '$updateAsyncCOROUTINE$321', classMeta, CoroutineImpl);
  setMetadataFor($getNamesByUidAsyncCOROUTINE$324, '$getNamesByUidAsyncCOROUTINE$324', classMeta, CoroutineImpl);
  setMetadataFor($updateUsernameCOROUTINE$325, '$updateUsernameCOROUTINE$325', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$327, '$insertAsyncCOROUTINE$327', classMeta, CoroutineImpl);
  setMetadataFor(PersonDao_Repo, 'PersonDao_Repo', classMeta, PersonDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PersonGroupDao, 'PersonGroupDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$328, '$insertAsyncCOROUTINE$328', classMeta, CoroutineImpl);
  setMetadataFor(PersonGroupDao_DoorWrapper, 'PersonGroupDao_DoorWrapper', classMeta, PersonGroupDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonGroupDao_JdbcImpl$_insertAdapterPersonGroup_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$329, '$insertAsyncCOROUTINE$329', classMeta, CoroutineImpl);
  setMetadataFor(PersonGroupDao_JdbcImpl, 'PersonGroupDao_JdbcImpl', classMeta, PersonGroupDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonGroupDao_Repo$insertAsync$slambda, 'PersonGroupDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$334, '$insertAsyncCOROUTINE$334', classMeta, CoroutineImpl);
  setMetadataFor(PersonGroupDao_Repo, 'PersonGroupDao_Repo', classMeta, PersonGroupDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonGroupMemberDao, 'PersonGroupMemberDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor($insertAsyncCOROUTINE$335, '$insertAsyncCOROUTINE$335', classMeta, CoroutineImpl);
  setMetadataFor(PersonGroupMemberDao_DoorWrapper, 'PersonGroupMemberDao_DoorWrapper', classMeta, PersonGroupMemberDao, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(PersonGroupMemberDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$336, '$insertAsyncCOROUTINE$336', classMeta, CoroutineImpl);
  setMetadataFor(PersonGroupMemberDao_JdbcImpl, 'PersonGroupMemberDao_JdbcImpl', classMeta, PersonGroupMemberDao, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(PersonGroupMemberDao_Repo$insertAsync$slambda, 'PersonGroupMemberDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$342, '$insertAsyncCOROUTINE$342', classMeta, CoroutineImpl);
  setMetadataFor(PersonGroupMemberDao_Repo, 'PersonGroupMemberDao_Repo', classMeta, PersonGroupMemberDao, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(PersonParentJoinDao, 'PersonParentJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor($upsertAsyncCOROUTINE$343, '$upsertAsyncCOROUTINE$343', classMeta, CoroutineImpl);
  setMetadataFor(PersonParentJoinDao_DoorWrapper, 'PersonParentJoinDao_DoorWrapper', classMeta, PersonParentJoinDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonParentJoinDao_JdbcImpl$_insertAdapterPersonParentJoin_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonParentJoinDao_JdbcImpl$updateAsync$slambda, 'PersonParentJoinDao_JdbcImpl$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda, 'PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda, 'PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($upsertAsyncCOROUTINE$344, '$upsertAsyncCOROUTINE$344', classMeta, CoroutineImpl);
  setMetadataFor($updateAsyncCOROUTINE$345, '$updateAsyncCOROUTINE$345', classMeta, CoroutineImpl);
  setMetadataFor(PersonParentJoinDao_JdbcImpl, 'PersonParentJoinDao_JdbcImpl', classMeta, PersonParentJoinDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonParentJoinDao_Repo$upsertAsync$slambda, 'PersonParentJoinDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonParentJoinDao_Repo$updateAsync$slambda, 'PersonParentJoinDao_Repo$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($upsertAsyncCOROUTINE$346, '$upsertAsyncCOROUTINE$346', classMeta, CoroutineImpl);
  setMetadataFor($findByUidWithMinorAsyncCOROUTINE$347, '$findByUidWithMinorAsyncCOROUTINE$347', classMeta, CoroutineImpl);
  setMetadataFor($isMinorApprovedCOROUTINE$352, '$isMinorApprovedCOROUTINE$352', classMeta, CoroutineImpl);
  setMetadataFor(PersonParentJoinDao_Repo, 'PersonParentJoinDao_Repo', classMeta, PersonParentJoinDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonPictureDao, 'PersonPictureDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor($upsertCOROUTINE$353, '$upsertCOROUTINE$353', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$354, '$insertAsyncCOROUTINE$354', classMeta, CoroutineImpl);
  setMetadataFor(PersonPictureDao_DoorWrapper, 'PersonPictureDao_DoorWrapper', classMeta, PersonPictureDao, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda, 'PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonPictureDao_JdbcImpl$updateUri$slambda, 'PersonPictureDao_JdbcImpl$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda, 'PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$355, '$insertAsyncCOROUTINE$355', classMeta, CoroutineImpl);
  setMetadataFor($updateUriCOROUTINE$358, '$updateUriCOROUTINE$358', classMeta, CoroutineImpl);
  setMetadataFor($updateTransferJobItemEtagCOROUTINE$359, '$updateTransferJobItemEtagCOROUTINE$359', classMeta, CoroutineImpl);
  setMetadataFor(PersonPictureDao_JdbcImpl, 'PersonPictureDao_JdbcImpl', classMeta, PersonPictureDao, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(PersonPictureDao_Repo$upsert$slambda, 'PersonPictureDao_Repo$upsert$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonPictureDao_Repo$updateUri$slambda, 'PersonPictureDao_Repo$updateUri$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonPictureDao_Repo$updateTransferJobItemEtag$slambda, 'PersonPictureDao_Repo$updateTransferJobItemEtag$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(PersonPictureDao_Repo$insertAsync$slambda, 'PersonPictureDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByPersonUidAsyncCOROUTINE$360, '$findByPersonUidAsyncCOROUTINE$360', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$361, '$insertAsyncCOROUTINE$361', classMeta, CoroutineImpl);
  setMetadataFor(PersonPictureDao_Repo, 'PersonPictureDao_Repo', classMeta, PersonPictureDao, VOID, VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(ReportDao, 'ReportDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor($insertAsyncCOROUTINE$362, '$insertAsyncCOROUTINE$362', classMeta, CoroutineImpl);
  setMetadataFor(ReportDao_DoorWrapper, 'ReportDao_DoorWrapper', classMeta, ReportDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ReportDao_JdbcImpl$_insertAdapterReport_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ReportDao_JdbcImpl$_insertAdapterReport_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$363, '$insertAsyncCOROUTINE$363', classMeta, CoroutineImpl);
  setMetadataFor(ReportDao_JdbcImpl, 'ReportDao_JdbcImpl', classMeta, ReportDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ReportDao_Repo$insertAsync$slambda, 'ReportDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$367, '$insertAsyncCOROUTINE$367', classMeta, CoroutineImpl);
  setMetadataFor(ReportDao_Repo, 'ReportDao_Repo', classMeta, ReportDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ScheduleDao, 'ScheduleDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor($upsertListAsyncCOROUTINE$368, '$upsertListAsyncCOROUTINE$368', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$369, '$insertAsyncCOROUTINE$369', classMeta, CoroutineImpl);
  setMetadataFor(ScheduleDao_DoorWrapper, 'ScheduleDao_DoorWrapper', classMeta, ScheduleDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ScheduleDao_JdbcImpl$_insertAdapterSchedule_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ScheduleDao_JdbcImpl$_insertAdapterSchedule_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ScheduleDao_JdbcImpl$updateScheduleActivated$slambda, 'ScheduleDao_JdbcImpl$updateScheduleActivated$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda, 'ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$370, '$insertAsyncCOROUTINE$370', classMeta, CoroutineImpl);
  setMetadataFor($updateScheduleActivatedCOROUTINE$372, '$updateScheduleActivatedCOROUTINE$372', classMeta, CoroutineImpl);
  setMetadataFor(ScheduleDao_JdbcImpl, 'ScheduleDao_JdbcImpl', classMeta, ScheduleDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ScheduleDao_Repo$upsertListAsync$slambda, 'ScheduleDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ScheduleDao_Repo$updateScheduleActivated$slambda, 'ScheduleDao_Repo$updateScheduleActivated$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ScheduleDao_Repo$insertAsync$slambda, 'ScheduleDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findAllSchedulesByClazzUidAsyncCOROUTINE$375, '$findAllSchedulesByClazzUidAsyncCOROUTINE$375', classMeta, CoroutineImpl);
  setMetadataFor($insertAsyncCOROUTINE$376, '$insertAsyncCOROUTINE$376', classMeta, CoroutineImpl);
  setMetadataFor(ScheduleDao_Repo, 'ScheduleDao_Repo', classMeta, ScheduleDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ScopedGrantDao, 'ScopedGrantDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$377, '$insertAsyncCOROUTINE$377', classMeta, CoroutineImpl);
  setMetadataFor(ScopedGrantDao_DoorWrapper, 'ScopedGrantDao_DoorWrapper', classMeta, ScopedGrantDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ScopedGrantDao_JdbcImpl$_insertAdapterScopedGrant_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertAsyncCOROUTINE$379, '$insertAsyncCOROUTINE$379', classMeta, CoroutineImpl);
  setMetadataFor(ScopedGrantDao_JdbcImpl, 'ScopedGrantDao_JdbcImpl', classMeta, ScopedGrantDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ScopedGrantDao_Repo$insertAsync$slambda, 'ScopedGrantDao_Repo$insertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertAsyncCOROUTINE$380, '$insertAsyncCOROUTINE$380', classMeta, CoroutineImpl);
  setMetadataFor(ScopedGrantDao_Repo, 'ScopedGrantDao_Repo', classMeta, ScopedGrantDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao, 'SiteDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(SiteDao_DoorWrapper, 'SiteDao_DoorWrapper', classMeta, SiteDao, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda, 'SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao_JdbcImpl$_insertAdapterSite_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao_JdbcImpl$_insertAdapterSite_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao_JdbcImpl$updateAsync$slambda, 'SiteDao_JdbcImpl$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao_JdbcImpl$getSiteAsync$slambda, 'SiteDao_JdbcImpl$getSiteAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao_JdbcImpl$getSiteAsFlow$slambda, 'SiteDao_JdbcImpl$getSiteAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($updateAsyncCOROUTINE$383, '$updateAsyncCOROUTINE$383', classMeta, CoroutineImpl);
  setMetadataFor(SiteDao_JdbcImpl, 'SiteDao_JdbcImpl', classMeta, SiteDao, VOID, VOID, VOID, VOID, [1, 0]);
  setMetadataFor(SiteDao_Repo$getSiteAsFlow$slambda, 'SiteDao_Repo$getSiteAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SiteDao_Repo$updateAsync$slambda, 'SiteDao_Repo$updateAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($getSiteAsyncCOROUTINE$384, '$getSiteAsyncCOROUTINE$384', classMeta, CoroutineImpl);
  setMetadataFor(SiteDao_Repo, 'SiteDao_Repo', classMeta, SiteDao, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(SiteTermsDao, 'SiteTermsDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor($upsertListCOROUTINE$388, '$upsertListCOROUTINE$388', classMeta, CoroutineImpl);
  setMetadataFor(SiteTermsDao_DoorWrapper, 'SiteTermsDao_DoorWrapper', classMeta, SiteTermsDao, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda, 'SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda, 'SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SiteTermsDao_JdbcImpl$findAllTerms$slambda, 'SiteTermsDao_JdbcImpl$findAllTerms$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda, 'SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda, 'SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteTermsDao_JdbcImpl, 'SiteTermsDao_JdbcImpl', classMeta, SiteTermsDao, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(SiteTermsDao_Repo$findAllTermsAsListFlow$slambda, 'SiteTermsDao_Repo$findAllTermsAsListFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SiteTermsDao_Repo$upsertList$slambda, 'SiteTermsDao_Repo$upsertList$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findAllTermsCOROUTINE$395, '$findAllTermsCOROUTINE$395', classMeta, CoroutineImpl);
  setMetadataFor($findAvailableSiteTermLanguagesCOROUTINE$397, '$findAvailableSiteTermLanguagesCOROUTINE$397', classMeta, CoroutineImpl);
  setMetadataFor($findLatestByLanguageCOROUTINE$398, '$findLatestByLanguageCOROUTINE$398', classMeta, CoroutineImpl);
  setMetadataFor(SiteTermsDao_Repo, 'SiteTermsDao_Repo', classMeta, SiteTermsDao, VOID, VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(StudentResultDao, 'StudentResultDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StudentResultDao_DoorWrapper, 'StudentResultDao_DoorWrapper', classMeta, StudentResultDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StudentResultDao_JdbcImpl, 'StudentResultDao_JdbcImpl', classMeta, StudentResultDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StudentResultDao_Repo, 'StudentResultDao_Repo', classMeta, StudentResultDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(SyncNodeDao, 'SyncNodeDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SyncNodeDao_JdbcImpl$_insertAdapterSyncNode_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SyncNodeDao_JdbcImpl, 'SyncNodeDao_JdbcImpl', classMeta, SyncNodeDao, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao, 'SystemPermissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [2, 1, 3]);
  setMetadataFor($upsertAsyncCOROUTINE$402, '$upsertAsyncCOROUTINE$402', classMeta, CoroutineImpl);
  setMetadataFor(SystemPermissionDao_DoorWrapper, 'SystemPermissionDao_DoorWrapper', classMeta, SystemPermissionDao, VOID, VOID, VOID, VOID, [2, 1, 3]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda, 'SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda, 'SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda, 'SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda, 'SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$_insertAdapterSystemPermission_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda, 'SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$findByPersonUid$slambda, 'SystemPermissionDao_JdbcImpl$findByPersonUid$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda, 'SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda, 'SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda, 'SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda, 'SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda, 'SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_JdbcImpl, 'SystemPermissionDao_JdbcImpl', classMeta, SystemPermissionDao, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda, 'SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda, 'SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda, 'SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda, 'SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao_Repo$upsertAsync$slambda, 'SystemPermissionDao_Repo$upsertAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findByPersonUidCOROUTINE$405, '$findByPersonUidCOROUTINE$405', classMeta, CoroutineImpl);
  setMetadataFor($personHasSystemPermissionCOROUTINE$406, '$personHasSystemPermissionCOROUTINE$406', classMeta, CoroutineImpl);
  setMetadataFor($personHasSystemPermissionPairCOROUTINE$407, '$personHasSystemPermissionPairCOROUTINE$407', classMeta, CoroutineImpl);
  setMetadataFor(SystemPermissionDao_Repo, 'SystemPermissionDao_Repo', classMeta, SystemPermissionDao, VOID, VOID, VOID, VOID, [2, 1, 3]);
  setMetadataFor(TransferJobDao, 'TransferJobDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda, 'TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobDao_JdbcImpl$_insertAdapterTransferJob_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda, 'TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda, 'TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertCOROUTINE$408, '$insertCOROUTINE$408', classMeta, CoroutineImpl);
  setMetadataFor(TransferJobDao_JdbcImpl, 'TransferJobDao_JdbcImpl', classMeta, TransferJobDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobErrorDao, 'TransferJobErrorDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobErrorDao_JdbcImpl$_insertAdapterTransferJobError_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobErrorDao_JdbcImpl, 'TransferJobErrorDao_JdbcImpl', classMeta, TransferJobErrorDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobItemDao, 'TransferJobItemDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobItemDao_JdbcImpl$_insertAdapterTransferJobItem_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda, 'TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobItemDao_JdbcImpl$updateStatus$slambda, 'TransferJobItemDao_JdbcImpl$updateStatus$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda, 'TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda, 'TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertCOROUTINE$411, '$insertCOROUTINE$411', classMeta, CoroutineImpl);
  setMetadataFor($updateTransferredProgressCOROUTINE$412, '$updateTransferredProgressCOROUTINE$412', classMeta, CoroutineImpl);
  setMetadataFor($updateStatusCOROUTINE$413, '$updateStatusCOROUTINE$413', classMeta, CoroutineImpl);
  setMetadataFor($insertOutgoingReplicationForTransferJobItemIfDoneCOROUTINE$414, '$insertOutgoingReplicationForTransferJobItemIfDoneCOROUTINE$414', classMeta, CoroutineImpl);
  setMetadataFor($updateStatusIfNotCompleteForAllInJobCOROUTINE$415, '$updateStatusIfNotCompleteForAllInJobCOROUTINE$415', classMeta, CoroutineImpl);
  setMetadataFor(TransferJobItemDao_JdbcImpl, 'TransferJobItemDao_JdbcImpl', classMeta, TransferJobItemDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(UserSessionDao, 'UserSessionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 0, 4, 5, 2]);
  setMetadataFor($insertSessionCOROUTINE$416, '$insertSessionCOROUTINE$416', classMeta, CoroutineImpl);
  setMetadataFor(UserSessionDao_DoorWrapper, 'UserSessionDao_DoorWrapper', classMeta, UserSessionDao, VOID, VOID, VOID, VOID, [1, 0, 4, 5, 2]);
  setMetadataFor(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda, 'UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(UserSessionDao_JdbcImpl$_insertAdapterUserSession_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda, 'UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda, 'UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda, 'UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(UserSessionDao_JdbcImpl$endSession$slambda, 'UserSessionDao_JdbcImpl$endSession$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($insertSessionCOROUTINE$417, '$insertSessionCOROUTINE$417', classMeta, CoroutineImpl);
  setMetadataFor($endSessionCOROUTINE$418, '$endSessionCOROUTINE$418', classMeta, CoroutineImpl);
  setMetadataFor(UserSessionDao_JdbcImpl, 'UserSessionDao_JdbcImpl', classMeta, UserSessionDao, VOID, VOID, VOID, VOID, [1, 0, 4, 5, 2]);
  setMetadataFor(UserSessionDao_Repo$insertSession$slambda, 'UserSessionDao_Repo$insertSession$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(UserSessionDao_Repo$endSession$slambda, 'UserSessionDao_Repo$endSession$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($insertSessionCOROUTINE$420, '$insertSessionCOROUTINE$420', classMeta, CoroutineImpl);
  setMetadataFor($findAllLocalSessionsAsyncCOROUTINE$422, '$findAllLocalSessionsAsyncCOROUTINE$422', classMeta, CoroutineImpl);
  setMetadataFor($countAllLocalSessionsAsyncCOROUTINE$424, '$countAllLocalSessionsAsyncCOROUTINE$424', classMeta, CoroutineImpl);
  setMetadataFor(UserSessionDao_Repo, 'UserSessionDao_Repo', classMeta, UserSessionDao, VOID, VOID, VOID, VOID, [1, 0, 4, 5, 2]);
  setMetadataFor(ActivityEntityDao, 'ActivityEntityDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(ActivityEntityDao_DoorWrapper, 'ActivityEntityDao_DoorWrapper', classMeta, ActivityEntityDao, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(ActivityEntityDao_JdbcImpl$_insertAdapterActivityEntity_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda, 'ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda, 'ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateIfMoreInfoChangedCOROUTINE$428, '$updateIfMoreInfoChangedCOROUTINE$428', classMeta, CoroutineImpl);
  setMetadataFor($updateIfNotYetDefinedCOROUTINE$429, '$updateIfNotYetDefinedCOROUTINE$429', classMeta, CoroutineImpl);
  setMetadataFor(ActivityEntityDao_JdbcImpl, 'ActivityEntityDao_JdbcImpl', classMeta, ActivityEntityDao, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda, 'ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda, 'ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActivityEntityDao_Repo$updateIfNotYetDefined$slambda, 'ActivityEntityDao_Repo$updateIfNotYetDefined$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActivityEntityDao_Repo, 'ActivityEntityDao_Repo', classMeta, ActivityEntityDao, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(ActivityExtensionDao, 'ActivityExtensionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityExtensionDao_DoorWrapper, 'ActivityExtensionDao_DoorWrapper', classMeta, ActivityExtensionDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityExtensionDao_JdbcImpl$_insertAdapterActivityExtensionEntity_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityExtensionDao_JdbcImpl, 'ActivityExtensionDao_JdbcImpl', classMeta, ActivityExtensionDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityExtensionDao_Repo$upsertListAsync$slambda, 'ActivityExtensionDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActivityExtensionDao_Repo, 'ActivityExtensionDao_Repo', classMeta, ActivityExtensionDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao, 'ActivityInteractionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao_DoorWrapper, 'ActivityInteractionDao_DoorWrapper', classMeta, ActivityInteractionDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao_JdbcImpl$_insertAdapterActivityInteractionEntity_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda, 'ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao_JdbcImpl, 'ActivityInteractionDao_JdbcImpl', classMeta, ActivityInteractionDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda, 'ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findActivityUidsWithInteractionEntitiesAsyncCOROUTINE$432, '$findActivityUidsWithInteractionEntitiesAsyncCOROUTINE$432', classMeta, CoroutineImpl);
  setMetadataFor(ActivityInteractionDao_Repo, 'ActivityInteractionDao_Repo', classMeta, ActivityInteractionDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityLangMapEntryDao, 'ActivityLangMapEntryDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 6, 4]);
  setMetadataFor(ActivityLangMapEntryDao_DoorWrapper, 'ActivityLangMapEntryDao_DoorWrapper', classMeta, ActivityLangMapEntryDao, VOID, VOID, VOID, VOID, [1, 6, 4]);
  setMetadataFor(ActivityLangMapEntryDao_JdbcImpl$_insertAdapterActivityLangMapEntry_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda, 'ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda, 'ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($upsertIfInteractionEntityExistsCOROUTINE$434, '$upsertIfInteractionEntityExistsCOROUTINE$434', classMeta, CoroutineImpl);
  setMetadataFor($updateIfChangedCOROUTINE$435, '$updateIfChangedCOROUTINE$435', classMeta, CoroutineImpl);
  setMetadataFor(ActivityLangMapEntryDao_JdbcImpl, 'ActivityLangMapEntryDao_JdbcImpl', classMeta, ActivityLangMapEntryDao, VOID, VOID, VOID, VOID, [1, 6, 4]);
  setMetadataFor(ActivityLangMapEntryDao_Repo$upsertList$slambda, 'ActivityLangMapEntryDao_Repo$upsertList$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActivityLangMapEntryDao_Repo$updateIfChanged$slambda, 'ActivityLangMapEntryDao_Repo$updateIfChanged$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActivityLangMapEntryDao_Repo, 'ActivityLangMapEntryDao_Repo', classMeta, ActivityLangMapEntryDao, VOID, VOID, VOID, VOID, [1, 6, 4]);
  setMetadataFor(ActorDao, 'ActorDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor($insertOrIgnoreListAsyncCOROUTINE$437, '$insertOrIgnoreListAsyncCOROUTINE$437', classMeta, CoroutineImpl);
  setMetadataFor($upsertListAsyncCOROUTINE$438, '$upsertListAsyncCOROUTINE$438', classMeta, CoroutineImpl);
  setMetadataFor(ActorDao_DoorWrapper, 'ActorDao_DoorWrapper', classMeta, ActorDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ActorDao_JdbcImpl$_insertAdapterActorEntity_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActorDao_JdbcImpl$_insertAdapterActorEntity_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActorDao_JdbcImpl$updateIfNameChanged$slambda, 'ActorDao_JdbcImpl$updateIfNameChanged$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda, 'ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateIfNameChangedCOROUTINE$439, '$updateIfNameChangedCOROUTINE$439', classMeta, CoroutineImpl);
  setMetadataFor(ActorDao_JdbcImpl, 'ActorDao_JdbcImpl', classMeta, ActorDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ActorDao_Repo$insertOrIgnoreListAsync$slambda, 'ActorDao_Repo$insertOrIgnoreListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActorDao_Repo$upsertListAsync$slambda, 'ActorDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(ActorDao_Repo$updateIfNameChanged$slambda, 'ActorDao_Repo$updateIfNameChanged$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findUidAndEtagByListAsyncCOROUTINE$442, '$findUidAndEtagByListAsyncCOROUTINE$442', classMeta, CoroutineImpl);
  setMetadataFor(ActorDao_Repo, 'ActorDao_Repo', classMeta, ActorDao, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(GroupMemberActorJoinDao, 'GroupMemberActorJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(GroupMemberActorJoinDao_DoorWrapper, 'GroupMemberActorJoinDao_DoorWrapper', classMeta, GroupMemberActorJoinDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda, 'GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateLastModifiedTimeIfNeededAsyncCOROUTINE$444, '$updateLastModifiedTimeIfNeededAsyncCOROUTINE$444', classMeta, CoroutineImpl);
  setMetadataFor(GroupMemberActorJoinDao_JdbcImpl, 'GroupMemberActorJoinDao_JdbcImpl', classMeta, GroupMemberActorJoinDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda, 'GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(GroupMemberActorJoinDao_Repo$upsertListAsync$slambda, 'GroupMemberActorJoinDao_Repo$upsertListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda, 'GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(GroupMemberActorJoinDao_Repo, 'GroupMemberActorJoinDao_Repo', classMeta, GroupMemberActorJoinDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StateDeleteCommandDao, 'StateDeleteCommandDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateDeleteCommandDao_DoorWrapper, 'StateDeleteCommandDao_DoorWrapper', classMeta, StateDeleteCommandDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateDeleteCommandDao_JdbcImpl$_insertAdapterStateDeleteCommand_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateDeleteCommandDao_JdbcImpl, 'StateDeleteCommandDao_JdbcImpl', classMeta, StateDeleteCommandDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateDeleteCommandDao_Repo, 'StateDeleteCommandDao_Repo', classMeta, StateDeleteCommandDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateEntityDao, 'StateEntityDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 4, 6, 5]);
  setMetadataFor(StateEntityDao_DoorWrapper, 'StateEntityDao_DoorWrapper', classMeta, StateEntityDao, VOID, VOID, VOID, VOID, [1, 4, 6, 5]);
  setMetadataFor(StateEntityDao_JdbcImpl$_insertAdapterStateEntity_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateEntityDao_JdbcImpl, 'StateEntityDao_JdbcImpl', classMeta, StateEntityDao, VOID, VOID, VOID, VOID, [1, 4, 6, 5]);
  setMetadataFor(StateEntityDao_Repo, 'StateEntityDao_Repo', classMeta, StateEntityDao, VOID, VOID, VOID, VOID, [1, 4, 6, 5]);
  setMetadataFor(StatementContextActivityJoinDao, 'StatementContextActivityJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StatementContextActivityJoinDao_DoorWrapper, 'StatementContextActivityJoinDao_DoorWrapper', classMeta, StatementContextActivityJoinDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StatementContextActivityJoinDao_JdbcImpl$_insertAdapterStatementContextActivityJoin_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StatementContextActivityJoinDao_JdbcImpl, 'StatementContextActivityJoinDao_JdbcImpl', classMeta, StatementContextActivityJoinDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda, 'StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(StatementContextActivityJoinDao_Repo, 'StatementContextActivityJoinDao_Repo', classMeta, StatementContextActivityJoinDao, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StatementDao, 'StatementDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3, 10]);
  setMetadataFor(StatementDao_DoorWrapper, 'StatementDao_DoorWrapper', classMeta, StatementDao, VOID, VOID, VOID, VOID, [1, 2, 3, 10]);
  setMetadataFor(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda, 'StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StatementDao_JdbcImpl$_insertAdapterStatementEntity_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda, 'StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda, 'StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(StatementDao_JdbcImpl, 'StatementDao_JdbcImpl', classMeta, StatementDao, VOID, VOID, VOID, VOID, [1, 2, 3, 10]);
  setMetadataFor(StatementDao_Repo$insertOrIgnoreListAsync$slambda, 'StatementDao_Repo$insertOrIgnoreListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda, 'StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor($findStatusForStudentsInClazzCOROUTINE$459, '$findStatusForStudentsInClazzCOROUTINE$459', classMeta, CoroutineImpl);
  setMetadataFor(StatementDao_Repo, 'StatementDao_Repo', classMeta, StatementDao, VOID, VOID, VOID, VOID, [1, 2, 3, 10]);
  setMetadataFor(StatementEntityJsonDao, 'StatementEntityJsonDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(StatementEntityJsonDao_DoorWrapper, 'StatementEntityJsonDao_DoorWrapper', classMeta, StatementEntityJsonDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(StatementEntityJsonDao_JdbcImpl$_insertAdapterStatementEntityJson_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StatementEntityJsonDao_JdbcImpl, 'StatementEntityJsonDao_JdbcImpl', classMeta, StatementEntityJsonDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda, 'StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(StatementEntityJsonDao_Repo, 'StatementEntityJsonDao_Repo', classMeta, StatementEntityJsonDao, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(VerbDao, 'VerbDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbDao_DoorWrapper, 'VerbDao_DoorWrapper', classMeta, VerbDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbDao_JdbcImpl$_insertAdapterVerbEntity_ignore$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbDao_JdbcImpl, 'VerbDao_JdbcImpl', classMeta, VerbDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbDao_Repo$insertOrIgnoreAsync$slambda, 'VerbDao_Repo$insertOrIgnoreAsync$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(VerbDao_Repo, 'VerbDao_Repo', classMeta, VerbDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbLangMapEntryDao, 'VerbLangMapEntryDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbLangMapEntryDao_DoorWrapper, 'VerbLangMapEntryDao_DoorWrapper', classMeta, VerbLangMapEntryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbLangMapEntryDao_JdbcImpl$_insertAdapterVerbLangMapEntry_upsert$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbLangMapEntryDao_JdbcImpl, 'VerbLangMapEntryDao_JdbcImpl', classMeta, VerbLangMapEntryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbLangMapEntryDao_Repo$upsertList$slambda, 'VerbLangMapEntryDao_Repo$upsertList$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(VerbLangMapEntryDao_Repo, 'VerbLangMapEntryDao_Repo', classMeta, VerbLangMapEntryDao, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(XapiSessionEntityDao, 'XapiSessionEntityDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(XapiSessionEntityDao_DoorWrapper, 'XapiSessionEntityDao_DoorWrapper', classMeta, XapiSessionEntityDao, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(XapiSessionEntityDao_JdbcImpl$_insertAdapterXapiSessionEntity_abort$1, VOID, classMeta, EntityInsertionAdapter, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda, 'XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor($updateLatestAsCompleteCOROUTINE$465, '$updateLatestAsCompleteCOROUTINE$465', classMeta, CoroutineImpl);
  setMetadataFor(XapiSessionEntityDao_JdbcImpl, 'XapiSessionEntityDao_JdbcImpl', classMeta, XapiSessionEntityDao, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda, 'XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(XapiSessionEntityDao_Repo, 'XapiSessionEntityDao_Repo', classMeta, XapiSessionEntityDao, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(PermissionFlags, 'PermissionFlags', objectMeta);
  setMetadataFor(ClazzAssignmentDaoCommon, 'ClazzAssignmentDaoCommon', objectMeta);
  setMetadataFor(ClazzDaoCommon, 'ClazzDaoCommon', objectMeta);
  setMetadataFor(ClazzEnrolmentDaoCommon, 'ClazzEnrolmentDaoCommon', objectMeta);
  setMetadataFor(ContentEntryDaoCommon, 'ContentEntryDaoCommon', objectMeta);
  setMetadataFor(CourseAssignmentMarkDaoCommon, 'CourseAssignmentMarkDaoCommon', objectMeta);
  setMetadataFor($deactivateByUidsCOROUTINE$468, '$deactivateByUidsCOROUTINE$468', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupSetDaoConstants, 'CourseGroupSetDaoConstants', objectMeta);
  setMetadataFor(LanguageDaoCommon, 'LanguageDaoCommon', objectMeta);
  setMetadataFor($deactivateByUidsCOROUTINE$469, '$deactivateByUidsCOROUTINE$469', classMeta, CoroutineImpl);
  setMetadataFor(PersonDaoCommon, 'PersonDaoCommon', objectMeta);
  setMetadataFor($deactivateByUidsCOROUTINE$470, '$deactivateByUidsCOROUTINE$470', classMeta, CoroutineImpl);
  setMetadataFor(ActorUidEtagAndLastMod, 'ActorUidEtagAndLastMod', classMeta, VOID, VOID, ActorUidEtagAndLastMod);
  setMetadataFor(Companion_0, 'Companion', objectMeta);
  setMetadataFor($serializer, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentPermissionAndActiveUserSubmitterUid, 'AssignmentPermissionAndActiveUserSubmitterUid', classMeta, VOID, VOID, AssignmentPermissionAndActiveUserSubmitterUid, VOID, {0: $serializer_getInstance});
  setMetadataFor(Companion_1, 'Companion', objectMeta);
  setMetadataFor($serializer_0, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentSubmitterUidAndName, 'AssignmentSubmitterUidAndName', classMeta, VOID, VOID, AssignmentSubmitterUidAndName, VOID, {0: $serializer_getInstance_0});
  setMetadataFor(Companion_2, 'Companion', objectMeta);
  setMetadataFor($serializer_1, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(BlockStatus, 'BlockStatus', classMeta, VOID, VOID, BlockStatus, VOID, {0: $serializer_getInstance_1});
  setMetadataFor(Companion_3, 'Companion', objectMeta);
  setMetadataFor($serializer_2, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAndDetailPermissions, 'ClazzAndDetailPermissions', classMeta, VOID, VOID, ClazzAndDetailPermissions, VOID, {0: $serializer_getInstance_2});
  setMetadataFor(ClazzAndDisplayDetails, 'ClazzAndDisplayDetails', classMeta, VOID, VOID, ClazzAndDisplayDetails);
  setMetadataFor(Companion_4, 'Companion', objectMeta);
  setMetadataFor($serializer_3, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAssignmentAndBlock, 'ClazzAssignmentAndBlock', classMeta, VOID, VOID, ClazzAssignmentAndBlock, VOID, {0: $serializer_getInstance_3});
  setMetadataFor(Companion_5, 'Companion', objectMeta);
  setMetadataFor($serializer_4, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentAndPersonDetailDetails, 'ClazzEnrolmentAndPersonDetailDetails', classMeta, VOID, VOID, ClazzEnrolmentAndPersonDetailDetails, VOID, {0: $serializer_getInstance_4});
  setMetadataFor(Companion_6, 'Companion', objectMeta);
  setMetadataFor($serializer_5, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzNameAndTerminology, 'ClazzNameAndTerminology', classMeta, VOID, VOID, ClazzNameAndTerminology, VOID, {0: $serializer_getInstance_5});
  setMetadataFor(Companion_7, 'Companion', objectMeta);
  setMetadataFor($serializer_6, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CommentsAndName, 'CommentsAndName', classMeta, VOID, VOID, CommentsAndName, VOID, {0: $serializer_getInstance_6});
  setMetadataFor(Companion_8, 'Companion', objectMeta);
  setMetadataFor($serializer_7, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndContentJob, 'ContentEntryAndContentJob', classMeta, VOID, VOID, ContentEntryAndContentJob, VOID, {0: $serializer_getInstance_7});
  setMetadataFor(Companion_9, 'Companion', objectMeta);
  setMetadataFor($serializer_8, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndDetail, 'ContentEntryAndDetail', classMeta, VOID, VOID, ContentEntryAndDetail, VOID, {0: $serializer_getInstance_8});
  setMetadataFor(ContentEntryAndListDetail, 'ContentEntryAndListDetail', classMeta, VOID, VOID, ContentEntryAndListDetail);
  setMetadataFor(Companion_10, 'Companion', objectMeta);
  setMetadataFor($serializer_9, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndPicture, 'ContentEntryAndPicture', classMeta, VOID, VOID, ContentEntryAndPicture, VOID, {0: $serializer_getInstance_9});
  setMetadataFor(Companion_11, 'Companion', objectMeta);
  setMetadataFor($serializer_10, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryImportJobProgress, 'ContentEntryImportJobProgress', classMeta, VOID, VOID, ContentEntryImportJobProgress, VOID, {0: $serializer_getInstance_10});
  setMetadataFor(Companion_12, 'Companion', objectMeta);
  setMetadataFor($serializer_11, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentMarkAndMarkerName, 'CourseAssignmentMarkAndMarkerName', classMeta, VOID, VOID, CourseAssignmentMarkAndMarkerName, VOID, {0: $serializer_getInstance_11});
  setMetadataFor(Companion_13, 'Companion', objectMeta);
  setMetadataFor($serializer_12, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentSubmissionFileAndTransferJob, 'CourseAssignmentSubmissionFileAndTransferJob', classMeta, VOID, VOID, CourseAssignmentSubmissionFileAndTransferJob, VOID, {0: $serializer_getInstance_12});
  setMetadataFor(Companion_14, 'Companion', objectMeta);
  setMetadataFor($serializer_13, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndAssignment, 'CourseBlockAndAssignment', classMeta, VOID, VOID, CourseBlockAndAssignment, VOID, {0: $serializer_getInstance_13});
  setMetadataFor(Companion_15, 'Companion', objectMeta);
  setMetadataFor($serializer_14, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndDbEntities, 'CourseBlockAndDbEntities', classMeta, VOID, VOID, CourseBlockAndDbEntities, VOID, {0: $serializer_getInstance_14});
  setMetadataFor(Companion_16, 'Companion', objectMeta);
  setMetadataFor($serializer_15, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndDisplayDetails, 'CourseBlockAndDisplayDetails', classMeta, VOID, VOID, CourseBlockAndDisplayDetails, VOID, {0: $serializer_getInstance_15});
  setMetadataFor(Companion_17, 'Companion', objectMeta);
  setMetadataFor($serializer_16, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndEditEntities, 'CourseBlockAndEditEntities', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_16});
  setMetadataFor(Companion_18, 'Companion', objectMeta);
  setMetadataFor($serializer_17, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndGradebookDisplayDetails, 'CourseBlockAndGradebookDisplayDetails', classMeta, VOID, VOID, CourseBlockAndGradebookDisplayDetails, VOID, {0: $serializer_getInstance_17});
  setMetadataFor(Companion_19, 'Companion', objectMeta);
  setMetadataFor($serializer_18, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndPicture, 'CourseBlockAndPicture', classMeta, VOID, VOID, CourseBlockAndPicture, VOID, {0: $serializer_getInstance_18});
  setMetadataFor(Companion_20, 'Companion', objectMeta);
  setMetadataFor($serializer_19, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockUidAndClazzUid, 'CourseBlockUidAndClazzUid', classMeta, VOID, VOID, CourseBlockUidAndClazzUid, VOID, {0: $serializer_getInstance_19});
  setMetadataFor(Companion_21, 'Companion', objectMeta);
  setMetadataFor($serializer_20, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupMemberAndPerson, 'CourseGroupMemberAndPerson', classMeta, VOID, VOID, CourseGroupMemberAndPerson, VOID, {0: $serializer_getInstance_20});
  setMetadataFor(Companion_22, 'Companion', objectMeta);
  setMetadataFor($serializer_21, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseNameAndPersonName, 'CourseNameAndPersonName', classMeta, VOID, VOID, CourseNameAndPersonName, VOID, {0: $serializer_getInstance_21});
  setMetadataFor(CoursePermissionAndListDetail, 'CoursePermissionAndListDetail', classMeta, VOID, VOID, CoursePermissionAndListDetail);
  setMetadataFor(Companion_23, 'Companion', objectMeta);
  setMetadataFor($serializer_22, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DiscussionPostAndPosterNames, 'DiscussionPostAndPosterNames', classMeta, VOID, VOID, DiscussionPostAndPosterNames, VOID, {0: $serializer_getInstance_22});
  setMetadataFor(Companion_24, 'Companion', objectMeta);
  setMetadataFor($serializer_23, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(EditAndViewPermission, 'EditAndViewPermission', classMeta, VOID, VOID, EditAndViewPermission, VOID, {0: $serializer_getInstance_23});
  setMetadataFor(Companion_25, 'Companion', objectMeta);
  setMetadataFor($serializer_24, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(EnrolmentRequestAndCoursePic, 'EnrolmentRequestAndCoursePic', classMeta, VOID, VOID, EnrolmentRequestAndCoursePic, VOID, {0: $serializer_getInstance_24});
  setMetadataFor(EnrolmentRequestAndPersonDetails, 'EnrolmentRequestAndPersonDetails', classMeta, VOID, VOID, EnrolmentRequestAndPersonDetails);
  setMetadataFor(Companion_26, 'Companion', objectMeta);
  setMetadataFor($serializer_25, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(MessageAndOtherPerson, 'MessageAndOtherPerson', classMeta, VOID, VOID, MessageAndOtherPerson, VOID, {0: $serializer_getInstance_25});
  setMetadataFor(Companion_27, 'Companion', objectMeta);
  setMetadataFor($serializer_26, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(OfflineItemAndState, 'OfflineItemAndState', classMeta, VOID, VOID, OfflineItemAndState, VOID, {0: $serializer_getInstance_26});
  setMetadataFor(Companion_28, 'Companion', objectMeta);
  setMetadataFor($serializer_27, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PermissionPair, 'PermissionPair', classMeta, VOID, VOID, PermissionPair, VOID, {0: $serializer_getInstance_27});
  setMetadataFor(Companion_29, 'Companion', objectMeta);
  setMetadataFor($serializer_28, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PermissionTriple, 'PermissionTriple', classMeta, VOID, VOID, PermissionTriple, VOID, {0: $serializer_getInstance_28});
  setMetadataFor(Companion_30, 'Companion', objectMeta);
  setMetadataFor($serializer_29, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndClazzLogAttendanceRecord, 'PersonAndClazzLogAttendanceRecord', classMeta, VOID, VOID, PersonAndClazzLogAttendanceRecord, VOID, {0: $serializer_getInstance_29});
  setMetadataFor(Companion_31, 'Companion', objectMeta);
  setMetadataFor($serializer_30, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndClazzMemberListDetails, 'PersonAndClazzMemberListDetails', classMeta, VOID, VOID, PersonAndClazzMemberListDetails, VOID, {0: $serializer_getInstance_30});
  setMetadataFor(PersonAndListDisplayDetails, 'PersonAndListDisplayDetails', classMeta, VOID, VOID, PersonAndListDisplayDetails);
  setMetadataFor(Companion_32, 'Companion', objectMeta);
  setMetadataFor($serializer_31, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndPicture, 'PersonAndPicture', classMeta, VOID, VOID, PersonAndPicture, VOID, {0: $serializer_getInstance_31});
  setMetadataFor(Companion_33, 'Companion', objectMeta);
  setMetadataFor($serializer_32, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonNames, 'PersonNames', classMeta, VOID, VOID, PersonNames, VOID, {0: $serializer_getInstance_32});
  setMetadataFor(SiteTermsAndLangName, 'SiteTermsAndLangName', classMeta);
  setMetadataFor(Companion_34, 'Companion', objectMeta);
  setMetadataFor($serializer_33, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StudentAndBlockStatuses, 'StudentAndBlockStatuses', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_33});
  setMetadataFor(Companion_35, 'Companion', objectMeta);
  setMetadataFor($serializer_34, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SubmissionAndFiles, 'SubmissionAndFiles', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_34});
  setMetadataFor(Companion_36, 'Companion', objectMeta);
  setMetadataFor($serializer_35, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJobAndTotals, 'TransferJobAndTotals', classMeta, VOID, VOID, TransferJobAndTotals, VOID, {0: $serializer_getInstance_35});
  setMetadataFor(Companion_37, 'Companion', objectMeta);
  setMetadataFor(TransferJobItemStatus, 'TransferJobItemStatus', classMeta, Enum);
  setMetadataFor(Companion_38, 'Companion', objectMeta);
  setMetadataFor($serializer_36, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentProgressSummary, 'AssignmentProgressSummary', classMeta, VOID, VOID, AssignmentProgressSummary, VOID, {0: $serializer_getInstance_36});
  setMetadataFor(Companion_39, 'Companion', objectMeta);
  setMetadataFor($serializer_37, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentSubmitterAndAllocations, 'AssignmentSubmitterAndAllocations', classMeta, VOID, VOID, AssignmentSubmitterAndAllocations, VOID, {0: $serializer_getInstance_37});
  setMetadataFor(Companion_40, 'Companion', objectMeta);
  setMetadataFor($serializer_38, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentSubmitterSummary, 'AssignmentSubmitterSummary', classMeta, VOID, VOID, AssignmentSubmitterSummary, VOID, {0: $serializer_getInstance_38});
  setMetadataFor(Companion_41, 'Companion', objectMeta);
  setMetadataFor($serializer_39, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AverageCourseAssignmentMark, 'AverageCourseAssignmentMark', classMeta, VOID, VOID, AverageCourseAssignmentMark, VOID, {0: $serializer_getInstance_39});
  setMetadataFor(Companion_42, 'Companion', objectMeta);
  setMetadataFor(CacheLockJoin, 'CacheLockJoin', classMeta);
  setMetadataFor(Companion_43, 'Companion', objectMeta);
  setMetadataFor($serializer_40, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Clazz, 'Clazz', classMeta, VOID, VOID, Clazz, VOID, {0: $serializer_getInstance_40});
  setMetadataFor(Companion_44, 'Companion', objectMeta);
  setMetadataFor($serializer_41, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAssignment, 'ClazzAssignment', classMeta, VOID, VOID, ClazzAssignment, VOID, {0: $serializer_getInstance_41});
  setMetadataFor(Companion_45, 'Companion', objectMeta);
  setMetadataFor($serializer_42, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAssignmentCourseBlockAndSubmitterUid, 'ClazzAssignmentCourseBlockAndSubmitterUid', classMeta, VOID, VOID, ClazzAssignmentCourseBlockAndSubmitterUid, VOID, {0: $serializer_getInstance_42});
  setMetadataFor(Companion_46, 'Companion', objectMeta);
  setMetadataFor($serializer_43, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolment, 'ClazzEnrolment', classMeta, VOID, VOID, ClazzEnrolment, VOID, {0: $serializer_getInstance_43});
  setMetadataFor(Companion_47, 'Companion', objectMeta);
  setMetadataFor($serializer_44, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentWithLeavingReason, 'ClazzEnrolmentWithLeavingReason', classMeta, ClazzEnrolment, VOID, ClazzEnrolmentWithLeavingReason, VOID, {0: $serializer_getInstance_44});
  setMetadataFor(Companion_48, 'Companion', objectMeta);
  setMetadataFor($serializer_45, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzLog, 'ClazzLog', classMeta, VOID, VOID, ClazzLog, VOID, {0: $serializer_getInstance_45});
  setMetadataFor(Companion_49, 'Companion', objectMeta);
  setMetadataFor($serializer_46, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzLogAttendanceRecord, 'ClazzLogAttendanceRecord', classMeta, VOID, VOID, ClazzLogAttendanceRecord, VOID, {0: $serializer_getInstance_46});
  setMetadataFor(Companion_50, 'Companion', objectMeta);
  setMetadataFor($serializer_47, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzWithHolidayCalendarAndAndTerminology, 'ClazzWithHolidayCalendarAndAndTerminology', classMeta, Clazz, VOID, ClazzWithHolidayCalendarAndAndTerminology, VOID, {0: $serializer_getInstance_47});
  setMetadataFor(Companion_51, 'Companion', objectMeta);
  setMetadataFor($serializer_48, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzWithListDisplayDetails, 'ClazzWithListDisplayDetails', classMeta, Clazz, VOID, ClazzWithListDisplayDetails, VOID, {0: $serializer_getInstance_48});
  setMetadataFor(Companion_52, 'Companion', objectMeta);
  setMetadataFor($serializer_49, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Comments, 'Comments', classMeta, VOID, VOID, Comments, VOID, {0: $serializer_getInstance_49});
  setMetadataFor(Companion_53, 'Companion', objectMeta);
  setMetadataFor($serializer_50, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentCategory, 'ContentCategory', classMeta, VOID, VOID, ContentCategory, VOID, {0: $serializer_getInstance_50});
  setMetadataFor(Companion_54, 'Companion', objectMeta);
  setMetadataFor($serializer_51, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentCategorySchema, 'ContentCategorySchema', classMeta, VOID, VOID, ContentCategorySchema, VOID, {0: $serializer_getInstance_51});
  setMetadataFor(Companion_55, 'Companion', objectMeta);
  setMetadataFor($serializer_52, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntry, 'ContentEntry', classMeta, VOID, VOID, ContentEntry, VOID, {0: $serializer_getInstance_52});
  setMetadataFor(ContentEntryButtonModel, 'ContentEntryButtonModel', classMeta, VOID, VOID, ContentEntryButtonModel);
  setMetadataFor(Companion_56, 'Companion', objectMeta);
  setMetadataFor($serializer_53, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryContentCategoryJoin, 'ContentEntryContentCategoryJoin', classMeta, VOID, VOID, ContentEntryContentCategoryJoin, VOID, {0: $serializer_getInstance_53});
  setMetadataFor(Companion_57, 'Companion', objectMeta);
  setMetadataFor($serializer_54, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryImportJob, 'ContentEntryImportJob', classMeta, VOID, VOID, ContentEntryImportJob, VOID, {0: $serializer_getInstance_54});
  setMetadataFor(Companion_58, 'Companion', objectMeta);
  setMetadataFor($serializer_55, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryParentChildJoin, 'ContentEntryParentChildJoin', classMeta, VOID, VOID, ContentEntryParentChildJoin, VOID, {0: $serializer_getInstance_55});
  setMetadataFor(Companion_59, 'Companion', objectMeta);
  setMetadataFor($serializer_56, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryPicture, 'ContentEntryPicture', classMeta, VOID, VOID, ContentEntryPicture, VOID, {0: $serializer_getInstance_56});
  setMetadataFor(Companion_60, 'Companion', objectMeta);
  setMetadataFor($serializer_57, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryPicture2, 'ContentEntryPicture2', classMeta, VOID, VOID, ContentEntryPicture2, VOID, {0: $serializer_getInstance_57});
  setMetadataFor(Companion_61, 'Companion', objectMeta);
  setMetadataFor($serializer_58, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryRelatedEntryJoin, 'ContentEntryRelatedEntryJoin', classMeta, VOID, VOID, ContentEntryRelatedEntryJoin, VOID, {0: $serializer_getInstance_58});
  setMetadataFor(Companion_62, 'Companion', objectMeta);
  setMetadataFor($serializer_59, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryRelatedEntryJoinWithLanguage, 'ContentEntryRelatedEntryJoinWithLanguage', classMeta, ContentEntryRelatedEntryJoin, VOID, ContentEntryRelatedEntryJoinWithLanguage, VOID, {0: $serializer_getInstance_59});
  setMetadataFor(Companion_63, 'Companion', objectMeta);
  setMetadataFor($serializer_60, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryStatementScoreProgress, 'ContentEntryStatementScoreProgress', classMeta, VOID, VOID, ContentEntryStatementScoreProgress, VOID, {0: $serializer_getInstance_60});
  setMetadataFor(Companion_64, 'Companion', objectMeta);
  setMetadataFor($serializer_61, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryVersion, 'ContentEntryVersion', classMeta, VOID, VOID, ContentEntryVersion, VOID, {0: $serializer_getInstance_61});
  setMetadataFor(Companion_65, 'Companion', objectMeta);
  setMetadataFor($serializer_62, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryWithLanguage, 'ContentEntryWithLanguage', classMeta, ContentEntry, VOID, ContentEntryWithLanguage, VOID, {0: $serializer_getInstance_62});
  setMetadataFor(Companion_66, 'Companion', objectMeta);
  setMetadataFor($serializer_63, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentJob, 'ContentJob', classMeta, VOID, VOID, ContentJob, VOID, {0: $serializer_getInstance_63});
  setMetadataFor(Companion_67, 'Companion', objectMeta);
  setMetadataFor($serializer_64, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentMark, 'CourseAssignmentMark', classMeta, VOID, VOID, CourseAssignmentMark, VOID, {0: $serializer_getInstance_64});
  setMetadataFor(Companion_68, 'Companion', objectMeta);
  setMetadataFor($serializer_65, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentSubmission, 'CourseAssignmentSubmission', classMeta, VOID, VOID, CourseAssignmentSubmission, VOID, {0: $serializer_getInstance_65});
  setMetadataFor(Companion_69, 'Companion', objectMeta);
  setMetadataFor($serializer_66, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentSubmissionFile, 'CourseAssignmentSubmissionFile', classMeta, VOID, VOID, CourseAssignmentSubmissionFile, VOID, {0: $serializer_getInstance_66});
  setMetadataFor(Companion_70, 'Companion', objectMeta);
  setMetadataFor($serializer_67, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlock, 'CourseBlock', classMeta, VOID, VOID, CourseBlock, VOID, {0: $serializer_getInstance_67});
  setMetadataFor(Companion_71, 'Companion', objectMeta);
  setMetadataFor($serializer_68, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockPicture, 'CourseBlockPicture', classMeta, VOID, VOID, CourseBlockPicture, VOID, {0: $serializer_getInstance_68});
  setMetadataFor(Companion_72, 'Companion', objectMeta);
  setMetadataFor($serializer_69, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupMember, 'CourseGroupMember', classMeta, VOID, VOID, CourseGroupMember, VOID, {0: $serializer_getInstance_69});
  setMetadataFor(Companion_73, 'Companion', objectMeta);
  setMetadataFor($serializer_70, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupMemberAndName, 'CourseGroupMemberAndName', classMeta, VOID, VOID, CourseGroupMemberAndName, VOID, {0: $serializer_getInstance_70});
  setMetadataFor(Companion_74, 'Companion', objectMeta);
  setMetadataFor($serializer_71, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupSet, 'CourseGroupSet', classMeta, VOID, VOID, CourseGroupSet, VOID, {0: $serializer_getInstance_71});
  setMetadataFor(Companion_75, 'Companion', objectMeta);
  setMetadataFor($serializer_72, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CoursePermission, 'CoursePermission', classMeta, VOID, VOID, CoursePermission, VOID, {0: $serializer_getInstance_72});
  setMetadataFor(Companion_76, 'Companion', objectMeta);
  setMetadataFor($serializer_73, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CoursePicture, 'CoursePicture', classMeta, VOID, VOID, CoursePicture, VOID, {0: $serializer_getInstance_73});
  setMetadataFor(Companion_77, 'Companion', objectMeta);
  setMetadataFor($serializer_74, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseTerminology, 'CourseTerminology', classMeta, VOID, VOID, CourseTerminology, VOID, {0: $serializer_getInstance_74});
  setMetadataFor(Companion_78, 'Companion', objectMeta);
  setMetadataFor($serializer_75, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DeletedItem, 'DeletedItem', classMeta, VOID, VOID, DeletedItem, VOID, {0: $serializer_getInstance_75});
  setMetadataFor(Companion_79, 'Companion', objectMeta);
  setMetadataFor($serializer_76, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DiscussionPost, 'DiscussionPost', classMeta, VOID, VOID, DiscussionPost, VOID, {0: $serializer_getInstance_76});
  setMetadataFor(Companion_80, 'Companion', objectMeta);
  setMetadataFor($serializer_77, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DiscussionPostWithDetails, 'DiscussionPostWithDetails', classMeta, DiscussionPost, VOID, DiscussionPostWithDetails, VOID, {0: $serializer_getInstance_77});
  setMetadataFor(Companion_81, 'Companion', objectMeta);
  setMetadataFor($serializer_78, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(EnrolmentRequest, 'EnrolmentRequest', classMeta, VOID, VOID, EnrolmentRequest, VOID, {0: $serializer_getInstance_78});
  setMetadataFor(ErrorReport, 'ErrorReport', classMeta, VOID, VOID, ErrorReport);
  setMetadataFor(Companion_82, 'Companion', objectMeta);
  setMetadataFor($serializer_79, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ExternalAppPermission, 'ExternalAppPermission', classMeta, VOID, VOID, ExternalAppPermission, VOID, {0: $serializer_getInstance_79});
  setMetadataFor(Companion_83, 'Companion', objectMeta);
  setMetadataFor($serializer_80, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Holiday, 'Holiday', classMeta, VOID, VOID, Holiday, VOID, {0: $serializer_getInstance_80});
  setMetadataFor(Companion_84, 'Companion', objectMeta);
  setMetadataFor($serializer_81, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(HolidayCalendar, 'HolidayCalendar', classMeta, VOID, VOID, HolidayCalendar, VOID, {0: $serializer_getInstance_81});
  setMetadataFor(Companion_85, 'Companion', objectMeta);
  setMetadataFor($serializer_82, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(HolidayCalendarWithNumEntries, 'HolidayCalendarWithNumEntries', classMeta, HolidayCalendar, VOID, HolidayCalendarWithNumEntries, VOID, {0: $serializer_getInstance_82});
  setMetadataFor(Companion_86, 'Companion', objectMeta);
  setMetadataFor($serializer_83, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Language, 'Language', classMeta, VOID, VOID, Language, VOID, {0: $serializer_getInstance_83});
  setMetadataFor(Companion_87, 'Companion', objectMeta);
  setMetadataFor($serializer_84, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(LanguageVariant, 'LanguageVariant', classMeta, VOID, VOID, LanguageVariant, VOID, {0: $serializer_getInstance_84});
  setMetadataFor(Companion_88, 'Companion', objectMeta);
  setMetadataFor($serializer_85, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(LeavingReason, 'LeavingReason', classMeta, VOID, VOID, LeavingReason, VOID, {0: $serializer_getInstance_85});
  setMetadataFor(Companion_89, 'Companion', objectMeta);
  setMetadataFor($serializer_86, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Message, 'Message', classMeta, VOID, VOID, Message, VOID, {0: $serializer_getInstance_86});
  setMetadataFor(Companion_90, 'Companion', objectMeta);
  setMetadataFor($serializer_87, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(OfflineItem, 'OfflineItem', classMeta, VOID, VOID, OfflineItem, VOID, {0: $serializer_getInstance_87});
  setMetadataFor(Companion_91, 'Companion', objectMeta);
  setMetadataFor($serializer_88, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PeerReviewerAllocation, 'PeerReviewerAllocation', classMeta, VOID, VOID, PeerReviewerAllocation, VOID, {0: $serializer_getInstance_88});
  setMetadataFor(Companion_92, 'Companion', objectMeta);
  setMetadataFor($serializer_89, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Person, 'Person', classMeta, VOID, VOID, Person, VOID, {0: $serializer_getInstance_89});
  setMetadataFor(Companion_93, 'Companion', objectMeta);
  setMetadataFor($serializer_90, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndDisplayDetail, 'PersonAndDisplayDetail', classMeta, VOID, VOID, PersonAndDisplayDetail, VOID, {0: $serializer_getInstance_90});
  setMetadataFor(Companion_94, 'Companion', objectMeta);
  setMetadataFor($serializer_91, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAuth, 'PersonAuth', classMeta, VOID, VOID, PersonAuth, VOID, {0: $serializer_getInstance_91});
  setMetadataFor(Companion_95, 'Companion', objectMeta);
  setMetadataFor(PersonAuth2, 'PersonAuth2', classMeta, VOID, VOID, PersonAuth2);
  setMetadataFor(Companion_96, 'Companion', objectMeta);
  setMetadataFor($serializer_92, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonGroup, 'PersonGroup', classMeta, VOID, VOID, PersonGroup, VOID, {0: $serializer_getInstance_92});
  setMetadataFor(Companion_97, 'Companion', objectMeta);
  setMetadataFor($serializer_93, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonGroupMember, 'PersonGroupMember', classMeta, VOID, VOID, PersonGroupMember, VOID, {0: $serializer_getInstance_93});
  setMetadataFor(Companion_98, 'Companion', objectMeta);
  setMetadataFor($serializer_94, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonParentJoin, 'PersonParentJoin', classMeta, VOID, VOID, PersonParentJoin, VOID, {0: $serializer_getInstance_94});
  setMetadataFor(Companion_99, 'Companion', objectMeta);
  setMetadataFor($serializer_95, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonParentJoinAndMinorPerson, 'PersonParentJoinAndMinorPerson', classMeta, VOID, VOID, PersonParentJoinAndMinorPerson, VOID, {0: $serializer_getInstance_95});
  setMetadataFor(Companion_100, 'Companion', objectMeta);
  setMetadataFor($serializer_96, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonPicture, 'PersonPicture', classMeta, VOID, VOID, PersonPicture, VOID, {0: $serializer_getInstance_96});
  setMetadataFor(Companion_101, 'Companion', objectMeta);
  setMetadataFor($serializer_97, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Report, 'Report', classMeta, VOID, VOID, Report, VOID, {0: $serializer_getInstance_97});
  setMetadataFor(Companion_102, 'Companion', objectMeta);
  setMetadataFor($serializer_98, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ReportFilter, 'ReportFilter', classMeta, VOID, VOID, ReportFilter, VOID, {0: $serializer_getInstance_98});
  setMetadataFor(Companion_103, 'Companion', objectMeta);
  setMetadataFor(Companion_104, 'Companion', objectMeta);
  setMetadataFor($serializer_99, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Schedule, 'Schedule', classMeta, VOID, VOID, Schedule, VOID, {0: $serializer_getInstance_99});
  setMetadataFor(Companion_105, 'Companion', objectMeta);
  setMetadataFor($serializer_100, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ScopedGrant, 'ScopedGrant', classMeta, VOID, VOID, ScopedGrant, VOID, {0: $serializer_getInstance_100});
  setMetadataFor(Companion_106, 'Companion', objectMeta);
  setMetadataFor($serializer_101, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Site, 'Site', classMeta, VOID, VOID, Site, VOID, {0: $serializer_getInstance_101});
  setMetadataFor(Companion_107, 'Companion', objectMeta);
  setMetadataFor($serializer_102, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SiteTerms, 'SiteTerms', classMeta, VOID, VOID, SiteTerms, VOID, {0: $serializer_getInstance_102});
  setMetadataFor(Companion_108, 'Companion', objectMeta);
  setMetadataFor($serializer_103, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SiteTermsWithLanguage, 'SiteTermsWithLanguage', classMeta, SiteTerms, VOID, SiteTermsWithLanguage, VOID, {0: $serializer_getInstance_103});
  setMetadataFor(Companion_109, 'Companion', objectMeta);
  setMetadataFor($serializer_104, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StudentResult, 'StudentResult', classMeta, VOID, VOID, StudentResult, VOID, {0: $serializer_getInstance_104});
  setMetadataFor(Companion_110, 'Companion', objectMeta);
  setMetadataFor($serializer_105, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SystemPermission, 'SystemPermission', classMeta, VOID, VOID, SystemPermission, VOID, {0: $serializer_getInstance_105});
  setMetadataFor(Companion_111, 'Companion', objectMeta);
  setMetadataFor($serializer_106, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJob, 'TransferJob', classMeta, VOID, VOID, TransferJob, VOID, {0: $serializer_getInstance_106});
  setMetadataFor(Companion_112, 'Companion', objectMeta);
  setMetadataFor($serializer_107, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJobError, 'TransferJobError', classMeta, VOID, VOID, TransferJobError, VOID, {0: $serializer_getInstance_107});
  setMetadataFor(Companion_113, 'Companion', objectMeta);
  setMetadataFor($serializer_108, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJobItem, 'TransferJobItem', classMeta, VOID, VOID, TransferJobItem, VOID, {0: $serializer_getInstance_108});
  setMetadataFor(Companion_114, 'Companion', objectMeta);
  setMetadataFor($serializer_109, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(UidAndLabel, 'UidAndLabel', classMeta, VOID, VOID, UidAndLabel, VOID, {0: $serializer_getInstance_109});
  setMetadataFor(Companion_115, 'Companion', objectMeta);
  setMetadataFor($serializer_110, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(UmAccount, 'UmAccount', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_110});
  setMetadataFor(Companion_116, 'Companion', objectMeta);
  setMetadataFor($serializer_111, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(UserSession, 'UserSession', classMeta, VOID, VOID, UserSession, VOID, {0: $serializer_getInstance_111});
  setMetadataFor(UserSessionAndPerson, 'UserSessionAndPerson', classMeta, VOID, VOID, UserSessionAndPerson);
  setMetadataFor(Companion_117, 'Companion', objectMeta);
  setMetadataFor($serializer_112, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActivityEntity, 'ActivityEntity', classMeta, VOID, VOID, ActivityEntity, VOID, {0: $serializer_getInstance_112});
  setMetadataFor(Companion_118, 'Companion', objectMeta);
  setMetadataFor(ActivityExtensionEntity, 'ActivityExtensionEntity', classMeta, VOID, VOID, ActivityExtensionEntity);
  setMetadataFor(Companion_119, 'Companion', objectMeta);
  setMetadataFor($serializer_113, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActivityInteractionEntity, 'ActivityInteractionEntity', classMeta, VOID, VOID, ActivityInteractionEntity, VOID, {0: $serializer_getInstance_113});
  setMetadataFor(Companion_120, 'Companion', objectMeta);
  setMetadataFor($serializer_114, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActivityLangMapEntry, 'ActivityLangMapEntry', classMeta, VOID, VOID, ActivityLangMapEntry, VOID, {0: $serializer_getInstance_114});
  setMetadataFor(Companion_121, 'Companion', objectMeta);
  setMetadataFor($serializer_115, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActorEntity, 'ActorEntity', classMeta, VOID, VOID, ActorEntity, VOID, {0: $serializer_getInstance_115});
  setMetadataFor(Companion_122, 'Companion', objectMeta);
  setMetadataFor($serializer_116, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(GroupMemberActorJoin, 'GroupMemberActorJoin', classMeta, VOID, VOID, GroupMemberActorJoin, VOID, {0: $serializer_getInstance_116});
  setMetadataFor(Companion_123, 'Companion', objectMeta);
  setMetadataFor($serializer_117, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StateDeleteCommand, 'StateDeleteCommand', classMeta, VOID, VOID, StateDeleteCommand, VOID, {0: $serializer_getInstance_117});
  setMetadataFor(Companion_124, 'Companion', objectMeta);
  setMetadataFor($serializer_118, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StateEntity, 'StateEntity', classMeta, VOID, VOID, StateEntity, VOID, {0: $serializer_getInstance_118});
  setMetadataFor(Companion_125, 'Companion', objectMeta);
  setMetadataFor(StatementContextActivityJoin, 'StatementContextActivityJoin', classMeta, VOID, VOID, StatementContextActivityJoin);
  setMetadataFor(Companion_126, 'Companion', objectMeta);
  setMetadataFor($serializer_119, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementEntity, 'StatementEntity', classMeta, VOID, VOID, StatementEntity, VOID, {0: $serializer_getInstance_119});
  setMetadataFor(Companion_127, 'Companion', objectMeta);
  setMetadataFor($serializer_120, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementEntityJson, 'StatementEntityJson', classMeta, VOID, VOID, StatementEntityJson, VOID, {0: $serializer_getInstance_120});
  setMetadataFor(Companion_128, 'Companion', objectMeta);
  setMetadataFor($serializer_121, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(VerbEntity, 'VerbEntity', classMeta, VOID, VOID, VerbEntity, VOID, {0: $serializer_getInstance_121});
  setMetadataFor(Companion_129, 'Companion', objectMeta);
  setMetadataFor($serializer_122, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(VerbLangMapEntry, 'VerbLangMapEntry', classMeta, VOID, VOID, VerbLangMapEntry, VOID, {0: $serializer_getInstance_122});
  setMetadataFor(XapiEntityObjectTypeFlags, 'XapiEntityObjectTypeFlags', objectMeta);
  setMetadataFor(Companion_130, 'Companion', objectMeta);
  setMetadataFor($serializer_123, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(XapiSessionEntity, 'XapiSessionEntity', classMeta, VOID, VOID, XapiSessionEntity, VOID, {0: $serializer_getInstance_123});
  //endregion
  function UmAppDatabase() {
    RoomDatabase.call(this);
  }
  function UmAppDatabaseJsImplementations() {
    UmAppDatabaseJsImplementations_instance = this;
    DoorJsImplClasses.call(this);
    this.i7m_1 = getKClass(UmAppDatabase);
    this.j7m_1 = getKClass(UmAppDatabase_JdbcImpl);
    this.k7m_1 = getKClass(UmAppDatabase_DoorWrapper);
    this.l7m_1 = getKClass(UmAppDatabase_Repo);
    this.m7m_1 = new UmAppDatabase_DoorMetadata();
  }
  protoOf(UmAppDatabaseJsImplementations).g74 = function () {
    return this.i7m_1;
  };
  protoOf(UmAppDatabaseJsImplementations).h74 = function () {
    return this.j7m_1;
  };
  protoOf(UmAppDatabaseJsImplementations).j74 = function () {
    return this.k7m_1;
  };
  protoOf(UmAppDatabaseJsImplementations).i74 = function () {
    return this.l7m_1;
  };
  protoOf(UmAppDatabaseJsImplementations).e77 = function () {
    return this.m7m_1;
  };
  var UmAppDatabaseJsImplementations_instance;
  function UmAppDatabaseJsImplementations_getInstance() {
    if (UmAppDatabaseJsImplementations_instance == null)
      new UmAppDatabaseJsImplementations();
    return UmAppDatabaseJsImplementations_instance;
  }
  function UmAppDatabase_DoorMetadata$replicateEntities$delegate$lambda() {
    var tmp = listOf('clazzLogUid');
    var tmp_0 = listOf_0([new ReplicationFieldMetaData('clazzLogClazzUid', -5, false), new ReplicationFieldMetaData('logDate', -5, false), new ReplicationFieldMetaData('timeRecorded', -5, false), new ReplicationFieldMetaData('clazzLogDone', 16, false), new ReplicationFieldMetaData('cancellationNote', -1, true), new ReplicationFieldMetaData('clazzLogCancelled', 16, false), new ReplicationFieldMetaData('clazzLogNumPresent', 4, false), new ReplicationFieldMetaData('clazzLogNumAbsent', 4, false), new ReplicationFieldMetaData('clazzLogNumPartial', 4, false), new ReplicationFieldMetaData('clazzLogScheduleUid', -5, false), new ReplicationFieldMetaData('clazzLogStatusFlag', 4, false), new ReplicationFieldMetaData('clazzLogMSQN', -5, false), new ReplicationFieldMetaData('clazzLogLCSN', -5, false), new ReplicationFieldMetaData('clazzLogLCB', 4, false), new ReplicationFieldMetaData('clazzLogLastChangedTime', -5, false), new ReplicationFieldMetaData('clazzLogUid', -5, false)]);
    var tmp_1 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_2 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_3 = [Event_INSERT_getInstance()];
    var tmp_4 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_5 = ['REPLACE INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES( CAST(NEW.clazzLogUid AS BIGINT), CAST(NEW.clazzLogClazzUid AS BIGINT), CAST(NEW.logDate AS BIGINT), CAST(NEW.timeRecorded AS BIGINT), NEW.clazzLogDone, NEW.cancellationNote, NEW.clazzLogCancelled, NEW.clazzLogNumPresent, NEW.clazzLogNumAbsent, NEW.clazzLogNumPartial, CAST(NEW.clazzLogScheduleUid AS BIGINT), NEW.clazzLogStatusFlag, CAST(NEW.clazzLogMSQN AS BIGINT), CAST(NEW.clazzLogLCSN AS BIGINT), NEW.clazzLogLCB, CAST(NEW.clazzLogLastChangedTime AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$8 = ['INSERT INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES( CAST(NEW.clazzLogUid AS BIGINT), CAST(NEW.clazzLogClazzUid AS BIGINT), CAST(NEW.logDate AS BIGINT), CAST(NEW.timeRecorded AS BIGINT), NEW.clazzLogDone, NEW.cancellationNote, NEW.clazzLogCancelled, NEW.clazzLogNumPresent, NEW.clazzLogNumAbsent, NEW.clazzLogNumPartial, CAST(NEW.clazzLogScheduleUid AS BIGINT), NEW.clazzLogStatusFlag, CAST(NEW.clazzLogMSQN AS BIGINT), CAST(NEW.clazzLogLCSN AS BIGINT), NEW.clazzLogLCB, CAST(NEW.clazzLogLastChangedTime AS BIGINT))  ON CONFLICT(clazzLogUid)  DO UPDATE SET clazzLogClazzUid = NEW.clazzLogClazzUid, logDate = NEW.logDate, timeRecorded = NEW.timeRecorded, clazzLogDone = NEW.clazzLogDone, cancellationNote = NEW.cancellationNote, clazzLogCancelled = NEW.clazzLogCancelled, clazzLogNumPresent = NEW.clazzLogNumPresent, clazzLogNumAbsent = NEW.clazzLogNumAbsent, clazzLogNumPartial = NEW.clazzLogNumPartial, clazzLogScheduleUid = NEW.clazzLogScheduleUid, clazzLogStatusFlag = NEW.clazzLogStatusFlag, clazzLogMSQN = NEW.clazzLogMSQN, clazzLogLCSN = NEW.clazzLogLCSN, clazzLogLCB = NEW.clazzLogLCB, clazzLogLastChangedTime = NEW.clazzLogLastChangedTime '];
    var tmp_6 = to(14, new ReplicationEntityMetaData(14, 'ClazzLog', 'ClazzLog_ReceiveView', tmp, 'clazzLogLastChangedTime', tmp_0, 1000, tmp_1, listOf(new Trigger('clazzlog_remote_insert', tmp_2, tmp_3, tmp_4, tmp_5, tmp$ret$8, 'SELECT \n                   CAST(NEW.clazzLogLastChangedTime AS BIGINT) >\n                       COALESCE((SELECT ClazzLog_Existing.clazzLogLastChangedTime\n                                   FROM ClazzLog ClazzLog_Existing\n                                  WHERE ClazzLog_Existing.clazzLogUid = NEW.clazzLogUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.clazzLogLastChangedTime AS BIGINT) >\n                       COALESCE((SELECT ClazzLog_Existing.clazzLogLastChangedTime\n                                   FROM ClazzLog ClazzLog_Existing\n                                  WHERE ClazzLog_Existing.clazzLogUid = NEW.clazzLogUid), 0)\n                   '))));
    var tmp_7 = listOf('clazzLogAttendanceRecordUid');
    var tmp_8 = listOf_0([new ReplicationFieldMetaData('clazzLogAttendanceRecordClazzLogUid', -5, false), new ReplicationFieldMetaData('clazzLogAttendanceRecordPersonUid', -5, false), new ReplicationFieldMetaData('attendanceStatus', 4, false), new ReplicationFieldMetaData('clazzLogAttendanceRecordMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('clazzLogAttendanceRecordLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('clazzLogAttendanceRecordLastChangedBy', 4, false), new ReplicationFieldMetaData('clazzLogAttendanceRecordLastChangedTime', -5, false), new ReplicationFieldMetaData('clazzLogAttendanceRecordUid', -5, false)]);
    var tmp_9 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_10 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_11 = [Event_INSERT_getInstance()];
    var tmp_12 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_13 = ['REPLACE INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES( CAST(NEW.clazzLogAttendanceRecordUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordClazzLogUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordPersonUid AS BIGINT), NEW.attendanceStatus, CAST(NEW.clazzLogAttendanceRecordMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLogAttendanceRecordLocalChangeSeqNum AS BIGINT), NEW.clazzLogAttendanceRecordLastChangedBy, CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$17 = ['INSERT INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES( CAST(NEW.clazzLogAttendanceRecordUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordClazzLogUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordPersonUid AS BIGINT), NEW.attendanceStatus, CAST(NEW.clazzLogAttendanceRecordMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLogAttendanceRecordLocalChangeSeqNum AS BIGINT), NEW.clazzLogAttendanceRecordLastChangedBy, CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT))  ON CONFLICT(clazzLogAttendanceRecordUid)  DO UPDATE SET clazzLogAttendanceRecordClazzLogUid = NEW.clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid = NEW.clazzLogAttendanceRecordPersonUid, attendanceStatus = NEW.attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum = NEW.clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum = NEW.clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy = NEW.clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime = NEW.clazzLogAttendanceRecordLastChangedTime '];
    var tmp_14 = to(15, new ReplicationEntityMetaData(15, 'ClazzLogAttendanceRecord', 'ClazzLogAttendanceRecord_ReceiveView', tmp_7, 'clazzLogAttendanceRecordLastChangedTime', tmp_8, 1000, tmp_9, listOf(new Trigger('clazzlogattendancerecord_remote_insert', tmp_10, tmp_11, tmp_12, tmp_13, tmp$ret$17, 'SELECT \n                   CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT) >\n                       COALESCE((SELECT ClazzLogAttendanceRecord_Existing.clazzLogAttendanceRecordLastChangedTime\n                                   FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecord_Existing\n                                  WHERE ClazzLogAttendanceRecord_Existing.clazzLogAttendanceRecordUid = NEW.clazzLogAttendanceRecordUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT) >\n                       COALESCE((SELECT ClazzLogAttendanceRecord_Existing.clazzLogAttendanceRecordLastChangedTime\n                                   FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecord_Existing\n                                  WHERE ClazzLogAttendanceRecord_Existing.clazzLogAttendanceRecordUid = NEW.clazzLogAttendanceRecordUid), 0)\n                   '))));
    var tmp_15 = listOf('scheduleUid');
    var tmp_16 = listOf_0([new ReplicationFieldMetaData('sceduleStartTime', -5, false), new ReplicationFieldMetaData('scheduleEndTime', -5, false), new ReplicationFieldMetaData('scheduleDay', 4, false), new ReplicationFieldMetaData('scheduleMonth', 4, false), new ReplicationFieldMetaData('scheduleFrequency', 4, false), new ReplicationFieldMetaData('umCalendarUid', -5, false), new ReplicationFieldMetaData('scheduleClazzUid', -5, false), new ReplicationFieldMetaData('scheduleMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('scheduleLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('scheduleLastChangedBy', 4, false), new ReplicationFieldMetaData('scheduleLastChangedTime', -5, false), new ReplicationFieldMetaData('scheduleActive', 16, false), new ReplicationFieldMetaData('scheduleUid', -5, false)]);
    var tmp_17 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_18 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_19 = [Event_INSERT_getInstance()];
    var tmp_20 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_21 = ['REPLACE INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES( CAST(NEW.scheduleUid AS BIGINT), CAST(NEW.sceduleStartTime AS BIGINT), CAST(NEW.scheduleEndTime AS BIGINT), NEW.scheduleDay, NEW.scheduleMonth, NEW.scheduleFrequency, CAST(NEW.umCalendarUid AS BIGINT), CAST(NEW.scheduleClazzUid AS BIGINT), CAST(NEW.scheduleMasterChangeSeqNum AS BIGINT), CAST(NEW.scheduleLocalChangeSeqNum AS BIGINT), NEW.scheduleLastChangedBy, CAST(NEW.scheduleLastChangedTime AS BIGINT), NEW.scheduleActive) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$26 = ['INSERT INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES( CAST(NEW.scheduleUid AS BIGINT), CAST(NEW.sceduleStartTime AS BIGINT), CAST(NEW.scheduleEndTime AS BIGINT), NEW.scheduleDay, NEW.scheduleMonth, NEW.scheduleFrequency, CAST(NEW.umCalendarUid AS BIGINT), CAST(NEW.scheduleClazzUid AS BIGINT), CAST(NEW.scheduleMasterChangeSeqNum AS BIGINT), CAST(NEW.scheduleLocalChangeSeqNum AS BIGINT), NEW.scheduleLastChangedBy, CAST(NEW.scheduleLastChangedTime AS BIGINT), NEW.scheduleActive)  ON CONFLICT(scheduleUid)  DO UPDATE SET sceduleStartTime = NEW.sceduleStartTime, scheduleEndTime = NEW.scheduleEndTime, scheduleDay = NEW.scheduleDay, scheduleMonth = NEW.scheduleMonth, scheduleFrequency = NEW.scheduleFrequency, umCalendarUid = NEW.umCalendarUid, scheduleClazzUid = NEW.scheduleClazzUid, scheduleMasterChangeSeqNum = NEW.scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum = NEW.scheduleLocalChangeSeqNum, scheduleLastChangedBy = NEW.scheduleLastChangedBy, scheduleLastChangedTime = NEW.scheduleLastChangedTime, scheduleActive = NEW.scheduleActive '];
    var tmp_22 = to(21, new ReplicationEntityMetaData(21, 'Schedule', 'Schedule_ReceiveView', tmp_15, 'scheduleLastChangedTime', tmp_16, 1000, tmp_17, listOf(new Trigger('schedule_remote_insert', tmp_18, tmp_19, tmp_20, tmp_21, tmp$ret$26, 'SELECT \n                   CAST(NEW.scheduleLastChangedTime AS BIGINT) >\n                       COALESCE((SELECT Schedule_Existing.scheduleLastChangedTime\n                                   FROM Schedule Schedule_Existing\n                                  WHERE Schedule_Existing.scheduleUid = NEW.scheduleUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.scheduleLastChangedTime AS BIGINT) >\n                       COALESCE((SELECT Schedule_Existing.scheduleLastChangedTime\n                                   FROM Schedule Schedule_Existing\n                                  WHERE Schedule_Existing.scheduleUid = NEW.scheduleUid), 0)\n                   '))));
    var tmp_23 = listOf('umCalendarUid');
    var tmp_24 = listOf_0([new ReplicationFieldMetaData('umCalendarName', -1, true), new ReplicationFieldMetaData('umCalendarCategory', 4, false), new ReplicationFieldMetaData('umCalendarActive', 16, false), new ReplicationFieldMetaData('umCalendarMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('umCalendarLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('umCalendarLastChangedBy', 4, false), new ReplicationFieldMetaData('umCalendarLct', -5, false), new ReplicationFieldMetaData('umCalendarUid', -5, false)]);
    var tmp_25 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_26 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_27 = [Event_INSERT_getInstance()];
    var tmp_28 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_29 = ['REPLACE INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES( CAST(NEW.umCalendarUid AS BIGINT), NEW.umCalendarName, NEW.umCalendarCategory, NEW.umCalendarActive, CAST(NEW.umCalendarMasterChangeSeqNum AS BIGINT), CAST(NEW.umCalendarLocalChangeSeqNum AS BIGINT), NEW.umCalendarLastChangedBy, CAST(NEW.umCalendarLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$35 = ['INSERT INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES( CAST(NEW.umCalendarUid AS BIGINT), NEW.umCalendarName, NEW.umCalendarCategory, NEW.umCalendarActive, CAST(NEW.umCalendarMasterChangeSeqNum AS BIGINT), CAST(NEW.umCalendarLocalChangeSeqNum AS BIGINT), NEW.umCalendarLastChangedBy, CAST(NEW.umCalendarLct AS BIGINT))  ON CONFLICT(umCalendarUid)  DO UPDATE SET umCalendarName = NEW.umCalendarName, umCalendarCategory = NEW.umCalendarCategory, umCalendarActive = NEW.umCalendarActive, umCalendarMasterChangeSeqNum = NEW.umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum = NEW.umCalendarLocalChangeSeqNum, umCalendarLastChangedBy = NEW.umCalendarLastChangedBy, umCalendarLct = NEW.umCalendarLct '];
    var tmp_30 = to(28, new ReplicationEntityMetaData(28, 'HolidayCalendar', 'HolidayCalendar_ReceiveView', tmp_23, 'umCalendarLct', tmp_24, 1000, tmp_25, listOf(new Trigger('holidaycalendar_remote_insert', tmp_26, tmp_27, tmp_28, tmp_29, tmp$ret$35, 'SELECT \n                   CAST(NEW.umCalendarLct AS BIGINT) >\n                       COALESCE((SELECT HolidayCalendar_Existing.umCalendarLct\n                                   FROM HolidayCalendar HolidayCalendar_Existing\n                                  WHERE HolidayCalendar_Existing.umCalendarUid = NEW.umCalendarUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.umCalendarLct AS BIGINT) >\n                       COALESCE((SELECT HolidayCalendar_Existing.umCalendarLct\n                                   FROM HolidayCalendar HolidayCalendar_Existing\n                                  WHERE HolidayCalendar_Existing.umCalendarUid = NEW.umCalendarUid), 0)\n                   '))));
    var tmp_31 = listOf('holUid');
    var tmp_32 = listOf_0([new ReplicationFieldMetaData('holMasterCsn', -5, false), new ReplicationFieldMetaData('holLocalCsn', -5, false), new ReplicationFieldMetaData('holLastModBy', 4, false), new ReplicationFieldMetaData('holLct', -5, false), new ReplicationFieldMetaData('holActive', 16, false), new ReplicationFieldMetaData('holHolidayCalendarUid', -5, false), new ReplicationFieldMetaData('holStartTime', -5, false), new ReplicationFieldMetaData('holEndTime', -5, false), new ReplicationFieldMetaData('holName', -1, true), new ReplicationFieldMetaData('holUid', -5, false)]);
    var tmp_33 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_34 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_35 = [Event_INSERT_getInstance()];
    var tmp_36 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_37 = ['REPLACE INTO Holiday (holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES( CAST(NEW.holUid AS BIGINT), CAST(NEW.holMasterCsn AS BIGINT), CAST(NEW.holLocalCsn AS BIGINT), NEW.holLastModBy, CAST(NEW.holLct AS BIGINT), NEW.holActive, CAST(NEW.holHolidayCalendarUid AS BIGINT), CAST(NEW.holStartTime AS BIGINT), CAST(NEW.holEndTime AS BIGINT), NEW.holName) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$44 = ['INSERT INTO Holiday (holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES( CAST(NEW.holUid AS BIGINT), CAST(NEW.holMasterCsn AS BIGINT), CAST(NEW.holLocalCsn AS BIGINT), NEW.holLastModBy, CAST(NEW.holLct AS BIGINT), NEW.holActive, CAST(NEW.holHolidayCalendarUid AS BIGINT), CAST(NEW.holStartTime AS BIGINT), CAST(NEW.holEndTime AS BIGINT), NEW.holName)  ON CONFLICT(holUid)  DO UPDATE SET holMasterCsn = NEW.holMasterCsn, holLocalCsn = NEW.holLocalCsn, holLastModBy = NEW.holLastModBy, holLct = NEW.holLct, holActive = NEW.holActive, holHolidayCalendarUid = NEW.holHolidayCalendarUid, holStartTime = NEW.holStartTime, holEndTime = NEW.holEndTime, holName = NEW.holName '];
    var tmp_38 = to(99, new ReplicationEntityMetaData(99, 'Holiday', 'Holiday_ReceiveView', tmp_31, 'holLct', tmp_32, 1000, tmp_33, listOf(new Trigger('holiday_remote_insert', tmp_34, tmp_35, tmp_36, tmp_37, tmp$ret$44, 'SELECT \n                   CAST(NEW.holLct AS BIGINT) >\n                       COALESCE((SELECT Holiday_Existing.holLct\n                                   FROM Holiday Holiday_Existing\n                                  WHERE Holiday_Existing.holUid = NEW.holUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.holLct AS BIGINT) >\n                       COALESCE((SELECT Holiday_Existing.holLct\n                                   FROM Holiday Holiday_Existing\n                                  WHERE Holiday_Existing.holUid = NEW.holUid), 0)\n                   '))));
    var tmp_39 = listOf('personUid');
    var tmp_40 = listOf_0([new ReplicationFieldMetaData('username', -1, true), new ReplicationFieldMetaData('firstNames', -1, true), new ReplicationFieldMetaData('lastName', -1, true), new ReplicationFieldMetaData('emailAddr', -1, true), new ReplicationFieldMetaData('phoneNum', -1, true), new ReplicationFieldMetaData('gender', 4, false), new ReplicationFieldMetaData('active', 16, false), new ReplicationFieldMetaData('dateOfBirth', -5, false), new ReplicationFieldMetaData('personAddress', -1, true), new ReplicationFieldMetaData('personOrgId', -1, true), new ReplicationFieldMetaData('personGroupUid', -5, false), new ReplicationFieldMetaData('personLct', -5, false), new ReplicationFieldMetaData('personCountry', -1, true), new ReplicationFieldMetaData('personType', 4, false), new ReplicationFieldMetaData('personMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('personLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('personLastChangedBy', 4, false), new ReplicationFieldMetaData('admin', 16, false), new ReplicationFieldMetaData('personNotes', -1, true), new ReplicationFieldMetaData('fatherName', -1, true), new ReplicationFieldMetaData('fatherNumber', -1, true), new ReplicationFieldMetaData('motherName', -1, true), new ReplicationFieldMetaData('motherNum', -1, true), new ReplicationFieldMetaData('personUid', -5, false)]);
    var tmp_41 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_42 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_43 = [Event_INSERT_getInstance()];
    var tmp_44 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_45 = ['REPLACE INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES( CAST(NEW.personUid AS BIGINT), NEW.username, NEW.firstNames, NEW.lastName, NEW.emailAddr, NEW.phoneNum, NEW.gender, NEW.active, CAST(NEW.dateOfBirth AS BIGINT), NEW.personAddress, NEW.personOrgId, CAST(NEW.personGroupUid AS BIGINT), CAST(NEW.personLct AS BIGINT), NEW.personCountry, NEW.personType, CAST(NEW.personMasterChangeSeqNum AS BIGINT), CAST(NEW.personLocalChangeSeqNum AS BIGINT), NEW.personLastChangedBy, NEW.admin, NEW.personNotes, NEW.fatherName, NEW.fatherNumber, NEW.motherName, NEW.motherNum) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$53 = ['INSERT INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES( CAST(NEW.personUid AS BIGINT), NEW.username, NEW.firstNames, NEW.lastName, NEW.emailAddr, NEW.phoneNum, NEW.gender, NEW.active, CAST(NEW.dateOfBirth AS BIGINT), NEW.personAddress, NEW.personOrgId, CAST(NEW.personGroupUid AS BIGINT), CAST(NEW.personLct AS BIGINT), NEW.personCountry, NEW.personType, CAST(NEW.personMasterChangeSeqNum AS BIGINT), CAST(NEW.personLocalChangeSeqNum AS BIGINT), NEW.personLastChangedBy, NEW.admin, NEW.personNotes, NEW.fatherName, NEW.fatherNumber, NEW.motherName, NEW.motherNum)  ON CONFLICT(personUid)  DO UPDATE SET username = NEW.username, firstNames = NEW.firstNames, lastName = NEW.lastName, emailAddr = NEW.emailAddr, phoneNum = NEW.phoneNum, gender = NEW.gender, active = NEW.active, dateOfBirth = NEW.dateOfBirth, personAddress = NEW.personAddress, personOrgId = NEW.personOrgId, personGroupUid = NEW.personGroupUid, personLct = NEW.personLct, personCountry = NEW.personCountry, personType = NEW.personType, personMasterChangeSeqNum = NEW.personMasterChangeSeqNum, personLocalChangeSeqNum = NEW.personLocalChangeSeqNum, personLastChangedBy = NEW.personLastChangedBy, admin = NEW.admin, personNotes = NEW.personNotes, fatherName = NEW.fatherName, fatherNumber = NEW.fatherNumber, motherName = NEW.motherName, motherNum = NEW.motherNum '];
    var tmp_46 = to(9, new ReplicationEntityMetaData(9, 'Person', 'Person_ReceiveView', tmp_39, 'personLct', tmp_40, 1000, tmp_41, listOf(new Trigger('person_remote_insert', tmp_42, tmp_43, tmp_44, tmp_45, tmp$ret$53, '\n             SELECT \n                    ((NEW.username IS NULL\n                     OR (SELECT NOT EXISTS(\n                            SELECT Person.personUid\n                              FROM Person\n                             WHERE Person.username = NEW.username))  \n                     OR NEW.personUid = \n                        (SELECT Person.personUid\n                           FROM Person\n                          WHERE Person.username = NEW.username)))\n                  AND CAST(NEW.personLct AS BIGINT) > \n                         (SELECT COALESCE(\n                                  (SELECT Person.personLct\n                                     FROM Person\n                                    WHERE Person.personUid = CAST(NEW.personUid AS BIGINT)), 0))   \n                            \n         ', '\n             SELECT \n                    ((NEW.username IS NULL\n                     OR (SELECT NOT EXISTS(\n                            SELECT Person.personUid\n                              FROM Person\n                             WHERE Person.username = NEW.username))  \n                     OR NEW.personUid = \n                        (SELECT Person.personUid\n                           FROM Person\n                          WHERE Person.username = NEW.username)))\n                  AND CAST(NEW.personLct AS BIGINT) > \n                         (SELECT COALESCE(\n                                  (SELECT Person.personLct\n                                     FROM Person\n                                    WHERE Person.personUid = CAST(NEW.personUid AS BIGINT)), 0))   \n                            \n         '))));
    var tmp_47 = listOf('clazzUid');
    var tmp_48 = listOf_0([new ReplicationFieldMetaData('clazzName', -1, true), new ReplicationFieldMetaData('clazzDesc', -1, true), new ReplicationFieldMetaData('attendanceAverage', 6, false), new ReplicationFieldMetaData('clazzHolidayUMCalendarUid', -5, false), new ReplicationFieldMetaData('clazzScheuleUMCalendarUid', -5, false), new ReplicationFieldMetaData('isClazzActive', 16, false), new ReplicationFieldMetaData('clazzLocationUid', -5, false), new ReplicationFieldMetaData('clazzStartTime', -5, false), new ReplicationFieldMetaData('clazzEndTime', -5, false), new ReplicationFieldMetaData('clazzFeatures', -5, false), new ReplicationFieldMetaData('clazzSchoolUid', -5, false), new ReplicationFieldMetaData('clazzEnrolmentPolicy', 4, false), new ReplicationFieldMetaData('clazzTerminologyUid', -5, false), new ReplicationFieldMetaData('clazzMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('clazzLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('clazzLastChangedBy', 4, false), new ReplicationFieldMetaData('clazzLct', -5, false), new ReplicationFieldMetaData('clazzTimeZone', -1, true), new ReplicationFieldMetaData('clazzStudentsPersonGroupUid', -5, false), new ReplicationFieldMetaData('clazzTeachersPersonGroupUid', -5, false), new ReplicationFieldMetaData('clazzPendingStudentsPersonGroupUid', -5, false), new ReplicationFieldMetaData('clazzParentsPersonGroupUid', -5, false), new ReplicationFieldMetaData('clazzCode', -1, true), new ReplicationFieldMetaData('clazzOwnerPersonUid', -5, false), new ReplicationFieldMetaData('clazzUid', -5, false)]);
    var tmp_49 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_50 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_51 = [Event_INSERT_getInstance()];
    var tmp_52 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_53 = ['REPLACE INTO Clazz (clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid) VALUES( CAST(NEW.clazzUid AS BIGINT), NEW.clazzName, NEW.clazzDesc, NEW.attendanceAverage, CAST(NEW.clazzHolidayUMCalendarUid AS BIGINT), CAST(NEW.clazzScheuleUMCalendarUid AS BIGINT), NEW.isClazzActive, CAST(NEW.clazzLocationUid AS BIGINT), CAST(NEW.clazzStartTime AS BIGINT), CAST(NEW.clazzEndTime AS BIGINT), CAST(NEW.clazzFeatures AS BIGINT), CAST(NEW.clazzSchoolUid AS BIGINT), NEW.clazzEnrolmentPolicy, CAST(NEW.clazzTerminologyUid AS BIGINT), CAST(NEW.clazzMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLocalChangeSeqNum AS BIGINT), NEW.clazzLastChangedBy, CAST(NEW.clazzLct AS BIGINT), NEW.clazzTimeZone, CAST(NEW.clazzStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzTeachersPersonGroupUid AS BIGINT), CAST(NEW.clazzPendingStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzParentsPersonGroupUid AS BIGINT), NEW.clazzCode, CAST(NEW.clazzOwnerPersonUid AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$62 = ['INSERT INTO Clazz (clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid) VALUES( CAST(NEW.clazzUid AS BIGINT), NEW.clazzName, NEW.clazzDesc, NEW.attendanceAverage, CAST(NEW.clazzHolidayUMCalendarUid AS BIGINT), CAST(NEW.clazzScheuleUMCalendarUid AS BIGINT), NEW.isClazzActive, CAST(NEW.clazzLocationUid AS BIGINT), CAST(NEW.clazzStartTime AS BIGINT), CAST(NEW.clazzEndTime AS BIGINT), CAST(NEW.clazzFeatures AS BIGINT), CAST(NEW.clazzSchoolUid AS BIGINT), NEW.clazzEnrolmentPolicy, CAST(NEW.clazzTerminologyUid AS BIGINT), CAST(NEW.clazzMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLocalChangeSeqNum AS BIGINT), NEW.clazzLastChangedBy, CAST(NEW.clazzLct AS BIGINT), NEW.clazzTimeZone, CAST(NEW.clazzStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzTeachersPersonGroupUid AS BIGINT), CAST(NEW.clazzPendingStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzParentsPersonGroupUid AS BIGINT), NEW.clazzCode, CAST(NEW.clazzOwnerPersonUid AS BIGINT))  ON CONFLICT(clazzUid)  DO UPDATE SET clazzName = NEW.clazzName, clazzDesc = NEW.clazzDesc, attendanceAverage = NEW.attendanceAverage, clazzHolidayUMCalendarUid = NEW.clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid = NEW.clazzScheuleUMCalendarUid, isClazzActive = NEW.isClazzActive, clazzLocationUid = NEW.clazzLocationUid, clazzStartTime = NEW.clazzStartTime, clazzEndTime = NEW.clazzEndTime, clazzFeatures = NEW.clazzFeatures, clazzSchoolUid = NEW.clazzSchoolUid, clazzEnrolmentPolicy = NEW.clazzEnrolmentPolicy, clazzTerminologyUid = NEW.clazzTerminologyUid, clazzMasterChangeSeqNum = NEW.clazzMasterChangeSeqNum, clazzLocalChangeSeqNum = NEW.clazzLocalChangeSeqNum, clazzLastChangedBy = NEW.clazzLastChangedBy, clazzLct = NEW.clazzLct, clazzTimeZone = NEW.clazzTimeZone, clazzStudentsPersonGroupUid = NEW.clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid = NEW.clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid = NEW.clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid = NEW.clazzParentsPersonGroupUid, clazzCode = NEW.clazzCode, clazzOwnerPersonUid = NEW.clazzOwnerPersonUid '];
    var tmp_54 = to(6, new ReplicationEntityMetaData(6, 'Clazz', 'Clazz_ReceiveView', tmp_47, 'clazzLct', tmp_48, 1000, tmp_49, listOf(new Trigger('clazz_remote_insert', tmp_50, tmp_51, tmp_52, tmp_53, tmp$ret$62, 'SELECT \n                   CAST(NEW.clazzLct AS BIGINT) >\n                       COALESCE((SELECT Clazz_Existing.clazzLct\n                                   FROM Clazz Clazz_Existing\n                                  WHERE Clazz_Existing.clazzUid = NEW.clazzUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.clazzLct AS BIGINT) >\n                       COALESCE((SELECT Clazz_Existing.clazzLct\n                                   FROM Clazz Clazz_Existing\n                                  WHERE Clazz_Existing.clazzUid = NEW.clazzUid), 0)\n                   '))));
    var tmp_55 = listOf('clazzEnrolmentUid');
    var tmp_56 = listOf_0([new ReplicationFieldMetaData('clazzEnrolmentPersonUid', -5, false), new ReplicationFieldMetaData('clazzEnrolmentClazzUid', -5, false), new ReplicationFieldMetaData('clazzEnrolmentDateJoined', -5, false), new ReplicationFieldMetaData('clazzEnrolmentDateLeft', -5, false), new ReplicationFieldMetaData('clazzEnrolmentRole', 4, false), new ReplicationFieldMetaData('clazzEnrolmentAttendancePercentage', 6, false), new ReplicationFieldMetaData('clazzEnrolmentActive', 16, false), new ReplicationFieldMetaData('clazzEnrolmentLeavingReasonUid', -5, false), new ReplicationFieldMetaData('clazzEnrolmentOutcome', 4, false), new ReplicationFieldMetaData('clazzEnrolmentLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('clazzEnrolmentMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('clazzEnrolmentLastChangedBy', 4, false), new ReplicationFieldMetaData('clazzEnrolmentLct', -5, false), new ReplicationFieldMetaData('clazzEnrolmentUid', -5, false)]);
    var tmp_57 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_58 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_59 = [Event_INSERT_getInstance()];
    var tmp_60 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_61 = ['REPLACE INTO ClazzEnrolment (clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES( CAST(NEW.clazzEnrolmentUid AS BIGINT), CAST(NEW.clazzEnrolmentPersonUid AS BIGINT), CAST(NEW.clazzEnrolmentClazzUid AS BIGINT), CAST(NEW.clazzEnrolmentDateJoined AS BIGINT), CAST(NEW.clazzEnrolmentDateLeft AS BIGINT), NEW.clazzEnrolmentRole, NEW.clazzEnrolmentAttendancePercentage, NEW.clazzEnrolmentActive, CAST(NEW.clazzEnrolmentLeavingReasonUid AS BIGINT), NEW.clazzEnrolmentOutcome, CAST(NEW.clazzEnrolmentLocalChangeSeqNum AS BIGINT), CAST(NEW.clazzEnrolmentMasterChangeSeqNum AS BIGINT), NEW.clazzEnrolmentLastChangedBy, CAST(NEW.clazzEnrolmentLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$71 = ['INSERT INTO ClazzEnrolment (clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES( CAST(NEW.clazzEnrolmentUid AS BIGINT), CAST(NEW.clazzEnrolmentPersonUid AS BIGINT), CAST(NEW.clazzEnrolmentClazzUid AS BIGINT), CAST(NEW.clazzEnrolmentDateJoined AS BIGINT), CAST(NEW.clazzEnrolmentDateLeft AS BIGINT), NEW.clazzEnrolmentRole, NEW.clazzEnrolmentAttendancePercentage, NEW.clazzEnrolmentActive, CAST(NEW.clazzEnrolmentLeavingReasonUid AS BIGINT), NEW.clazzEnrolmentOutcome, CAST(NEW.clazzEnrolmentLocalChangeSeqNum AS BIGINT), CAST(NEW.clazzEnrolmentMasterChangeSeqNum AS BIGINT), NEW.clazzEnrolmentLastChangedBy, CAST(NEW.clazzEnrolmentLct AS BIGINT))  ON CONFLICT(clazzEnrolmentUid)  DO UPDATE SET clazzEnrolmentPersonUid = NEW.clazzEnrolmentPersonUid, clazzEnrolmentClazzUid = NEW.clazzEnrolmentClazzUid, clazzEnrolmentDateJoined = NEW.clazzEnrolmentDateJoined, clazzEnrolmentDateLeft = NEW.clazzEnrolmentDateLeft, clazzEnrolmentRole = NEW.clazzEnrolmentRole, clazzEnrolmentAttendancePercentage = NEW.clazzEnrolmentAttendancePercentage, clazzEnrolmentActive = NEW.clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid = NEW.clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome = NEW.clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum = NEW.clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum = NEW.clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy = NEW.clazzEnrolmentLastChangedBy, clazzEnrolmentLct = NEW.clazzEnrolmentLct '];
    var tmp_62 = to(65, new ReplicationEntityMetaData(65, 'ClazzEnrolment', 'ClazzEnrolment_ReceiveView', tmp_55, 'clazzEnrolmentLct', tmp_56, 1000, tmp_57, listOf(new Trigger('clazzenrolment_remote_insert', tmp_58, tmp_59, tmp_60, tmp_61, tmp$ret$71, 'SELECT \n                   CAST(NEW.clazzEnrolmentLct AS BIGINT) >\n                       COALESCE((SELECT ClazzEnrolment_Existing.clazzEnrolmentLct\n                                   FROM ClazzEnrolment ClazzEnrolment_Existing\n                                  WHERE ClazzEnrolment_Existing.clazzEnrolmentUid = NEW.clazzEnrolmentUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.clazzEnrolmentLct AS BIGINT) >\n                       COALESCE((SELECT ClazzEnrolment_Existing.clazzEnrolmentLct\n                                   FROM ClazzEnrolment ClazzEnrolment_Existing\n                                  WHERE ClazzEnrolment_Existing.clazzEnrolmentUid = NEW.clazzEnrolmentUid), 0)\n                   '))));
    var tmp_63 = listOf('leavingReasonUid');
    var tmp_64 = listOf_0([new ReplicationFieldMetaData('leavingReasonTitle', -1, true), new ReplicationFieldMetaData('leavingReasonMCSN', -5, false), new ReplicationFieldMetaData('leavingReasonCSN', -5, false), new ReplicationFieldMetaData('leavingReasonLCB', 4, false), new ReplicationFieldMetaData('leavingReasonLct', -5, false), new ReplicationFieldMetaData('leavingReasonUid', -5, false)]);
    var tmp_65 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_66 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_67 = [Event_INSERT_getInstance()];
    var tmp_68 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_69 = ['REPLACE INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES( CAST(NEW.leavingReasonUid AS BIGINT), NEW.leavingReasonTitle, CAST(NEW.leavingReasonMCSN AS BIGINT), CAST(NEW.leavingReasonCSN AS BIGINT), NEW.leavingReasonLCB, CAST(NEW.leavingReasonLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$80 = ['INSERT INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES( CAST(NEW.leavingReasonUid AS BIGINT), NEW.leavingReasonTitle, CAST(NEW.leavingReasonMCSN AS BIGINT), CAST(NEW.leavingReasonCSN AS BIGINT), NEW.leavingReasonLCB, CAST(NEW.leavingReasonLct AS BIGINT))  ON CONFLICT(leavingReasonUid)  DO UPDATE SET leavingReasonTitle = NEW.leavingReasonTitle, leavingReasonMCSN = NEW.leavingReasonMCSN, leavingReasonCSN = NEW.leavingReasonCSN, leavingReasonLCB = NEW.leavingReasonLCB, leavingReasonLct = NEW.leavingReasonLct '];
    var tmp_70 = to(410, new ReplicationEntityMetaData(410, 'LeavingReason', 'LeavingReason_ReceiveView', tmp_63, 'leavingReasonLct', tmp_64, 1000, tmp_65, listOf(new Trigger('leavingreason_remote_insert', tmp_66, tmp_67, tmp_68, tmp_69, tmp$ret$80, 'SELECT \n                   CAST(NEW.leavingReasonLct AS BIGINT) >\n                       COALESCE((SELECT LeavingReason_Existing.leavingReasonLct\n                                   FROM LeavingReason LeavingReason_Existing\n                                  WHERE LeavingReason_Existing.leavingReasonUid = NEW.leavingReasonUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.leavingReasonLct AS BIGINT) >\n                       COALESCE((SELECT LeavingReason_Existing.leavingReasonLct\n                                   FROM LeavingReason LeavingReason_Existing\n                                  WHERE LeavingReason_Existing.leavingReasonUid = NEW.leavingReasonUid), 0)\n                   '))));
    var tmp_71 = listOf('contentEntryUid');
    var tmp_72 = listOf_0([new ReplicationFieldMetaData('title', -1, true), new ReplicationFieldMetaData('description', -1, true), new ReplicationFieldMetaData('entryId', -1, true), new ReplicationFieldMetaData('author', -1, true), new ReplicationFieldMetaData('publisher', -1, true), new ReplicationFieldMetaData('licenseType', 4, false), new ReplicationFieldMetaData('licenseName', -1, true), new ReplicationFieldMetaData('licenseUrl', -1, true), new ReplicationFieldMetaData('sourceUrl', -1, true), new ReplicationFieldMetaData('thumbnailUrl', -1, true), new ReplicationFieldMetaData('lastModified', -5, false), new ReplicationFieldMetaData('primaryLanguageUid', -5, false), new ReplicationFieldMetaData('languageVariantUid', -5, false), new ReplicationFieldMetaData('contentFlags', 4, false), new ReplicationFieldMetaData('leaf', 16, false), new ReplicationFieldMetaData('publik', 16, false), new ReplicationFieldMetaData('ceInactive', 16, false), new ReplicationFieldMetaData('completionCriteria', 4, false), new ReplicationFieldMetaData('minScore', 4, false), new ReplicationFieldMetaData('contentTypeFlag', 4, false), new ReplicationFieldMetaData('contentOwner', -5, false), new ReplicationFieldMetaData('contentOwnerType', 4, false), new ReplicationFieldMetaData('contentEntryLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('contentEntryMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('contentEntryLastChangedBy', 4, false), new ReplicationFieldMetaData('contentEntryLct', -5, false), new ReplicationFieldMetaData('contentEntryUid', -5, false)]);
    var tmp_73 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_74 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_75 = [Event_INSERT_getInstance()];
    var tmp_76 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_77 = ['REPLACE INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES( CAST(NEW.contentEntryUid AS BIGINT), NEW.title, NEW.description, NEW.entryId, NEW.author, NEW.publisher, NEW.licenseType, NEW.licenseName, NEW.licenseUrl, NEW.sourceUrl, NEW.thumbnailUrl, CAST(NEW.lastModified AS BIGINT), CAST(NEW.primaryLanguageUid AS BIGINT), CAST(NEW.languageVariantUid AS BIGINT), NEW.contentFlags, NEW.leaf, NEW.publik, NEW.ceInactive, NEW.completionCriteria, NEW.minScore, NEW.contentTypeFlag, CAST(NEW.contentOwner AS BIGINT), NEW.contentOwnerType, CAST(NEW.contentEntryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentEntryMasterChangeSeqNum AS BIGINT), NEW.contentEntryLastChangedBy, CAST(NEW.contentEntryLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$89 = ['INSERT INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES( CAST(NEW.contentEntryUid AS BIGINT), NEW.title, NEW.description, NEW.entryId, NEW.author, NEW.publisher, NEW.licenseType, NEW.licenseName, NEW.licenseUrl, NEW.sourceUrl, NEW.thumbnailUrl, CAST(NEW.lastModified AS BIGINT), CAST(NEW.primaryLanguageUid AS BIGINT), CAST(NEW.languageVariantUid AS BIGINT), NEW.contentFlags, NEW.leaf, NEW.publik, NEW.ceInactive, NEW.completionCriteria, NEW.minScore, NEW.contentTypeFlag, CAST(NEW.contentOwner AS BIGINT), NEW.contentOwnerType, CAST(NEW.contentEntryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentEntryMasterChangeSeqNum AS BIGINT), NEW.contentEntryLastChangedBy, CAST(NEW.contentEntryLct AS BIGINT))  ON CONFLICT(contentEntryUid)  DO UPDATE SET title = NEW.title, description = NEW.description, entryId = NEW.entryId, author = NEW.author, publisher = NEW.publisher, licenseType = NEW.licenseType, licenseName = NEW.licenseName, licenseUrl = NEW.licenseUrl, sourceUrl = NEW.sourceUrl, thumbnailUrl = NEW.thumbnailUrl, lastModified = NEW.lastModified, primaryLanguageUid = NEW.primaryLanguageUid, languageVariantUid = NEW.languageVariantUid, contentFlags = NEW.contentFlags, leaf = NEW.leaf, publik = NEW.publik, ceInactive = NEW.ceInactive, completionCriteria = NEW.completionCriteria, minScore = NEW.minScore, contentTypeFlag = NEW.contentTypeFlag, contentOwner = NEW.contentOwner, contentOwnerType = NEW.contentOwnerType, contentEntryLocalChangeSeqNum = NEW.contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum = NEW.contentEntryMasterChangeSeqNum, contentEntryLastChangedBy = NEW.contentEntryLastChangedBy, contentEntryLct = NEW.contentEntryLct '];
    var tmp_78 = to(42, new ReplicationEntityMetaData(42, 'ContentEntry', 'ContentEntry_ReceiveView', tmp_71, 'contentEntryLct', tmp_72, 1000, tmp_73, listOf(new Trigger('contententry_remote_insert', tmp_74, tmp_75, tmp_76, tmp_77, tmp$ret$89, 'SELECT \n                   CAST(NEW.contentEntryLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntry_Existing.contentEntryLct\n                                   FROM ContentEntry ContentEntry_Existing\n                                  WHERE ContentEntry_Existing.contentEntryUid = NEW.contentEntryUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.contentEntryLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntry_Existing.contentEntryLct\n                                   FROM ContentEntry ContentEntry_Existing\n                                  WHERE ContentEntry_Existing.contentEntryUid = NEW.contentEntryUid), 0)\n                   '))));
    var tmp_79 = listOf('ceccjUid');
    var tmp_80 = listOf_0([new ReplicationFieldMetaData('ceccjContentEntryUid', -5, false), new ReplicationFieldMetaData('ceccjContentCategoryUid', -5, false), new ReplicationFieldMetaData('ceccjLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('ceccjMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('ceccjLastChangedBy', 4, false), new ReplicationFieldMetaData('ceccjLct', -5, false), new ReplicationFieldMetaData('ceccjUid', -5, false)]);
    var tmp_81 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_82 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_83 = [Event_INSERT_getInstance()];
    var tmp_84 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_85 = ['REPLACE INTO ContentEntryContentCategoryJoin (ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES( CAST(NEW.ceccjUid AS BIGINT), CAST(NEW.ceccjContentEntryUid AS BIGINT), CAST(NEW.ceccjContentCategoryUid AS BIGINT), CAST(NEW.ceccjLocalChangeSeqNum AS BIGINT), CAST(NEW.ceccjMasterChangeSeqNum AS BIGINT), NEW.ceccjLastChangedBy, CAST(NEW.ceccjLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$98 = ['INSERT INTO ContentEntryContentCategoryJoin (ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES( CAST(NEW.ceccjUid AS BIGINT), CAST(NEW.ceccjContentEntryUid AS BIGINT), CAST(NEW.ceccjContentCategoryUid AS BIGINT), CAST(NEW.ceccjLocalChangeSeqNum AS BIGINT), CAST(NEW.ceccjMasterChangeSeqNum AS BIGINT), NEW.ceccjLastChangedBy, CAST(NEW.ceccjLct AS BIGINT))  ON CONFLICT(ceccjUid)  DO UPDATE SET ceccjContentEntryUid = NEW.ceccjContentEntryUid, ceccjContentCategoryUid = NEW.ceccjContentCategoryUid, ceccjLocalChangeSeqNum = NEW.ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum = NEW.ceccjMasterChangeSeqNum, ceccjLastChangedBy = NEW.ceccjLastChangedBy, ceccjLct = NEW.ceccjLct '];
    var tmp_86 = to(3, new ReplicationEntityMetaData(3, 'ContentEntryContentCategoryJoin', 'ContentEntryContentCategoryJoin_ReceiveView', tmp_79, 'ceccjLct', tmp_80, 1000, tmp_81, listOf(new Trigger('contententrycontentcategoryjoin_remote_insert', tmp_82, tmp_83, tmp_84, tmp_85, tmp$ret$98, 'SELECT \n                   CAST(NEW.ceccjLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryContentCategoryJoin_Existing.ceccjLct\n                                   FROM ContentEntryContentCategoryJoin ContentEntryContentCategoryJoin_Existing\n                                  WHERE ContentEntryContentCategoryJoin_Existing.ceccjUid = NEW.ceccjUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.ceccjLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryContentCategoryJoin_Existing.ceccjLct\n                                   FROM ContentEntryContentCategoryJoin ContentEntryContentCategoryJoin_Existing\n                                  WHERE ContentEntryContentCategoryJoin_Existing.ceccjUid = NEW.ceccjUid), 0)\n                   '))));
    var tmp_87 = listOf('cepcjUid');
    var tmp_88 = listOf_0([new ReplicationFieldMetaData('cepcjLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('cepcjMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('cepcjLastChangedBy', 4, false), new ReplicationFieldMetaData('cepcjLct', -5, false), new ReplicationFieldMetaData('cepcjDeleted', 16, false), new ReplicationFieldMetaData('cepcjParentContentEntryUid', -5, false), new ReplicationFieldMetaData('cepcjChildContentEntryUid', -5, false), new ReplicationFieldMetaData('childIndex', 4, false), new ReplicationFieldMetaData('cepcjUid', -5, false)]);
    var tmp_89 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_90 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_91 = [Event_INSERT_getInstance()];
    var tmp_92 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_93 = ['REPLACE INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES( CAST(NEW.cepcjUid AS BIGINT), CAST(NEW.cepcjLocalChangeSeqNum AS BIGINT), CAST(NEW.cepcjMasterChangeSeqNum AS BIGINT), NEW.cepcjLastChangedBy, CAST(NEW.cepcjLct AS BIGINT), NEW.cepcjDeleted, CAST(NEW.cepcjParentContentEntryUid AS BIGINT), CAST(NEW.cepcjChildContentEntryUid AS BIGINT), NEW.childIndex) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$107 = ['INSERT INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES( CAST(NEW.cepcjUid AS BIGINT), CAST(NEW.cepcjLocalChangeSeqNum AS BIGINT), CAST(NEW.cepcjMasterChangeSeqNum AS BIGINT), NEW.cepcjLastChangedBy, CAST(NEW.cepcjLct AS BIGINT), NEW.cepcjDeleted, CAST(NEW.cepcjParentContentEntryUid AS BIGINT), CAST(NEW.cepcjChildContentEntryUid AS BIGINT), NEW.childIndex)  ON CONFLICT(cepcjUid)  DO UPDATE SET cepcjLocalChangeSeqNum = NEW.cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum = NEW.cepcjMasterChangeSeqNum, cepcjLastChangedBy = NEW.cepcjLastChangedBy, cepcjLct = NEW.cepcjLct, cepcjDeleted = NEW.cepcjDeleted, cepcjParentContentEntryUid = NEW.cepcjParentContentEntryUid, cepcjChildContentEntryUid = NEW.cepcjChildContentEntryUid, childIndex = NEW.childIndex '];
    var tmp_94 = to(7, new ReplicationEntityMetaData(7, 'ContentEntryParentChildJoin', 'ContentEntryParentChildJoin_ReceiveView', tmp_87, 'cepcjLct', tmp_88, 1000, tmp_89, listOf(new Trigger('contententryparentchildjoin_remote_insert', tmp_90, tmp_91, tmp_92, tmp_93, tmp$ret$107, 'SELECT \n                   CAST(NEW.cepcjLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryParentChildJoin_Existing.cepcjLct\n                                   FROM ContentEntryParentChildJoin ContentEntryParentChildJoin_Existing\n                                  WHERE ContentEntryParentChildJoin_Existing.cepcjUid = NEW.cepcjUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cepcjLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryParentChildJoin_Existing.cepcjLct\n                                   FROM ContentEntryParentChildJoin ContentEntryParentChildJoin_Existing\n                                  WHERE ContentEntryParentChildJoin_Existing.cepcjUid = NEW.cepcjUid), 0)\n                   '))));
    var tmp_95 = listOf('cerejUid');
    var tmp_96 = listOf_0([new ReplicationFieldMetaData('cerejContentEntryUid', -5, false), new ReplicationFieldMetaData('cerejRelatedEntryUid', -5, false), new ReplicationFieldMetaData('cerejLastChangedBy', 4, false), new ReplicationFieldMetaData('relType', 4, false), new ReplicationFieldMetaData('comment', -1, true), new ReplicationFieldMetaData('cerejRelLanguageUid', -5, false), new ReplicationFieldMetaData('cerejLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('cerejMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('cerejLct', -5, false), new ReplicationFieldMetaData('cerejUid', -5, false)]);
    var tmp_97 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_98 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_99 = [Event_INSERT_getInstance()];
    var tmp_100 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_101 = ['REPLACE INTO ContentEntryRelatedEntryJoin (cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES( CAST(NEW.cerejUid AS BIGINT), CAST(NEW.cerejContentEntryUid AS BIGINT), CAST(NEW.cerejRelatedEntryUid AS BIGINT), NEW.cerejLastChangedBy, NEW.relType, NEW.comment, CAST(NEW.cerejRelLanguageUid AS BIGINT), CAST(NEW.cerejLocalChangeSeqNum AS BIGINT), CAST(NEW.cerejMasterChangeSeqNum AS BIGINT), CAST(NEW.cerejLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$116 = ['INSERT INTO ContentEntryRelatedEntryJoin (cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES( CAST(NEW.cerejUid AS BIGINT), CAST(NEW.cerejContentEntryUid AS BIGINT), CAST(NEW.cerejRelatedEntryUid AS BIGINT), NEW.cerejLastChangedBy, NEW.relType, NEW.comment, CAST(NEW.cerejRelLanguageUid AS BIGINT), CAST(NEW.cerejLocalChangeSeqNum AS BIGINT), CAST(NEW.cerejMasterChangeSeqNum AS BIGINT), CAST(NEW.cerejLct AS BIGINT))  ON CONFLICT(cerejUid)  DO UPDATE SET cerejContentEntryUid = NEW.cerejContentEntryUid, cerejRelatedEntryUid = NEW.cerejRelatedEntryUid, cerejLastChangedBy = NEW.cerejLastChangedBy, relType = NEW.relType, comment = NEW.comment, cerejRelLanguageUid = NEW.cerejRelLanguageUid, cerejLocalChangeSeqNum = NEW.cerejLocalChangeSeqNum, cerejMasterChangeSeqNum = NEW.cerejMasterChangeSeqNum, cerejLct = NEW.cerejLct '];
    var tmp_102 = to(8, new ReplicationEntityMetaData(8, 'ContentEntryRelatedEntryJoin', 'ContentEntryRelatedEntryJoin_ReceiveView', tmp_95, 'cerejLct', tmp_96, 1000, tmp_97, listOf(new Trigger('contententryrelatedentryjoin_remote_insert', tmp_98, tmp_99, tmp_100, tmp_101, tmp$ret$116, 'SELECT \n                   CAST(NEW.cerejLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryRelatedEntryJoin_Existing.cerejLct\n                                   FROM ContentEntryRelatedEntryJoin ContentEntryRelatedEntryJoin_Existing\n                                  WHERE ContentEntryRelatedEntryJoin_Existing.cerejUid = NEW.cerejUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cerejLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryRelatedEntryJoin_Existing.cerejLct\n                                   FROM ContentEntryRelatedEntryJoin ContentEntryRelatedEntryJoin_Existing\n                                  WHERE ContentEntryRelatedEntryJoin_Existing.cerejUid = NEW.cerejUid), 0)\n                   '))));
    var tmp_103 = listOf('contentCategorySchemaUid');
    var tmp_104 = listOf_0([new ReplicationFieldMetaData('schemaName', -1, true), new ReplicationFieldMetaData('schemaUrl', -1, true), new ReplicationFieldMetaData('contentCategorySchemaLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('contentCategorySchemaMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('contentCategorySchemaLastChangedBy', 4, false), new ReplicationFieldMetaData('contentCategorySchemaLct', -5, false), new ReplicationFieldMetaData('contentCategorySchemaUid', -5, false)]);
    var tmp_105 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_106 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_107 = [Event_INSERT_getInstance()];
    var tmp_108 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_109 = ['REPLACE INTO ContentCategorySchema (contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES( CAST(NEW.contentCategorySchemaUid AS BIGINT), NEW.schemaName, NEW.schemaUrl, CAST(NEW.contentCategorySchemaLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategorySchemaMasterChangeSeqNum AS BIGINT), NEW.contentCategorySchemaLastChangedBy, CAST(NEW.contentCategorySchemaLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$125 = ['INSERT INTO ContentCategorySchema (contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES( CAST(NEW.contentCategorySchemaUid AS BIGINT), NEW.schemaName, NEW.schemaUrl, CAST(NEW.contentCategorySchemaLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategorySchemaMasterChangeSeqNum AS BIGINT), NEW.contentCategorySchemaLastChangedBy, CAST(NEW.contentCategorySchemaLct AS BIGINT))  ON CONFLICT(contentCategorySchemaUid)  DO UPDATE SET schemaName = NEW.schemaName, schemaUrl = NEW.schemaUrl, contentCategorySchemaLocalChangeSeqNum = NEW.contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum = NEW.contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy = NEW.contentCategorySchemaLastChangedBy, contentCategorySchemaLct = NEW.contentCategorySchemaLct '];
    var tmp_110 = to(2, new ReplicationEntityMetaData(2, 'ContentCategorySchema', 'ContentCategorySchema_ReceiveView', tmp_103, 'contentCategorySchemaLct', tmp_104, 1000, tmp_105, listOf(new Trigger('contentcategoryschema_remote_insert', tmp_106, tmp_107, tmp_108, tmp_109, tmp$ret$125, 'SELECT \n                   CAST(NEW.contentCategorySchemaLct AS BIGINT) >\n                       COALESCE((SELECT ContentCategorySchema_Existing.contentCategorySchemaLct\n                                   FROM ContentCategorySchema ContentCategorySchema_Existing\n                                  WHERE ContentCategorySchema_Existing.contentCategorySchemaUid = NEW.contentCategorySchemaUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.contentCategorySchemaLct AS BIGINT) >\n                       COALESCE((SELECT ContentCategorySchema_Existing.contentCategorySchemaLct\n                                   FROM ContentCategorySchema ContentCategorySchema_Existing\n                                  WHERE ContentCategorySchema_Existing.contentCategorySchemaUid = NEW.contentCategorySchemaUid), 0)\n                   '))));
    var tmp_111 = listOf('contentCategoryUid');
    var tmp_112 = listOf_0([new ReplicationFieldMetaData('ctnCatContentCategorySchemaUid', -5, false), new ReplicationFieldMetaData('name', -1, true), new ReplicationFieldMetaData('contentCategoryLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('contentCategoryMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('contentCategoryLastChangedBy', 4, false), new ReplicationFieldMetaData('contentCategoryLct', -5, false), new ReplicationFieldMetaData('contentCategoryUid', -5, false)]);
    var tmp_113 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_114 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_115 = [Event_INSERT_getInstance()];
    var tmp_116 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_117 = ['REPLACE INTO ContentCategory (contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES( CAST(NEW.contentCategoryUid AS BIGINT), CAST(NEW.ctnCatContentCategorySchemaUid AS BIGINT), NEW.name, CAST(NEW.contentCategoryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategoryMasterChangeSeqNum AS BIGINT), NEW.contentCategoryLastChangedBy, CAST(NEW.contentCategoryLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$134 = ['INSERT INTO ContentCategory (contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES( CAST(NEW.contentCategoryUid AS BIGINT), CAST(NEW.ctnCatContentCategorySchemaUid AS BIGINT), NEW.name, CAST(NEW.contentCategoryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategoryMasterChangeSeqNum AS BIGINT), NEW.contentCategoryLastChangedBy, CAST(NEW.contentCategoryLct AS BIGINT))  ON CONFLICT(contentCategoryUid)  DO UPDATE SET ctnCatContentCategorySchemaUid = NEW.ctnCatContentCategorySchemaUid, name = NEW.name, contentCategoryLocalChangeSeqNum = NEW.contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum = NEW.contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy = NEW.contentCategoryLastChangedBy, contentCategoryLct = NEW.contentCategoryLct '];
    var tmp_118 = to(1, new ReplicationEntityMetaData(1, 'ContentCategory', 'ContentCategory_ReceiveView', tmp_111, 'contentCategoryLct', tmp_112, 1000, tmp_113, listOf(new Trigger('contentcategory_remote_insert', tmp_114, tmp_115, tmp_116, tmp_117, tmp$ret$134, 'SELECT \n                   CAST(NEW.contentCategoryLct AS BIGINT) >\n                       COALESCE((SELECT ContentCategory_Existing.contentCategoryLct\n                                   FROM ContentCategory ContentCategory_Existing\n                                  WHERE ContentCategory_Existing.contentCategoryUid = NEW.contentCategoryUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.contentCategoryLct AS BIGINT) >\n                       COALESCE((SELECT ContentCategory_Existing.contentCategoryLct\n                                   FROM ContentCategory ContentCategory_Existing\n                                  WHERE ContentCategory_Existing.contentCategoryUid = NEW.contentCategoryUid), 0)\n                   '))));
    var tmp_119 = listOf('langUid');
    var tmp_120 = listOf_0([new ReplicationFieldMetaData('name', -1, true), new ReplicationFieldMetaData('iso_639_1_standard', -1, true), new ReplicationFieldMetaData('iso_639_2_standard', -1, true), new ReplicationFieldMetaData('iso_639_3_standard', -1, true), new ReplicationFieldMetaData('Language_Type', -1, true), new ReplicationFieldMetaData('languageActive', 16, false), new ReplicationFieldMetaData('langLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('langMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('langLastChangedBy', 4, false), new ReplicationFieldMetaData('langLct', -5, false), new ReplicationFieldMetaData('langUid', -5, false)]);
    var tmp_121 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_122 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_123 = [Event_INSERT_getInstance()];
    var tmp_124 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_125 = ['REPLACE INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES( CAST(NEW.langUid AS BIGINT), NEW.name, NEW.iso_639_1_standard, NEW.iso_639_2_standard, NEW.iso_639_3_standard, NEW.Language_Type, NEW.languageActive, CAST(NEW.langLocalChangeSeqNum AS BIGINT), CAST(NEW.langMasterChangeSeqNum AS BIGINT), NEW.langLastChangedBy, CAST(NEW.langLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$143 = ['INSERT INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES( CAST(NEW.langUid AS BIGINT), NEW.name, NEW.iso_639_1_standard, NEW.iso_639_2_standard, NEW.iso_639_3_standard, NEW.Language_Type, NEW.languageActive, CAST(NEW.langLocalChangeSeqNum AS BIGINT), CAST(NEW.langMasterChangeSeqNum AS BIGINT), NEW.langLastChangedBy, CAST(NEW.langLct AS BIGINT))  ON CONFLICT(langUid)  DO UPDATE SET name = NEW.name, iso_639_1_standard = NEW.iso_639_1_standard, iso_639_2_standard = NEW.iso_639_2_standard, iso_639_3_standard = NEW.iso_639_3_standard, Language_Type = NEW.Language_Type, languageActive = NEW.languageActive, langLocalChangeSeqNum = NEW.langLocalChangeSeqNum, langMasterChangeSeqNum = NEW.langMasterChangeSeqNum, langLastChangedBy = NEW.langLastChangedBy, langLct = NEW.langLct '];
    var tmp_126 = to(13, new ReplicationEntityMetaData(13, 'Language', 'Language_ReceiveView', tmp_119, 'langLct', tmp_120, 1000, tmp_121, listOf(new Trigger('language_remote_insert', tmp_122, tmp_123, tmp_124, tmp_125, tmp$ret$143, 'SELECT \n                   CAST(NEW.langLct AS BIGINT) >\n                       COALESCE((SELECT Language_Existing.langLct\n                                   FROM Language Language_Existing\n                                  WHERE Language_Existing.langUid = NEW.langUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.langLct AS BIGINT) >\n                       COALESCE((SELECT Language_Existing.langLct\n                                   FROM Language Language_Existing\n                                  WHERE Language_Existing.langUid = NEW.langUid), 0)\n                   '))));
    var tmp_127 = listOf('langVariantUid');
    var tmp_128 = listOf_0([new ReplicationFieldMetaData('langUid', -5, false), new ReplicationFieldMetaData('countryCode', -1, true), new ReplicationFieldMetaData('name', -1, true), new ReplicationFieldMetaData('langVariantLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('langVariantMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('langVariantLastChangedBy', 4, false), new ReplicationFieldMetaData('langVariantLct', -5, false), new ReplicationFieldMetaData('langVariantUid', -5, false)]);
    var tmp_129 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_130 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_131 = [Event_INSERT_getInstance()];
    var tmp_132 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_133 = ['REPLACE INTO LanguageVariant (langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES( CAST(NEW.langVariantUid AS BIGINT), CAST(NEW.langUid AS BIGINT), NEW.countryCode, NEW.name, CAST(NEW.langVariantLocalChangeSeqNum AS BIGINT), CAST(NEW.langVariantMasterChangeSeqNum AS BIGINT), NEW.langVariantLastChangedBy, CAST(NEW.langVariantLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$152 = ['INSERT INTO LanguageVariant (langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES( CAST(NEW.langVariantUid AS BIGINT), CAST(NEW.langUid AS BIGINT), NEW.countryCode, NEW.name, CAST(NEW.langVariantLocalChangeSeqNum AS BIGINT), CAST(NEW.langVariantMasterChangeSeqNum AS BIGINT), NEW.langVariantLastChangedBy, CAST(NEW.langVariantLct AS BIGINT))  ON CONFLICT(langVariantUid)  DO UPDATE SET langUid = NEW.langUid, countryCode = NEW.countryCode, name = NEW.name, langVariantLocalChangeSeqNum = NEW.langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum = NEW.langVariantMasterChangeSeqNum, langVariantLastChangedBy = NEW.langVariantLastChangedBy, langVariantLct = NEW.langVariantLct '];
    var tmp_134 = to(10, new ReplicationEntityMetaData(10, 'LanguageVariant', 'LanguageVariant_ReceiveView', tmp_127, 'langVariantLct', tmp_128, 1000, tmp_129, listOf(new Trigger('languagevariant_remote_insert', tmp_130, tmp_131, tmp_132, tmp_133, tmp$ret$152, 'SELECT \n                   CAST(NEW.langVariantLct AS BIGINT) >\n                       COALESCE((SELECT LanguageVariant_Existing.langVariantLct\n                                   FROM LanguageVariant LanguageVariant_Existing\n                                  WHERE LanguageVariant_Existing.langVariantUid = NEW.langVariantUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.langVariantLct AS BIGINT) >\n                       COALESCE((SELECT LanguageVariant_Existing.langVariantLct\n                                   FROM LanguageVariant LanguageVariant_Existing\n                                  WHERE LanguageVariant_Existing.langVariantUid = NEW.langVariantUid), 0)\n                   '))));
    var tmp_135 = listOf('groupUid');
    var tmp_136 = listOf_0([new ReplicationFieldMetaData('groupMasterCsn', -5, false), new ReplicationFieldMetaData('groupLocalCsn', -5, false), new ReplicationFieldMetaData('groupLastChangedBy', 4, false), new ReplicationFieldMetaData('groupLct', -5, false), new ReplicationFieldMetaData('groupName', -1, true), new ReplicationFieldMetaData('groupActive', 16, false), new ReplicationFieldMetaData('personGroupFlag', 4, false), new ReplicationFieldMetaData('groupUid', -5, false)]);
    var tmp_137 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_138 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_139 = [Event_INSERT_getInstance()];
    var tmp_140 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_141 = ['REPLACE INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES( CAST(NEW.groupUid AS BIGINT), CAST(NEW.groupMasterCsn AS BIGINT), CAST(NEW.groupLocalCsn AS BIGINT), NEW.groupLastChangedBy, CAST(NEW.groupLct AS BIGINT), NEW.groupName, NEW.groupActive, NEW.personGroupFlag) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$161 = ['INSERT INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES( CAST(NEW.groupUid AS BIGINT), CAST(NEW.groupMasterCsn AS BIGINT), CAST(NEW.groupLocalCsn AS BIGINT), NEW.groupLastChangedBy, CAST(NEW.groupLct AS BIGINT), NEW.groupName, NEW.groupActive, NEW.personGroupFlag)  ON CONFLICT(groupUid)  DO UPDATE SET groupMasterCsn = NEW.groupMasterCsn, groupLocalCsn = NEW.groupLocalCsn, groupLastChangedBy = NEW.groupLastChangedBy, groupLct = NEW.groupLct, groupName = NEW.groupName, groupActive = NEW.groupActive, personGroupFlag = NEW.personGroupFlag '];
    var tmp_142 = to(43, new ReplicationEntityMetaData(43, 'PersonGroup', 'PersonGroup_ReceiveView', tmp_135, 'groupLct', tmp_136, 1000, tmp_137, listOf(new Trigger('persongroup_remote_insert', tmp_138, tmp_139, tmp_140, tmp_141, tmp$ret$161, 'SELECT \n                   CAST(NEW.groupLct AS BIGINT) >\n                       COALESCE((SELECT PersonGroup_Existing.groupLct\n                                   FROM PersonGroup PersonGroup_Existing\n                                  WHERE PersonGroup_Existing.groupUid = NEW.groupUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.groupLct AS BIGINT) >\n                       COALESCE((SELECT PersonGroup_Existing.groupLct\n                                   FROM PersonGroup PersonGroup_Existing\n                                  WHERE PersonGroup_Existing.groupUid = NEW.groupUid), 0)\n                   '))));
    var tmp_143 = listOf('groupMemberUid');
    var tmp_144 = listOf_0([new ReplicationFieldMetaData('groupMemberActive', 16, false), new ReplicationFieldMetaData('groupMemberPersonUid', -5, false), new ReplicationFieldMetaData('groupMemberGroupUid', -5, false), new ReplicationFieldMetaData('groupMemberMasterCsn', -5, false), new ReplicationFieldMetaData('groupMemberLocalCsn', -5, false), new ReplicationFieldMetaData('groupMemberLastChangedBy', 4, false), new ReplicationFieldMetaData('groupMemberLct', -5, false), new ReplicationFieldMetaData('groupMemberUid', -5, false)]);
    var tmp_145 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_146 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_147 = [Event_INSERT_getInstance()];
    var tmp_148 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_149 = ['REPLACE INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES( CAST(NEW.groupMemberUid AS BIGINT), NEW.groupMemberActive, CAST(NEW.groupMemberPersonUid AS BIGINT), CAST(NEW.groupMemberGroupUid AS BIGINT), CAST(NEW.groupMemberMasterCsn AS BIGINT), CAST(NEW.groupMemberLocalCsn AS BIGINT), NEW.groupMemberLastChangedBy, CAST(NEW.groupMemberLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$170 = ['INSERT INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES( CAST(NEW.groupMemberUid AS BIGINT), NEW.groupMemberActive, CAST(NEW.groupMemberPersonUid AS BIGINT), CAST(NEW.groupMemberGroupUid AS BIGINT), CAST(NEW.groupMemberMasterCsn AS BIGINT), CAST(NEW.groupMemberLocalCsn AS BIGINT), NEW.groupMemberLastChangedBy, CAST(NEW.groupMemberLct AS BIGINT))  ON CONFLICT(groupMemberUid)  DO UPDATE SET groupMemberActive = NEW.groupMemberActive, groupMemberPersonUid = NEW.groupMemberPersonUid, groupMemberGroupUid = NEW.groupMemberGroupUid, groupMemberMasterCsn = NEW.groupMemberMasterCsn, groupMemberLocalCsn = NEW.groupMemberLocalCsn, groupMemberLastChangedBy = NEW.groupMemberLastChangedBy, groupMemberLct = NEW.groupMemberLct '];
    var tmp_150 = to(44, new ReplicationEntityMetaData(44, 'PersonGroupMember', 'PersonGroupMember_ReceiveView', tmp_143, 'groupMemberLct', tmp_144, 1000, tmp_145, listOf(new Trigger('persongroupmember_remote_insert', tmp_146, tmp_147, tmp_148, tmp_149, tmp$ret$170, 'SELECT \n                   CAST(NEW.groupMemberLct AS BIGINT) >\n                       COALESCE((SELECT PersonGroupMember_Existing.groupMemberLct\n                                   FROM PersonGroupMember PersonGroupMember_Existing\n                                  WHERE PersonGroupMember_Existing.groupMemberUid = NEW.groupMemberUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.groupMemberLct AS BIGINT) >\n                       COALESCE((SELECT PersonGroupMember_Existing.groupMemberLct\n                                   FROM PersonGroupMember PersonGroupMember_Existing\n                                  WHERE PersonGroupMember_Existing.groupMemberUid = NEW.groupMemberUid), 0)\n                   '))));
    var tmp_151 = listOf('personPictureUid');
    var tmp_152 = listOf_0([new ReplicationFieldMetaData('personPictureLct', -5, false), new ReplicationFieldMetaData('personPictureUri', -1, true), new ReplicationFieldMetaData('personPictureThumbnailUri', -1, true), new ReplicationFieldMetaData('fileSize', 4, false), new ReplicationFieldMetaData('personPictureActive', 16, false), new ReplicationFieldMetaData('personPictureUid', -5, false)]);
    var tmp_153 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_154 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_155 = [Event_INSERT_getInstance()];
    var tmp_156 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_157 = ['REPLACE INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES( CAST(NEW.personPictureUid AS BIGINT), CAST(NEW.personPictureLct AS BIGINT), NEW.personPictureUri, NEW.personPictureThumbnailUri, NEW.fileSize, NEW.personPictureActive) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$179 = ['INSERT INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES( CAST(NEW.personPictureUid AS BIGINT), CAST(NEW.personPictureLct AS BIGINT), NEW.personPictureUri, NEW.personPictureThumbnailUri, NEW.fileSize, NEW.personPictureActive)  ON CONFLICT(personPictureUid)  DO UPDATE SET personPictureLct = NEW.personPictureLct, personPictureUri = NEW.personPictureUri, personPictureThumbnailUri = NEW.personPictureThumbnailUri, fileSize = NEW.fileSize, personPictureActive = NEW.personPictureActive '];
    var tmp_158 = to(50, new ReplicationEntityMetaData(50, 'PersonPicture', 'PersonPicture_ReceiveView', tmp_151, 'personPictureLct', tmp_152, 1000, tmp_153, listOf(new Trigger('personpicture_remote_insert', tmp_154, tmp_155, tmp_156, tmp_157, tmp$ret$179, 'SELECT \n                   CAST(NEW.personPictureLct AS BIGINT) >\n                       COALESCE((SELECT PersonPicture_Existing.personPictureLct\n                                   FROM PersonPicture PersonPicture_Existing\n                                  WHERE PersonPicture_Existing.personPictureUid = NEW.personPictureUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.personPictureLct AS BIGINT) >\n                       COALESCE((SELECT PersonPicture_Existing.personPictureLct\n                                   FROM PersonPicture PersonPicture_Existing\n                                  WHERE PersonPicture_Existing.personPictureUid = NEW.personPictureUid), 0)\n                   '))));
    var tmp_159 = listOf('verbUid');
    var tmp_160 = listOf_0([new ReplicationFieldMetaData('verbUid', -5, false), new ReplicationFieldMetaData('verbUrlId', -1, true), new ReplicationFieldMetaData('verbDeleted', 16, false), new ReplicationFieldMetaData('verbLct', -5, false)]);
    var tmp_161 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_162 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_163 = [Event_INSERT_getInstance()];
    var tmp_164 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_165 = ['REPLACE INTO VerbEntity (verbUid, verbUrlId, verbDeleted, verbLct) VALUES( CAST(NEW.verbUid AS BIGINT), NEW.verbUrlId, NEW.verbDeleted, CAST(NEW.verbLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$188 = ['INSERT INTO VerbEntity (verbUid, verbUrlId, verbDeleted, verbLct) VALUES( CAST(NEW.verbUid AS BIGINT), NEW.verbUrlId, NEW.verbDeleted, CAST(NEW.verbLct AS BIGINT))  ON CONFLICT(verbUid)  DO UPDATE SET verbUrlId = NEW.verbUrlId, verbDeleted = NEW.verbDeleted, verbLct = NEW.verbLct '];
    var tmp_166 = to(62, new ReplicationEntityMetaData(62, 'VerbEntity', 'VerbEntity_ReceiveView', tmp_159, 'verbLct', tmp_160, 1000, tmp_161, listOf(new Trigger('verbentity_remote_insert', tmp_162, tmp_163, tmp_164, tmp_165, tmp$ret$188, 'SELECT \n                   CAST(NEW.verbLct AS BIGINT) >\n                       COALESCE((SELECT VerbEntity_Existing.verbLct\n                                   FROM VerbEntity VerbEntity_Existing\n                                  WHERE VerbEntity_Existing.verbUid = NEW.verbUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.verbLct AS BIGINT) >\n                       COALESCE((SELECT VerbEntity_Existing.verbLct\n                                   FROM VerbEntity VerbEntity_Existing\n                                  WHERE VerbEntity_Existing.verbUid = NEW.verbUid), 0)\n                   '))));
    var tmp_167 = listOf('actUid');
    var tmp_168 = listOf_0([new ReplicationFieldMetaData('actUid', -5, false), new ReplicationFieldMetaData('actIdIri', -1, true), new ReplicationFieldMetaData('actType', -1, true), new ReplicationFieldMetaData('actMoreInfo', -1, true), new ReplicationFieldMetaData('actInteractionType', 4, false), new ReplicationFieldMetaData('actCorrectResponsePatterns', -1, true), new ReplicationFieldMetaData('actLct', -5, false)]);
    var tmp_169 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_170 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_171 = [Event_INSERT_getInstance()];
    var tmp_172 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_173 = ['REPLACE INTO ActivityEntity (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) VALUES( CAST(NEW.actUid AS BIGINT), NEW.actIdIri, NEW.actType, NEW.actMoreInfo, NEW.actInteractionType, NEW.actCorrectResponsePatterns, CAST(NEW.actLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$197 = ['INSERT INTO ActivityEntity (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) VALUES( CAST(NEW.actUid AS BIGINT), NEW.actIdIri, NEW.actType, NEW.actMoreInfo, NEW.actInteractionType, NEW.actCorrectResponsePatterns, CAST(NEW.actLct AS BIGINT))  ON CONFLICT(actUid)  DO UPDATE SET actIdIri = NEW.actIdIri, actType = NEW.actType, actMoreInfo = NEW.actMoreInfo, actInteractionType = NEW.actInteractionType, actCorrectResponsePatterns = NEW.actCorrectResponsePatterns, actLct = NEW.actLct '];
    var tmp_174 = to(64, new ReplicationEntityMetaData(64, 'ActivityEntity', 'ActivityEntity_ReceiveView', tmp_167, 'actLct', tmp_168, 1000, tmp_169, listOf(new Trigger('activityentity_remote_insert', tmp_170, tmp_171, tmp_172, tmp_173, tmp$ret$197, 'SELECT \n                   CAST(NEW.actLct AS BIGINT) >\n                       COALESCE((SELECT ActivityEntity_Existing.actLct\n                                   FROM ActivityEntity ActivityEntity_Existing\n                                  WHERE ActivityEntity_Existing.actUid = NEW.actUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.actLct AS BIGINT) >\n                       COALESCE((SELECT ActivityEntity_Existing.actLct\n                                   FROM ActivityEntity ActivityEntity_Existing\n                                  WHERE ActivityEntity_Existing.actUid = NEW.actUid), 0)\n                   '))));
    var tmp_175 = listOf_0(['statementIdHi', 'statementIdLo']);
    var tmp_176 = listOf_0([new ReplicationFieldMetaData('statementIdHi', -5, false), new ReplicationFieldMetaData('statementIdLo', -5, false), new ReplicationFieldMetaData('statementActorPersonUid', -5, false), new ReplicationFieldMetaData('statementVerbUid', -5, false), new ReplicationFieldMetaData('statementObjectType', 4, false), new ReplicationFieldMetaData('statementObjectUid1', -5, false), new ReplicationFieldMetaData('statementObjectUid2', -5, false), new ReplicationFieldMetaData('statementActorUid', -5, false), new ReplicationFieldMetaData('authorityActorUid', -5, false), new ReplicationFieldMetaData('teamUid', -5, false), new ReplicationFieldMetaData('resultCompletion', 16, true), new ReplicationFieldMetaData('resultSuccess', 16, true), new ReplicationFieldMetaData('resultScoreScaled', 6, true), new ReplicationFieldMetaData('resultScoreRaw', 6, true), new ReplicationFieldMetaData('resultScoreMin', 6, true), new ReplicationFieldMetaData('resultScoreMax', 6, true), new ReplicationFieldMetaData('resultDuration', -5, true), new ReplicationFieldMetaData('resultResponse', -1, true), new ReplicationFieldMetaData('timestamp', -5, false), new ReplicationFieldMetaData('stored', -5, false), new ReplicationFieldMetaData('contextRegistrationHi', -5, false), new ReplicationFieldMetaData('contextRegistrationLo', -5, false), new ReplicationFieldMetaData('contextPlatform', -1, true), new ReplicationFieldMetaData('contextStatementRefIdHi', -5, false), new ReplicationFieldMetaData('contextStatementRefIdLo', -5, false), new ReplicationFieldMetaData('contextInstructorActorUid', -5, false), new ReplicationFieldMetaData('statementLct', -5, false), new ReplicationFieldMetaData('extensionProgress', 4, true), new ReplicationFieldMetaData('completionOrProgress', 16, false), new ReplicationFieldMetaData('statementContentEntryUid', -5, false), new ReplicationFieldMetaData('statementLearnerGroupUid', -5, false), new ReplicationFieldMetaData('statementClazzUid', -5, false), new ReplicationFieldMetaData('statementCbUid', -5, false), new ReplicationFieldMetaData('statementDoorNode', -5, false), new ReplicationFieldMetaData('isSubStatement', 16, false)]);
    var tmp_177 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_178 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_179 = [Event_INSERT_getInstance()];
    var tmp_180 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_181 = ['REPLACE INTO StatementEntity (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) VALUES( CAST(NEW.statementIdHi AS BIGINT), CAST(NEW.statementIdLo AS BIGINT), CAST(NEW.statementActorPersonUid AS BIGINT), CAST(NEW.statementVerbUid AS BIGINT), NEW.statementObjectType, CAST(NEW.statementObjectUid1 AS BIGINT), CAST(NEW.statementObjectUid2 AS BIGINT), CAST(NEW.statementActorUid AS BIGINT), CAST(NEW.authorityActorUid AS BIGINT), CAST(NEW.teamUid AS BIGINT), NEW.resultCompletion, NEW.resultSuccess, NEW.resultScoreScaled, NEW.resultScoreRaw, NEW.resultScoreMin, NEW.resultScoreMax, NEW.resultDuration, NEW.resultResponse, CAST(NEW.timestamp AS BIGINT), CAST(NEW.stored AS BIGINT), CAST(NEW.contextRegistrationHi AS BIGINT), CAST(NEW.contextRegistrationLo AS BIGINT), NEW.contextPlatform, CAST(NEW.contextStatementRefIdHi AS BIGINT), CAST(NEW.contextStatementRefIdLo AS BIGINT), CAST(NEW.contextInstructorActorUid AS BIGINT), CAST(NEW.statementLct AS BIGINT), NEW.extensionProgress, NEW.completionOrProgress, CAST(NEW.statementContentEntryUid AS BIGINT), CAST(NEW.statementLearnerGroupUid AS BIGINT), CAST(NEW.statementClazzUid AS BIGINT), CAST(NEW.statementCbUid AS BIGINT), CAST(NEW.statementDoorNode AS BIGINT), NEW.isSubStatement) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$206 = ['INSERT INTO StatementEntity (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) VALUES( CAST(NEW.statementIdHi AS BIGINT), CAST(NEW.statementIdLo AS BIGINT), CAST(NEW.statementActorPersonUid AS BIGINT), CAST(NEW.statementVerbUid AS BIGINT), NEW.statementObjectType, CAST(NEW.statementObjectUid1 AS BIGINT), CAST(NEW.statementObjectUid2 AS BIGINT), CAST(NEW.statementActorUid AS BIGINT), CAST(NEW.authorityActorUid AS BIGINT), CAST(NEW.teamUid AS BIGINT), NEW.resultCompletion, NEW.resultSuccess, NEW.resultScoreScaled, NEW.resultScoreRaw, NEW.resultScoreMin, NEW.resultScoreMax, NEW.resultDuration, NEW.resultResponse, CAST(NEW.timestamp AS BIGINT), CAST(NEW.stored AS BIGINT), CAST(NEW.contextRegistrationHi AS BIGINT), CAST(NEW.contextRegistrationLo AS BIGINT), NEW.contextPlatform, CAST(NEW.contextStatementRefIdHi AS BIGINT), CAST(NEW.contextStatementRefIdLo AS BIGINT), CAST(NEW.contextInstructorActorUid AS BIGINT), CAST(NEW.statementLct AS BIGINT), NEW.extensionProgress, NEW.completionOrProgress, CAST(NEW.statementContentEntryUid AS BIGINT), CAST(NEW.statementLearnerGroupUid AS BIGINT), CAST(NEW.statementClazzUid AS BIGINT), CAST(NEW.statementCbUid AS BIGINT), CAST(NEW.statementDoorNode AS BIGINT), NEW.isSubStatement)  ON CONFLICT(statementIdHi, statementIdLo)  DO UPDATE SET statementActorPersonUid = NEW.statementActorPersonUid, statementVerbUid = NEW.statementVerbUid, statementObjectType = NEW.statementObjectType, statementObjectUid1 = NEW.statementObjectUid1, statementObjectUid2 = NEW.statementObjectUid2, statementActorUid = NEW.statementActorUid, authorityActorUid = NEW.authorityActorUid, teamUid = NEW.teamUid, resultCompletion = NEW.resultCompletion, resultSuccess = NEW.resultSuccess, resultScoreScaled = NEW.resultScoreScaled, resultScoreRaw = NEW.resultScoreRaw, resultScoreMin = NEW.resultScoreMin, resultScoreMax = NEW.resultScoreMax, resultDuration = NEW.resultDuration, resultResponse = NEW.resultResponse, timestamp = NEW.timestamp, stored = NEW.stored, contextRegistrationHi = NEW.contextRegistrationHi, contextRegistrationLo = NEW.contextRegistrationLo, contextPlatform = NEW.contextPlatform, contextStatementRefIdHi = NEW.contextStatementRefIdHi, contextStatementRefIdLo = NEW.contextStatementRefIdLo, contextInstructorActorUid = NEW.contextInstructorActorUid, statementLct = NEW.statementLct, extensionProgress = NEW.extensionProgress, completionOrProgress = NEW.completionOrProgress, statementContentEntryUid = NEW.statementContentEntryUid, statementLearnerGroupUid = NEW.statementLearnerGroupUid, statementClazzUid = NEW.statementClazzUid, statementCbUid = NEW.statementCbUid, statementDoorNode = NEW.statementDoorNode, isSubStatement = NEW.isSubStatement '];
    var tmp_182 = to(60, new ReplicationEntityMetaData(60, 'StatementEntity', 'StatementEntity_ReceiveView', tmp_175, 'statementLct', tmp_176, 1000, tmp_177, listOf(new Trigger('statemententity_remote_insert', tmp_178, tmp_179, tmp_180, tmp_181, tmp$ret$206, 'SELECT \n                   CAST(NEW.statementLct AS BIGINT) >\n                       COALESCE((SELECT StatementEntity_Existing.statementLct\n                                   FROM StatementEntity StatementEntity_Existing\n                                  WHERE StatementEntity_Existing.statementIdHi = NEW.statementIdHi AND StatementEntity_Existing.statementIdLo = NEW.statementIdLo), 0)\n                   ', 'SELECT \n                   CAST(NEW.statementLct AS BIGINT) >\n                       COALESCE((SELECT StatementEntity_Existing.statementLct\n                                   FROM StatementEntity StatementEntity_Existing\n                                  WHERE StatementEntity_Existing.statementIdHi = NEW.statementIdHi AND StatementEntity_Existing.statementIdLo = NEW.statementIdLo), 0)\n                   '))));
    var tmp_183 = listOf('actorUid');
    var tmp_184 = listOf_0([new ReplicationFieldMetaData('actorPersonUid', -5, false), new ReplicationFieldMetaData('actorName', -1, true), new ReplicationFieldMetaData('actorMbox', -1, true), new ReplicationFieldMetaData('actorMbox_sha1sum', -1, true), new ReplicationFieldMetaData('actorOpenid', -1, true), new ReplicationFieldMetaData('actorAccountName', -1, true), new ReplicationFieldMetaData('actorAccountHomePage', -1, true), new ReplicationFieldMetaData('actorEtag', -5, false), new ReplicationFieldMetaData('actorLct', -5, false), new ReplicationFieldMetaData('actorObjectType', 4, false), new ReplicationFieldMetaData('actorUid', -5, false)]);
    var tmp_185 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_186 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_187 = [Event_INSERT_getInstance()];
    var tmp_188 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_189 = ['REPLACE INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES( CAST(NEW.actorUid AS BIGINT), CAST(NEW.actorPersonUid AS BIGINT), NEW.actorName, NEW.actorMbox, NEW.actorMbox_sha1sum, NEW.actorOpenid, NEW.actorAccountName, NEW.actorAccountHomePage, CAST(NEW.actorEtag AS BIGINT), CAST(NEW.actorLct AS BIGINT), NEW.actorObjectType) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$215 = ['INSERT INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES( CAST(NEW.actorUid AS BIGINT), CAST(NEW.actorPersonUid AS BIGINT), NEW.actorName, NEW.actorMbox, NEW.actorMbox_sha1sum, NEW.actorOpenid, NEW.actorAccountName, NEW.actorAccountHomePage, CAST(NEW.actorEtag AS BIGINT), CAST(NEW.actorLct AS BIGINT), NEW.actorObjectType)  ON CONFLICT(actorUid)  DO UPDATE SET actorPersonUid = NEW.actorPersonUid, actorName = NEW.actorName, actorMbox = NEW.actorMbox, actorMbox_sha1sum = NEW.actorMbox_sha1sum, actorOpenid = NEW.actorOpenid, actorAccountName = NEW.actorAccountName, actorAccountHomePage = NEW.actorAccountHomePage, actorEtag = NEW.actorEtag, actorLct = NEW.actorLct, actorObjectType = NEW.actorObjectType '];
    var tmp_190 = to(68, new ReplicationEntityMetaData(68, 'ActorEntity', 'ActorEntity_ReceiveView', tmp_183, 'actorEtag', tmp_184, 1000, tmp_185, listOf(new Trigger('agententity_remote_insert', tmp_186, tmp_187, tmp_188, tmp_189, tmp$ret$215, 'SELECT \n                   CAST(NEW.actorLct AS BIGINT) >\n                       COALESCE((SELECT ActorEntity_Existing.actorLct\n                                   FROM ActorEntity ActorEntity_Existing\n                                  WHERE ActorEntity_Existing.actorUid = NEW.actorUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.actorLct AS BIGINT) >\n                       COALESCE((SELECT ActorEntity_Existing.actorLct\n                                   FROM ActorEntity ActorEntity_Existing\n                                  WHERE ActorEntity_Existing.actorUid = NEW.actorUid), 0)\n                   '))));
    var tmp_191 = listOf('commentsUid');
    var tmp_192 = listOf_0([new ReplicationFieldMetaData('commentsText', -1, true), new ReplicationFieldMetaData('commentsEntityUid', -5, false), new ReplicationFieldMetaData('commentsStatus', 4, false), new ReplicationFieldMetaData('commentsFromPersonUid', -5, false), new ReplicationFieldMetaData('commentsForSubmitterUid', -5, false), new ReplicationFieldMetaData('commentsFromSubmitterUid', -5, false), new ReplicationFieldMetaData('commentsFlagged', 16, false), new ReplicationFieldMetaData('commentsDeleted', 16, false), new ReplicationFieldMetaData('commentsDateTimeAdded', -5, false), new ReplicationFieldMetaData('commentsLct', -5, false), new ReplicationFieldMetaData('commentsUid', -5, false)]);
    var tmp_193 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_194 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_195 = [Event_INSERT_getInstance()];
    var tmp_196 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_197 = ['REPLACE INTO Comments (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) VALUES( CAST(NEW.commentsUid AS BIGINT), NEW.commentsText, CAST(NEW.commentsEntityUid AS BIGINT), NEW.commentsStatus, CAST(NEW.commentsFromPersonUid AS BIGINT), CAST(NEW.commentsForSubmitterUid AS BIGINT), CAST(NEW.commentsFromSubmitterUid AS BIGINT), NEW.commentsFlagged, NEW.commentsDeleted, CAST(NEW.commentsDateTimeAdded AS BIGINT), CAST(NEW.commentsLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$224 = ['INSERT INTO Comments (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) VALUES( CAST(NEW.commentsUid AS BIGINT), NEW.commentsText, CAST(NEW.commentsEntityUid AS BIGINT), NEW.commentsStatus, CAST(NEW.commentsFromPersonUid AS BIGINT), CAST(NEW.commentsForSubmitterUid AS BIGINT), CAST(NEW.commentsFromSubmitterUid AS BIGINT), NEW.commentsFlagged, NEW.commentsDeleted, CAST(NEW.commentsDateTimeAdded AS BIGINT), CAST(NEW.commentsLct AS BIGINT))  ON CONFLICT(commentsUid)  DO UPDATE SET commentsText = NEW.commentsText, commentsEntityUid = NEW.commentsEntityUid, commentsStatus = NEW.commentsStatus, commentsFromPersonUid = NEW.commentsFromPersonUid, commentsForSubmitterUid = NEW.commentsForSubmitterUid, commentsFromSubmitterUid = NEW.commentsFromSubmitterUid, commentsFlagged = NEW.commentsFlagged, commentsDeleted = NEW.commentsDeleted, commentsDateTimeAdded = NEW.commentsDateTimeAdded, commentsLct = NEW.commentsLct '];
    var tmp_198 = to(208, new ReplicationEntityMetaData(208, 'Comments', 'Comments_ReceiveView', tmp_191, 'commentsLct', tmp_192, 1000, tmp_193, listOf(new Trigger('comments_remote_insert', tmp_194, tmp_195, tmp_196, tmp_197, tmp$ret$224, 'SELECT \n                   CAST(NEW.commentsLct AS BIGINT) >\n                       COALESCE((SELECT Comments_Existing.commentsLct\n                                   FROM Comments Comments_Existing\n                                  WHERE Comments_Existing.commentsUid = NEW.commentsUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.commentsLct AS BIGINT) >\n                       COALESCE((SELECT Comments_Existing.commentsLct\n                                   FROM Comments Comments_Existing\n                                  WHERE Comments_Existing.commentsUid = NEW.commentsUid), 0)\n                   '))));
    var tmp_199 = listOf('reportUid');
    var tmp_200 = listOf_0([new ReplicationFieldMetaData('reportOwnerUid', -5, false), new ReplicationFieldMetaData('xAxis', 4, false), new ReplicationFieldMetaData('reportDateRangeSelection', 4, false), new ReplicationFieldMetaData('fromDate', -5, false), new ReplicationFieldMetaData('fromRelTo', 4, false), new ReplicationFieldMetaData('fromRelOffSet', 4, false), new ReplicationFieldMetaData('fromRelUnit', 4, false), new ReplicationFieldMetaData('toDate', -5, false), new ReplicationFieldMetaData('toRelTo', 4, false), new ReplicationFieldMetaData('toRelOffSet', 4, false), new ReplicationFieldMetaData('toRelUnit', 4, false), new ReplicationFieldMetaData('reportTitle', -1, true), new ReplicationFieldMetaData('reportDescription', -1, true), new ReplicationFieldMetaData('reportSeries', -1, true), new ReplicationFieldMetaData('reportInactive', 16, false), new ReplicationFieldMetaData('isTemplate', 16, false), new ReplicationFieldMetaData('priority', 4, false), new ReplicationFieldMetaData('reportTitleId', 4, false), new ReplicationFieldMetaData('reportDescId', 4, false), new ReplicationFieldMetaData('reportMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('reportLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('reportLastChangedBy', 4, false), new ReplicationFieldMetaData('reportLct', -5, false), new ReplicationFieldMetaData('reportUid', -5, false)]);
    var tmp_201 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_202 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_203 = [Event_INSERT_getInstance()];
    var tmp_204 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_205 = ['REPLACE INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES( CAST(NEW.reportUid AS BIGINT), CAST(NEW.reportOwnerUid AS BIGINT), NEW.xAxis, NEW.reportDateRangeSelection, CAST(NEW.fromDate AS BIGINT), NEW.fromRelTo, NEW.fromRelOffSet, NEW.fromRelUnit, CAST(NEW.toDate AS BIGINT), NEW.toRelTo, NEW.toRelOffSet, NEW.toRelUnit, NEW.reportTitle, NEW.reportDescription, NEW.reportSeries, NEW.reportInactive, NEW.isTemplate, NEW.priority, NEW.reportTitleId, NEW.reportDescId, CAST(NEW.reportMasterChangeSeqNum AS BIGINT), CAST(NEW.reportLocalChangeSeqNum AS BIGINT), NEW.reportLastChangedBy, CAST(NEW.reportLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$233 = ['INSERT INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES( CAST(NEW.reportUid AS BIGINT), CAST(NEW.reportOwnerUid AS BIGINT), NEW.xAxis, NEW.reportDateRangeSelection, CAST(NEW.fromDate AS BIGINT), NEW.fromRelTo, NEW.fromRelOffSet, NEW.fromRelUnit, CAST(NEW.toDate AS BIGINT), NEW.toRelTo, NEW.toRelOffSet, NEW.toRelUnit, NEW.reportTitle, NEW.reportDescription, NEW.reportSeries, NEW.reportInactive, NEW.isTemplate, NEW.priority, NEW.reportTitleId, NEW.reportDescId, CAST(NEW.reportMasterChangeSeqNum AS BIGINT), CAST(NEW.reportLocalChangeSeqNum AS BIGINT), NEW.reportLastChangedBy, CAST(NEW.reportLct AS BIGINT))  ON CONFLICT(reportUid)  DO UPDATE SET reportOwnerUid = NEW.reportOwnerUid, xAxis = NEW.xAxis, reportDateRangeSelection = NEW.reportDateRangeSelection, fromDate = NEW.fromDate, fromRelTo = NEW.fromRelTo, fromRelOffSet = NEW.fromRelOffSet, fromRelUnit = NEW.fromRelUnit, toDate = NEW.toDate, toRelTo = NEW.toRelTo, toRelOffSet = NEW.toRelOffSet, toRelUnit = NEW.toRelUnit, reportTitle = NEW.reportTitle, reportDescription = NEW.reportDescription, reportSeries = NEW.reportSeries, reportInactive = NEW.reportInactive, isTemplate = NEW.isTemplate, priority = NEW.priority, reportTitleId = NEW.reportTitleId, reportDescId = NEW.reportDescId, reportMasterChangeSeqNum = NEW.reportMasterChangeSeqNum, reportLocalChangeSeqNum = NEW.reportLocalChangeSeqNum, reportLastChangedBy = NEW.reportLastChangedBy, reportLct = NEW.reportLct '];
    var tmp_206 = to(101, new ReplicationEntityMetaData(101, 'Report', 'Report_ReceiveView', tmp_199, 'reportLct', tmp_200, 1000, tmp_201, listOf(new Trigger('report_remote_insert', tmp_202, tmp_203, tmp_204, tmp_205, tmp$ret$233, 'SELECT \n                   CAST(NEW.reportLct AS BIGINT) >\n                       COALESCE((SELECT Report_Existing.reportLct\n                                   FROM Report Report_Existing\n                                  WHERE Report_Existing.reportUid = NEW.reportUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.reportLct AS BIGINT) >\n                       COALESCE((SELECT Report_Existing.reportLct\n                                   FROM Report Report_Existing\n                                  WHERE Report_Existing.reportUid = NEW.reportUid), 0)\n                   '))));
    var tmp_207 = listOf('siteUid');
    var tmp_208 = listOf_0([new ReplicationFieldMetaData('sitePcsn', -5, false), new ReplicationFieldMetaData('siteLcsn', -5, false), new ReplicationFieldMetaData('siteLcb', 4, false), new ReplicationFieldMetaData('siteLct', -5, false), new ReplicationFieldMetaData('siteName', -1, true), new ReplicationFieldMetaData('guestLogin', 16, false), new ReplicationFieldMetaData('registrationAllowed', 16, false), new ReplicationFieldMetaData('authSalt', -1, true), new ReplicationFieldMetaData('siteUid', -5, false)]);
    var tmp_209 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_210 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_211 = [Event_INSERT_getInstance()];
    var tmp_212 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_213 = ['REPLACE INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES( CAST(NEW.siteUid AS BIGINT), CAST(NEW.sitePcsn AS BIGINT), CAST(NEW.siteLcsn AS BIGINT), NEW.siteLcb, CAST(NEW.siteLct AS BIGINT), NEW.siteName, NEW.guestLogin, NEW.registrationAllowed, NEW.authSalt) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$242 = ['INSERT INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES( CAST(NEW.siteUid AS BIGINT), CAST(NEW.sitePcsn AS BIGINT), CAST(NEW.siteLcsn AS BIGINT), NEW.siteLcb, CAST(NEW.siteLct AS BIGINT), NEW.siteName, NEW.guestLogin, NEW.registrationAllowed, NEW.authSalt)  ON CONFLICT(siteUid)  DO UPDATE SET sitePcsn = NEW.sitePcsn, siteLcsn = NEW.siteLcsn, siteLcb = NEW.siteLcb, siteLct = NEW.siteLct, siteName = NEW.siteName, guestLogin = NEW.guestLogin, registrationAllowed = NEW.registrationAllowed, authSalt = NEW.authSalt '];
    var tmp_214 = to(189, new ReplicationEntityMetaData(189, 'Site', 'Site_ReceiveView', tmp_207, 'siteLct', tmp_208, 1000, tmp_209, listOf(new Trigger('site_remote_insert', tmp_210, tmp_211, tmp_212, tmp_213, tmp$ret$242, '\n             SELECT ((SELECT COUNT(*) \n                        FROM Site) = 0\n                     OR NEW.authSalt = \n                        (SELECT Site.authSalt\n                           FROM Site\n                          LIMIT 1))\n                 AND (SELECT \n                   CAST(NEW.siteLct AS BIGINT) >\n                       COALESCE((SELECT Site_Existing.siteLct\n                                   FROM Site Site_Existing\n                                  WHERE Site_Existing.siteUid = NEW.siteUid), 0)\n                   )          \n         ', '\n             SELECT ((SELECT COUNT(*) \n                        FROM Site) = 0\n                     OR NEW.authSalt = \n                        (SELECT Site.authSalt\n                           FROM Site\n                          LIMIT 1))\n                 AND (SELECT \n                   CAST(NEW.siteLct AS BIGINT) >\n                       COALESCE((SELECT Site_Existing.siteLct\n                                   FROM Site Site_Existing\n                                  WHERE Site_Existing.siteUid = NEW.siteUid), 0)\n                   )          \n         '))));
    var tmp_215 = listOf('sTermsUid');
    var tmp_216 = listOf_0([new ReplicationFieldMetaData('termsHtml', -1, true), new ReplicationFieldMetaData('sTermsLang', -1, true), new ReplicationFieldMetaData('sTermsLangUid', -5, false), new ReplicationFieldMetaData('sTermsActive', 16, false), new ReplicationFieldMetaData('sTermsLastChangedBy', 4, false), new ReplicationFieldMetaData('sTermsPrimaryCsn', -5, false), new ReplicationFieldMetaData('sTermsLocalCsn', -5, false), new ReplicationFieldMetaData('sTermsLct', -5, false), new ReplicationFieldMetaData('sTermsUid', -5, false)]);
    var tmp_217 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_218 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_219 = [Event_INSERT_getInstance()];
    var tmp_220 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_221 = ['REPLACE INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES( CAST(NEW.sTermsUid AS BIGINT), NEW.termsHtml, NEW.sTermsLang, CAST(NEW.sTermsLangUid AS BIGINT), NEW.sTermsActive, NEW.sTermsLastChangedBy, CAST(NEW.sTermsPrimaryCsn AS BIGINT), CAST(NEW.sTermsLocalCsn AS BIGINT), CAST(NEW.sTermsLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$251 = ['INSERT INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES( CAST(NEW.sTermsUid AS BIGINT), NEW.termsHtml, NEW.sTermsLang, CAST(NEW.sTermsLangUid AS BIGINT), NEW.sTermsActive, NEW.sTermsLastChangedBy, CAST(NEW.sTermsPrimaryCsn AS BIGINT), CAST(NEW.sTermsLocalCsn AS BIGINT), CAST(NEW.sTermsLct AS BIGINT))  ON CONFLICT(sTermsUid)  DO UPDATE SET termsHtml = NEW.termsHtml, sTermsLang = NEW.sTermsLang, sTermsLangUid = NEW.sTermsLangUid, sTermsActive = NEW.sTermsActive, sTermsLastChangedBy = NEW.sTermsLastChangedBy, sTermsPrimaryCsn = NEW.sTermsPrimaryCsn, sTermsLocalCsn = NEW.sTermsLocalCsn, sTermsLct = NEW.sTermsLct '];
    var tmp_222 = to(272, new ReplicationEntityMetaData(272, 'SiteTerms', 'SiteTerms_ReceiveView', tmp_215, 'sTermsLct', tmp_216, 1000, tmp_217, listOf(new Trigger('siteterms_remote_insert', tmp_218, tmp_219, tmp_220, tmp_221, tmp$ret$251, 'SELECT \n                   CAST(NEW.sTermsLct AS BIGINT) >\n                       COALESCE((SELECT SiteTerms_Existing.sTermsLct\n                                   FROM SiteTerms SiteTerms_Existing\n                                  WHERE SiteTerms_Existing.sTermsUid = NEW.sTermsUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.sTermsLct AS BIGINT) >\n                       COALESCE((SELECT SiteTerms_Existing.sTermsLct\n                                   FROM SiteTerms SiteTerms_Existing\n                                  WHERE SiteTerms_Existing.sTermsUid = NEW.sTermsUid), 0)\n                   '))));
    var tmp_223 = listOf('ppjUid');
    var tmp_224 = listOf_0([new ReplicationFieldMetaData('ppjPcsn', -5, false), new ReplicationFieldMetaData('ppjLcsn', -5, false), new ReplicationFieldMetaData('ppjLcb', 4, false), new ReplicationFieldMetaData('ppjLct', -5, false), new ReplicationFieldMetaData('ppjParentPersonUid', -5, false), new ReplicationFieldMetaData('ppjMinorPersonUid', -5, false), new ReplicationFieldMetaData('ppjRelationship', 4, false), new ReplicationFieldMetaData('ppjEmail', -1, true), new ReplicationFieldMetaData('ppjPhone', -1, true), new ReplicationFieldMetaData('ppjInactive', 16, false), new ReplicationFieldMetaData('ppjStatus', 4, false), new ReplicationFieldMetaData('ppjApprovalTiemstamp', -5, false), new ReplicationFieldMetaData('ppjApprovalIpAddr', -1, true), new ReplicationFieldMetaData('ppjUid', -5, false)]);
    var tmp_225 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_226 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_227 = [Event_INSERT_getInstance()];
    var tmp_228 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_229 = ['REPLACE INTO PersonParentJoin (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES( CAST(NEW.ppjUid AS BIGINT), CAST(NEW.ppjPcsn AS BIGINT), CAST(NEW.ppjLcsn AS BIGINT), NEW.ppjLcb, CAST(NEW.ppjLct AS BIGINT), CAST(NEW.ppjParentPersonUid AS BIGINT), CAST(NEW.ppjMinorPersonUid AS BIGINT), NEW.ppjRelationship, NEW.ppjEmail, NEW.ppjPhone, NEW.ppjInactive, NEW.ppjStatus, CAST(NEW.ppjApprovalTiemstamp AS BIGINT), NEW.ppjApprovalIpAddr) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$260 = ['INSERT INTO PersonParentJoin (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES( CAST(NEW.ppjUid AS BIGINT), CAST(NEW.ppjPcsn AS BIGINT), CAST(NEW.ppjLcsn AS BIGINT), NEW.ppjLcb, CAST(NEW.ppjLct AS BIGINT), CAST(NEW.ppjParentPersonUid AS BIGINT), CAST(NEW.ppjMinorPersonUid AS BIGINT), NEW.ppjRelationship, NEW.ppjEmail, NEW.ppjPhone, NEW.ppjInactive, NEW.ppjStatus, CAST(NEW.ppjApprovalTiemstamp AS BIGINT), NEW.ppjApprovalIpAddr)  ON CONFLICT(ppjUid)  DO UPDATE SET ppjPcsn = NEW.ppjPcsn, ppjLcsn = NEW.ppjLcsn, ppjLcb = NEW.ppjLcb, ppjLct = NEW.ppjLct, ppjParentPersonUid = NEW.ppjParentPersonUid, ppjMinorPersonUid = NEW.ppjMinorPersonUid, ppjRelationship = NEW.ppjRelationship, ppjEmail = NEW.ppjEmail, ppjPhone = NEW.ppjPhone, ppjInactive = NEW.ppjInactive, ppjStatus = NEW.ppjStatus, ppjApprovalTiemstamp = NEW.ppjApprovalTiemstamp, ppjApprovalIpAddr = NEW.ppjApprovalIpAddr '];
    var tmp_230 = to(512, new ReplicationEntityMetaData(512, 'PersonParentJoin', 'PersonParentJoin_ReceiveView', tmp_223, 'ppjLct', tmp_224, 1000, tmp_225, listOf(new Trigger('personparentjoin_remote_insert', tmp_226, tmp_227, tmp_228, tmp_229, tmp$ret$260, 'SELECT \n                   CAST(NEW.ppjLct AS BIGINT) >\n                       COALESCE((SELECT PersonParentJoin_Existing.ppjLct\n                                   FROM PersonParentJoin PersonParentJoin_Existing\n                                  WHERE PersonParentJoin_Existing.ppjUid = NEW.ppjUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.ppjLct AS BIGINT) >\n                       COALESCE((SELECT PersonParentJoin_Existing.ppjLct\n                                   FROM PersonParentJoin PersonParentJoin_Existing\n                                  WHERE PersonParentJoin_Existing.ppjUid = NEW.ppjUid), 0)\n                   '))));
    var tmp_231 = listOf('sgUid');
    var tmp_232 = listOf_0([new ReplicationFieldMetaData('sgPcsn', -5, false), new ReplicationFieldMetaData('sgLcsn', -5, false), new ReplicationFieldMetaData('sgLcb', 4, false), new ReplicationFieldMetaData('sgLct', -5, false), new ReplicationFieldMetaData('sgTableId', 4, false), new ReplicationFieldMetaData('sgEntityUid', -5, false), new ReplicationFieldMetaData('sgPermissions', -5, false), new ReplicationFieldMetaData('sgGroupUid', -5, false), new ReplicationFieldMetaData('sgIndex', 4, false), new ReplicationFieldMetaData('sgFlags', 4, false), new ReplicationFieldMetaData('sgUid', -5, false)]);
    var tmp_233 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_234 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_235 = [Event_INSERT_getInstance()];
    var tmp_236 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_237 = ['UPDATE ScopedGrant SET sgLct = 0 WHERE sgUid = 0'];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$269 = ['UPDATE ScopedGrant SET sgLct = 0 WHERE sgUid = 0'];
    var tmp_238 = to(48, new ReplicationEntityMetaData(48, 'ScopedGrant', 'ScopedGrant_ReceiveView', tmp_231, 'sgLct', tmp_232, 1000, tmp_233, listOf(new Trigger('sg_remote_insert', tmp_234, tmp_235, tmp_236, tmp_237, tmp$ret$269, 'SELECT \n                   CAST(NEW.sgLct AS BIGINT) >\n                       COALESCE((SELECT ScopedGrant_Existing.sgLct\n                                   FROM ScopedGrant ScopedGrant_Existing\n                                  WHERE ScopedGrant_Existing.sgUid = NEW.sgUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.sgLct AS BIGINT) >\n                       COALESCE((SELECT ScopedGrant_Existing.sgLct\n                                   FROM ScopedGrant ScopedGrant_Existing\n                                  WHERE ScopedGrant_Existing.sgUid = NEW.sgUid), 0)\n                   '))));
    var tmp_239 = listOf('errUid');
    var tmp_240 = listOf_0([new ReplicationFieldMetaData('errPcsn', -5, false), new ReplicationFieldMetaData('errLcsn', -5, false), new ReplicationFieldMetaData('errLcb', 4, false), new ReplicationFieldMetaData('errLct', -5, false), new ReplicationFieldMetaData('severity', 4, false), new ReplicationFieldMetaData('timestamp', -5, false), new ReplicationFieldMetaData('presenterUri', -1, true), new ReplicationFieldMetaData('appVersion', -1, true), new ReplicationFieldMetaData('versionCode', 4, false), new ReplicationFieldMetaData('errorCode', 4, false), new ReplicationFieldMetaData('operatingSys', -1, true), new ReplicationFieldMetaData('osVersion', -1, true), new ReplicationFieldMetaData('stackTrace', -1, true), new ReplicationFieldMetaData('message', -1, true), new ReplicationFieldMetaData('errUid', -5, false)]);
    var tmp_241 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_242 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_243 = [Event_INSERT_getInstance()];
    var tmp_244 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_245 = ['REPLACE INTO ErrorReport (errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES( CAST(NEW.errUid AS BIGINT), CAST(NEW.errPcsn AS BIGINT), CAST(NEW.errLcsn AS BIGINT), NEW.errLcb, CAST(NEW.errLct AS BIGINT), NEW.severity, CAST(NEW.timestamp AS BIGINT), NEW.presenterUri, NEW.appVersion, NEW.versionCode, NEW.errorCode, NEW.operatingSys, NEW.osVersion, NEW.stackTrace, NEW.message) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$278 = ['INSERT INTO ErrorReport (errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES( CAST(NEW.errUid AS BIGINT), CAST(NEW.errPcsn AS BIGINT), CAST(NEW.errLcsn AS BIGINT), NEW.errLcb, CAST(NEW.errLct AS BIGINT), NEW.severity, CAST(NEW.timestamp AS BIGINT), NEW.presenterUri, NEW.appVersion, NEW.versionCode, NEW.errorCode, NEW.operatingSys, NEW.osVersion, NEW.stackTrace, NEW.message)  ON CONFLICT(errUid)  DO UPDATE SET errPcsn = NEW.errPcsn, errLcsn = NEW.errLcsn, errLcb = NEW.errLcb, errLct = NEW.errLct, severity = NEW.severity, timestamp = NEW.timestamp, presenterUri = NEW.presenterUri, appVersion = NEW.appVersion, versionCode = NEW.versionCode, errorCode = NEW.errorCode, operatingSys = NEW.operatingSys, osVersion = NEW.osVersion, stackTrace = NEW.stackTrace, message = NEW.message '];
    var tmp_246 = to(419, new ReplicationEntityMetaData(419, 'ErrorReport', 'ErrorReport_ReceiveView', tmp_239, 'errLct', tmp_240, 1000, tmp_241, listOf(new Trigger('errorreport_remote_insert', tmp_242, tmp_243, tmp_244, tmp_245, tmp$ret$278, 'SELECT \n                   CAST(NEW.errLct AS BIGINT) >\n                       COALESCE((SELECT ErrorReport_Existing.errLct\n                                   FROM ErrorReport ErrorReport_Existing\n                                  WHERE ErrorReport_Existing.errUid = NEW.errUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.errLct AS BIGINT) >\n                       COALESCE((SELECT ErrorReport_Existing.errLct\n                                   FROM ErrorReport ErrorReport_Existing\n                                  WHERE ErrorReport_Existing.errUid = NEW.errUid), 0)\n                   '))));
    var tmp_247 = listOf('caUid');
    var tmp_248 = listOf_0([new ReplicationFieldMetaData('caTitle', -1, true), new ReplicationFieldMetaData('caDescription', -1, true), new ReplicationFieldMetaData('caGroupUid', -5, false), new ReplicationFieldMetaData('caActive', 16, false), new ReplicationFieldMetaData('caClassCommentEnabled', 16, false), new ReplicationFieldMetaData('caPrivateCommentsEnabled', 16, false), new ReplicationFieldMetaData('caCompletionCriteria', 4, false), new ReplicationFieldMetaData('caRequireFileSubmission', 16, false), new ReplicationFieldMetaData('caFileType', 4, false), new ReplicationFieldMetaData('caSizeLimit', 4, false), new ReplicationFieldMetaData('caNumberOfFiles', 4, false), new ReplicationFieldMetaData('caSubmissionPolicy', 4, false), new ReplicationFieldMetaData('caMarkingType', 4, false), new ReplicationFieldMetaData('caRequireTextSubmission', 16, false), new ReplicationFieldMetaData('caTextLimitType', 4, false), new ReplicationFieldMetaData('caTextLimit', 4, false), new ReplicationFieldMetaData('caXObjectUid', -5, false), new ReplicationFieldMetaData('caClazzUid', -5, false), new ReplicationFieldMetaData('caPeerReviewerCount', 4, false), new ReplicationFieldMetaData('caLocalChangeSeqNum', -5, false), new ReplicationFieldMetaData('caMasterChangeSeqNum', -5, false), new ReplicationFieldMetaData('caLastChangedBy', 4, false), new ReplicationFieldMetaData('caLct', -5, false), new ReplicationFieldMetaData('caUid', -5, false)]);
    var tmp_249 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_250 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_251 = [Event_INSERT_getInstance()];
    var tmp_252 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_253 = ['REPLACE INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES( CAST(NEW.caUid AS BIGINT), NEW.caTitle, NEW.caDescription, CAST(NEW.caGroupUid AS BIGINT), NEW.caActive, NEW.caClassCommentEnabled, NEW.caPrivateCommentsEnabled, NEW.caCompletionCriteria, NEW.caRequireFileSubmission, NEW.caFileType, NEW.caSizeLimit, NEW.caNumberOfFiles, NEW.caSubmissionPolicy, NEW.caMarkingType, NEW.caRequireTextSubmission, NEW.caTextLimitType, NEW.caTextLimit, CAST(NEW.caXObjectUid AS BIGINT), CAST(NEW.caClazzUid AS BIGINT), NEW.caPeerReviewerCount, CAST(NEW.caLocalChangeSeqNum AS BIGINT), CAST(NEW.caMasterChangeSeqNum AS BIGINT), NEW.caLastChangedBy, CAST(NEW.caLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$287 = ['INSERT INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES( CAST(NEW.caUid AS BIGINT), NEW.caTitle, NEW.caDescription, CAST(NEW.caGroupUid AS BIGINT), NEW.caActive, NEW.caClassCommentEnabled, NEW.caPrivateCommentsEnabled, NEW.caCompletionCriteria, NEW.caRequireFileSubmission, NEW.caFileType, NEW.caSizeLimit, NEW.caNumberOfFiles, NEW.caSubmissionPolicy, NEW.caMarkingType, NEW.caRequireTextSubmission, NEW.caTextLimitType, NEW.caTextLimit, CAST(NEW.caXObjectUid AS BIGINT), CAST(NEW.caClazzUid AS BIGINT), NEW.caPeerReviewerCount, CAST(NEW.caLocalChangeSeqNum AS BIGINT), CAST(NEW.caMasterChangeSeqNum AS BIGINT), NEW.caLastChangedBy, CAST(NEW.caLct AS BIGINT))  ON CONFLICT(caUid)  DO UPDATE SET caTitle = NEW.caTitle, caDescription = NEW.caDescription, caGroupUid = NEW.caGroupUid, caActive = NEW.caActive, caClassCommentEnabled = NEW.caClassCommentEnabled, caPrivateCommentsEnabled = NEW.caPrivateCommentsEnabled, caCompletionCriteria = NEW.caCompletionCriteria, caRequireFileSubmission = NEW.caRequireFileSubmission, caFileType = NEW.caFileType, caSizeLimit = NEW.caSizeLimit, caNumberOfFiles = NEW.caNumberOfFiles, caSubmissionPolicy = NEW.caSubmissionPolicy, caMarkingType = NEW.caMarkingType, caRequireTextSubmission = NEW.caRequireTextSubmission, caTextLimitType = NEW.caTextLimitType, caTextLimit = NEW.caTextLimit, caXObjectUid = NEW.caXObjectUid, caClazzUid = NEW.caClazzUid, caPeerReviewerCount = NEW.caPeerReviewerCount, caLocalChangeSeqNum = NEW.caLocalChangeSeqNum, caMasterChangeSeqNum = NEW.caMasterChangeSeqNum, caLastChangedBy = NEW.caLastChangedBy, caLct = NEW.caLct '];
    var tmp_254 = to(520, new ReplicationEntityMetaData(520, 'ClazzAssignment', 'ClazzAssignment_ReceiveView', tmp_247, 'caLct', tmp_248, 1000, tmp_249, listOf(new Trigger('clazzassignment_remote_insert', tmp_250, tmp_251, tmp_252, tmp_253, tmp$ret$287, 'SELECT \n                   CAST(NEW.caLct AS BIGINT) >\n                       COALESCE((SELECT ClazzAssignment_Existing.caLct\n                                   FROM ClazzAssignment ClazzAssignment_Existing\n                                  WHERE ClazzAssignment_Existing.caUid = NEW.caUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.caLct AS BIGINT) >\n                       COALESCE((SELECT ClazzAssignment_Existing.caLct\n                                   FROM ClazzAssignment ClazzAssignment_Existing\n                                  WHERE ClazzAssignment_Existing.caUid = NEW.caUid), 0)\n                   '))));
    var tmp_255 = listOf('casUid');
    var tmp_256 = listOf_0([new ReplicationFieldMetaData('casAssignmentUid', -5, false), new ReplicationFieldMetaData('casSubmitterUid', -5, false), new ReplicationFieldMetaData('casSubmitterPersonUid', -5, false), new ReplicationFieldMetaData('casText', -1, true), new ReplicationFieldMetaData('casType', 4, false), new ReplicationFieldMetaData('casTimestamp', -5, false), new ReplicationFieldMetaData('casClazzUid', -5, false), new ReplicationFieldMetaData('casUid', -5, false)]);
    var tmp_257 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_258 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_259 = [Event_INSERT_getInstance()];
    var tmp_260 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_261 = ['REPLACE INTO CourseAssignmentSubmission (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) VALUES( CAST(NEW.casUid AS BIGINT), CAST(NEW.casAssignmentUid AS BIGINT), CAST(NEW.casSubmitterUid AS BIGINT), CAST(NEW.casSubmitterPersonUid AS BIGINT), NEW.casText, NEW.casType, CAST(NEW.casTimestamp AS BIGINT), CAST(NEW.casClazzUid AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$296 = ['INSERT INTO CourseAssignmentSubmission (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) VALUES( CAST(NEW.casUid AS BIGINT), CAST(NEW.casAssignmentUid AS BIGINT), CAST(NEW.casSubmitterUid AS BIGINT), CAST(NEW.casSubmitterPersonUid AS BIGINT), NEW.casText, NEW.casType, CAST(NEW.casTimestamp AS BIGINT), CAST(NEW.casClazzUid AS BIGINT))  ON CONFLICT(casUid)  DO UPDATE SET casAssignmentUid = NEW.casAssignmentUid, casSubmitterUid = NEW.casSubmitterUid, casSubmitterPersonUid = NEW.casSubmitterPersonUid, casText = NEW.casText, casType = NEW.casType, casTimestamp = NEW.casTimestamp, casClazzUid = NEW.casClazzUid '];
    var tmp_262 = to(522, new ReplicationEntityMetaData(522, 'CourseAssignmentSubmission', 'CourseAssignmentSubmission_ReceiveView', tmp_255, 'casTimestamp', tmp_256, 1000, tmp_257, listOf(new Trigger('courseassignmentsubmission_remote_insert', tmp_258, tmp_259, tmp_260, tmp_261, tmp$ret$296, 'SELECT \n                   CAST(NEW.casTimestamp AS BIGINT) >\n                       COALESCE((SELECT CourseAssignmentSubmission_Existing.casTimestamp\n                                   FROM CourseAssignmentSubmission CourseAssignmentSubmission_Existing\n                                  WHERE CourseAssignmentSubmission_Existing.casUid = NEW.casUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.casTimestamp AS BIGINT) >\n                       COALESCE((SELECT CourseAssignmentSubmission_Existing.casTimestamp\n                                   FROM CourseAssignmentSubmission CourseAssignmentSubmission_Existing\n                                  WHERE CourseAssignmentSubmission_Existing.casUid = NEW.casUid), 0)\n                   '))));
    var tmp_263 = listOf('casaUid');
    var tmp_264 = listOf_0([new ReplicationFieldMetaData('casaSubmissionUid', -5, false), new ReplicationFieldMetaData('casaSubmitterUid', -5, false), new ReplicationFieldMetaData('casaCaUid', -5, false), new ReplicationFieldMetaData('casaClazzUid', -5, false), new ReplicationFieldMetaData('casaMimeType', -1, true), new ReplicationFieldMetaData('casaFileName', -1, true), new ReplicationFieldMetaData('casaUri', -1, true), new ReplicationFieldMetaData('casaSize', 4, false), new ReplicationFieldMetaData('casaTimestamp', -5, false), new ReplicationFieldMetaData('casaDeleted', 16, false), new ReplicationFieldMetaData('casaUid', -5, false)]);
    var tmp_265 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_266 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_267 = [Event_INSERT_getInstance()];
    var tmp_268 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_269 = ['REPLACE INTO CourseAssignmentSubmissionFile (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) VALUES( CAST(NEW.casaUid AS BIGINT), CAST(NEW.casaSubmissionUid AS BIGINT), CAST(NEW.casaSubmitterUid AS BIGINT), CAST(NEW.casaCaUid AS BIGINT), CAST(NEW.casaClazzUid AS BIGINT), NEW.casaMimeType, NEW.casaFileName, NEW.casaUri, NEW.casaSize, CAST(NEW.casaTimestamp AS BIGINT), NEW.casaDeleted) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$305 = ['INSERT INTO CourseAssignmentSubmissionFile (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) VALUES( CAST(NEW.casaUid AS BIGINT), CAST(NEW.casaSubmissionUid AS BIGINT), CAST(NEW.casaSubmitterUid AS BIGINT), CAST(NEW.casaCaUid AS BIGINT), CAST(NEW.casaClazzUid AS BIGINT), NEW.casaMimeType, NEW.casaFileName, NEW.casaUri, NEW.casaSize, CAST(NEW.casaTimestamp AS BIGINT), NEW.casaDeleted)  ON CONFLICT(casaUid)  DO UPDATE SET casaSubmissionUid = NEW.casaSubmissionUid, casaSubmitterUid = NEW.casaSubmitterUid, casaCaUid = NEW.casaCaUid, casaClazzUid = NEW.casaClazzUid, casaMimeType = NEW.casaMimeType, casaFileName = NEW.casaFileName, casaUri = NEW.casaUri, casaSize = NEW.casaSize, casaTimestamp = NEW.casaTimestamp, casaDeleted = NEW.casaDeleted '];
    var tmp_270 = to(90, new ReplicationEntityMetaData(90, 'CourseAssignmentSubmissionFile', 'CourseAssignmentSubmissionFile_ReceiveView', tmp_263, 'casaTimestamp', tmp_264, 1000, tmp_265, listOf(new Trigger('courseassignmentsubmissionattachment_remote_insert', tmp_266, tmp_267, tmp_268, tmp_269, tmp$ret$305, 'SELECT \n                   CAST(NEW.casaTimestamp AS BIGINT) >\n                       COALESCE((SELECT CourseAssignmentSubmissionFile_Existing.casaTimestamp\n                                   FROM CourseAssignmentSubmissionFile CourseAssignmentSubmissionFile_Existing\n                                  WHERE CourseAssignmentSubmissionFile_Existing.casaUid = NEW.casaUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.casaTimestamp AS BIGINT) >\n                       COALESCE((SELECT CourseAssignmentSubmissionFile_Existing.casaTimestamp\n                                   FROM CourseAssignmentSubmissionFile CourseAssignmentSubmissionFile_Existing\n                                  WHERE CourseAssignmentSubmissionFile_Existing.casaUid = NEW.casaUid), 0)\n                   '))));
    var tmp_271 = listOf('camUid');
    var tmp_272 = listOf_0([new ReplicationFieldMetaData('camAssignmentUid', -5, false), new ReplicationFieldMetaData('camSubmitterUid', -5, false), new ReplicationFieldMetaData('camMarkerSubmitterUid', -5, false), new ReplicationFieldMetaData('camMarkerPersonUid', -5, false), new ReplicationFieldMetaData('camMarkerComment', -1, true), new ReplicationFieldMetaData('camMark', 6, false), new ReplicationFieldMetaData('camMaxMark', 6, false), new ReplicationFieldMetaData('camPenalty', 6, false), new ReplicationFieldMetaData('camLct', -5, false), new ReplicationFieldMetaData('camClazzUid', -5, false), new ReplicationFieldMetaData('camUid', -5, false)]);
    var tmp_273 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_274 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_275 = [Event_INSERT_getInstance()];
    var tmp_276 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_277 = ['REPLACE INTO CourseAssignmentMark (camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid) VALUES( CAST(NEW.camUid AS BIGINT), CAST(NEW.camAssignmentUid AS BIGINT), CAST(NEW.camSubmitterUid AS BIGINT), CAST(NEW.camMarkerSubmitterUid AS BIGINT), CAST(NEW.camMarkerPersonUid AS BIGINT), NEW.camMarkerComment, NEW.camMark, NEW.camMaxMark, NEW.camPenalty, CAST(NEW.camLct AS BIGINT), CAST(NEW.camClazzUid AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$314 = ['INSERT INTO CourseAssignmentMark (camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid) VALUES( CAST(NEW.camUid AS BIGINT), CAST(NEW.camAssignmentUid AS BIGINT), CAST(NEW.camSubmitterUid AS BIGINT), CAST(NEW.camMarkerSubmitterUid AS BIGINT), CAST(NEW.camMarkerPersonUid AS BIGINT), NEW.camMarkerComment, NEW.camMark, NEW.camMaxMark, NEW.camPenalty, CAST(NEW.camLct AS BIGINT), CAST(NEW.camClazzUid AS BIGINT))  ON CONFLICT(camUid)  DO UPDATE SET camAssignmentUid = NEW.camAssignmentUid, camSubmitterUid = NEW.camSubmitterUid, camMarkerSubmitterUid = NEW.camMarkerSubmitterUid, camMarkerPersonUid = NEW.camMarkerPersonUid, camMarkerComment = NEW.camMarkerComment, camMark = NEW.camMark, camMaxMark = NEW.camMaxMark, camPenalty = NEW.camPenalty, camLct = NEW.camLct, camClazzUid = NEW.camClazzUid '];
    var tmp_278 = to(523, new ReplicationEntityMetaData(523, 'CourseAssignmentMark', 'CourseAssignmentMark_ReceiveView', tmp_271, 'camLct', tmp_272, 1000, tmp_273, listOf(new Trigger('courseassignmentmark_remote_insert', tmp_274, tmp_275, tmp_276, tmp_277, tmp$ret$314, 'SELECT \n                   CAST(NEW.camLct AS BIGINT) >\n                       COALESCE((SELECT CourseAssignmentMark_Existing.camLct\n                                   FROM CourseAssignmentMark CourseAssignmentMark_Existing\n                                  WHERE CourseAssignmentMark_Existing.camUid = NEW.camUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.camLct AS BIGINT) >\n                       COALESCE((SELECT CourseAssignmentMark_Existing.camLct\n                                   FROM CourseAssignmentMark CourseAssignmentMark_Existing\n                                  WHERE CourseAssignmentMark_Existing.camUid = NEW.camUid), 0)\n                   '))));
    var tmp_279 = listOf('praUid');
    var tmp_280 = listOf_0([new ReplicationFieldMetaData('praMarkerSubmitterUid', -5, false), new ReplicationFieldMetaData('praToMarkerSubmitterUid', -5, false), new ReplicationFieldMetaData('praAssignmentUid', -5, false), new ReplicationFieldMetaData('praActive', 16, false), new ReplicationFieldMetaData('praLct', -5, false), new ReplicationFieldMetaData('praUid', -5, false)]);
    var tmp_281 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_282 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_283 = [Event_INSERT_getInstance()];
    var tmp_284 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_285 = ['REPLACE INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES( CAST(NEW.praUid AS BIGINT), CAST(NEW.praMarkerSubmitterUid AS BIGINT), CAST(NEW.praToMarkerSubmitterUid AS BIGINT), CAST(NEW.praAssignmentUid AS BIGINT), NEW.praActive, CAST(NEW.praLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$323 = ['INSERT INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES( CAST(NEW.praUid AS BIGINT), CAST(NEW.praMarkerSubmitterUid AS BIGINT), CAST(NEW.praToMarkerSubmitterUid AS BIGINT), CAST(NEW.praAssignmentUid AS BIGINT), NEW.praActive, CAST(NEW.praLct AS BIGINT))  ON CONFLICT(praUid)  DO UPDATE SET praMarkerSubmitterUid = NEW.praMarkerSubmitterUid, praToMarkerSubmitterUid = NEW.praToMarkerSubmitterUid, praAssignmentUid = NEW.praAssignmentUid, praActive = NEW.praActive, praLct = NEW.praLct '];
    var tmp_286 = to(140, new ReplicationEntityMetaData(140, 'PeerReviewerAllocation', 'PeerReviewerAllocation_ReceiveView', tmp_279, 'praLct', tmp_280, 1000, tmp_281, listOf(new Trigger('peerreviewerallocation_remote_insert', tmp_282, tmp_283, tmp_284, tmp_285, tmp$ret$323, 'SELECT \n                   CAST(NEW.praLct AS BIGINT) >\n                       COALESCE((SELECT PeerReviewerAllocation_Existing.praLct\n                                   FROM PeerReviewerAllocation PeerReviewerAllocation_Existing\n                                  WHERE PeerReviewerAllocation_Existing.praUid = NEW.praUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.praLct AS BIGINT) >\n                       COALESCE((SELECT PeerReviewerAllocation_Existing.praLct\n                                   FROM PeerReviewerAllocation PeerReviewerAllocation_Existing\n                                  WHERE PeerReviewerAllocation_Existing.praUid = NEW.praUid), 0)\n                   '))));
    var tmp_287 = listOf('pauthUid');
    var tmp_288 = listOf_0([new ReplicationFieldMetaData('pauthUid', -5, false), new ReplicationFieldMetaData('pauthMechanism', -1, true), new ReplicationFieldMetaData('pauthAuth', -1, true), new ReplicationFieldMetaData('pauthLcsn', -5, false), new ReplicationFieldMetaData('pauthPcsn', -5, false), new ReplicationFieldMetaData('pauthLcb', -5, false), new ReplicationFieldMetaData('pauthLct', -5, false)]);
    var tmp_289 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_290 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_291 = [Event_INSERT_getInstance()];
    var tmp_292 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_293 = ['REPLACE INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES( CAST(NEW.pauthUid AS BIGINT), NEW.pauthMechanism, NEW.pauthAuth, CAST(NEW.pauthLcsn AS BIGINT), CAST(NEW.pauthPcsn AS BIGINT), CAST(NEW.pauthLcb AS BIGINT), CAST(NEW.pauthLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$332 = ['INSERT INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES( CAST(NEW.pauthUid AS BIGINT), NEW.pauthMechanism, NEW.pauthAuth, CAST(NEW.pauthLcsn AS BIGINT), CAST(NEW.pauthPcsn AS BIGINT), CAST(NEW.pauthLcb AS BIGINT), CAST(NEW.pauthLct AS BIGINT))  ON CONFLICT(pauthUid)  DO UPDATE SET pauthMechanism = NEW.pauthMechanism, pauthAuth = NEW.pauthAuth, pauthLcsn = NEW.pauthLcsn, pauthPcsn = NEW.pauthPcsn, pauthLcb = NEW.pauthLcb, pauthLct = NEW.pauthLct '];
    var tmp_294 = to(678, new ReplicationEntityMetaData(678, 'PersonAuth2', 'PersonAuth2_ReceiveView', tmp_287, 'pauthLct', tmp_288, 1000, tmp_289, listOf(new Trigger('personauth2_remote_insert', tmp_290, tmp_291, tmp_292, tmp_293, tmp$ret$332, 'SELECT \n                   CAST(NEW.pauthLct AS BIGINT) >\n                       COALESCE((SELECT PersonAuth2_Existing.pauthLct\n                                   FROM PersonAuth2 PersonAuth2_Existing\n                                  WHERE PersonAuth2_Existing.pauthUid = NEW.pauthUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.pauthLct AS BIGINT) >\n                       COALESCE((SELECT PersonAuth2_Existing.pauthLct\n                                   FROM PersonAuth2 PersonAuth2_Existing\n                                  WHERE PersonAuth2_Existing.pauthUid = NEW.pauthUid), 0)\n                   '))));
    var tmp_295 = listOf('usUid');
    var tmp_296 = listOf_0([new ReplicationFieldMetaData('usPcsn', -5, false), new ReplicationFieldMetaData('usLcsn', -5, false), new ReplicationFieldMetaData('usLcb', -5, false), new ReplicationFieldMetaData('usLct', -5, false), new ReplicationFieldMetaData('usPersonUid', -5, false), new ReplicationFieldMetaData('usClientNodeId', -5, false), new ReplicationFieldMetaData('usStartTime', -5, false), new ReplicationFieldMetaData('usEndTime', -5, false), new ReplicationFieldMetaData('usStatus', 4, false), new ReplicationFieldMetaData('usReason', 4, false), new ReplicationFieldMetaData('usAuth', -1, true), new ReplicationFieldMetaData('usSessionType', 4, false), new ReplicationFieldMetaData('usUid', -5, false)]);
    var tmp_297 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_298 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_299 = [Event_INSERT_getInstance()];
    var tmp_300 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_301 = ['REPLACE INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES( CAST(NEW.usUid AS BIGINT), CAST(NEW.usPcsn AS BIGINT), CAST(NEW.usLcsn AS BIGINT), CAST(NEW.usLcb AS BIGINT), CAST(NEW.usLct AS BIGINT), CAST(NEW.usPersonUid AS BIGINT), CAST(NEW.usClientNodeId AS BIGINT), CAST(NEW.usStartTime AS BIGINT), CAST(NEW.usEndTime AS BIGINT), NEW.usStatus, NEW.usReason, NEW.usAuth, NEW.usSessionType) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$341 = ['INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES( CAST(NEW.usUid AS BIGINT), CAST(NEW.usPcsn AS BIGINT), CAST(NEW.usLcsn AS BIGINT), CAST(NEW.usLcb AS BIGINT), CAST(NEW.usLct AS BIGINT), CAST(NEW.usPersonUid AS BIGINT), CAST(NEW.usClientNodeId AS BIGINT), CAST(NEW.usStartTime AS BIGINT), CAST(NEW.usEndTime AS BIGINT), NEW.usStatus, NEW.usReason, NEW.usAuth, NEW.usSessionType)  ON CONFLICT(usUid)  DO UPDATE SET usPcsn = NEW.usPcsn, usLcsn = NEW.usLcsn, usLcb = NEW.usLcb, usLct = NEW.usLct, usPersonUid = NEW.usPersonUid, usClientNodeId = NEW.usClientNodeId, usStartTime = NEW.usStartTime, usEndTime = NEW.usEndTime, usStatus = NEW.usStatus, usReason = NEW.usReason, usAuth = NEW.usAuth, usSessionType = NEW.usSessionType '];
    var tmp_302 = to(679, new ReplicationEntityMetaData(679, 'UserSession', 'UserSession_ReceiveView', tmp_295, 'usLct', tmp_296, 1000, tmp_297, listOf(new Trigger('usersession_remote_insert', tmp_298, tmp_299, tmp_300, tmp_301, tmp$ret$341, 'SELECT \n                   CAST(NEW.usLct AS BIGINT) >\n                       COALESCE((SELECT UserSession_Existing.usLct\n                                   FROM UserSession UserSession_Existing\n                                  WHERE UserSession_Existing.usUid = NEW.usUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.usLct AS BIGINT) >\n                       COALESCE((SELECT UserSession_Existing.usLct\n                                   FROM UserSession UserSession_Existing\n                                  WHERE UserSession_Existing.usUid = NEW.usUid), 0)\n                   '))));
    var tmp_303 = listOf('cjUid');
    var tmp_304 = listOf_0([new ReplicationFieldMetaData('toUri', -1, true), new ReplicationFieldMetaData('cjProgress', -5, false), new ReplicationFieldMetaData('cjTotal', -5, false), new ReplicationFieldMetaData('cjNotificationTitle', -1, true), new ReplicationFieldMetaData('cjIsMeteredAllowed', 16, false), new ReplicationFieldMetaData('params', -1, true), new ReplicationFieldMetaData('cjLct', -5, false), new ReplicationFieldMetaData('cjUid', -5, false)]);
    var tmp_305 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_306 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_307 = [Event_INSERT_getInstance()];
    var tmp_308 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_309 = ['REPLACE INTO ContentJob (cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) VALUES( CAST(NEW.cjUid AS BIGINT), NEW.toUri, CAST(NEW.cjProgress AS BIGINT), CAST(NEW.cjTotal AS BIGINT), NEW.cjNotificationTitle, NEW.cjIsMeteredAllowed, NEW.params, CAST(NEW.cjLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$350 = ['INSERT INTO ContentJob (cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) VALUES( CAST(NEW.cjUid AS BIGINT), NEW.toUri, CAST(NEW.cjProgress AS BIGINT), CAST(NEW.cjTotal AS BIGINT), NEW.cjNotificationTitle, NEW.cjIsMeteredAllowed, NEW.params, CAST(NEW.cjLct AS BIGINT))  ON CONFLICT(cjUid)  DO UPDATE SET toUri = NEW.toUri, cjProgress = NEW.cjProgress, cjTotal = NEW.cjTotal, cjNotificationTitle = NEW.cjNotificationTitle, cjIsMeteredAllowed = NEW.cjIsMeteredAllowed, params = NEW.params, cjLct = NEW.cjLct '];
    var tmp_310 = to(702, new ReplicationEntityMetaData(702, 'ContentJob', 'ContentJob_ReceiveView', tmp_303, 'cjLct', tmp_304, 1000, tmp_305, listOf(new Trigger('contentjob_remote_insert', tmp_306, tmp_307, tmp_308, tmp_309, tmp$ret$350, 'SELECT \n                   CAST(NEW.cjLct AS BIGINT) >\n                       COALESCE((SELECT ContentJob_Existing.cjLct\n                                   FROM ContentJob ContentJob_Existing\n                                  WHERE ContentJob_Existing.cjUid = NEW.cjUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cjLct AS BIGINT) >\n                       COALESCE((SELECT ContentJob_Existing.cjLct\n                                   FROM ContentJob ContentJob_Existing\n                                  WHERE ContentJob_Existing.cjUid = NEW.cjUid), 0)\n                   '))));
    var tmp_311 = listOf('cbUid');
    var tmp_312 = listOf_0([new ReplicationFieldMetaData('cbType', 4, false), new ReplicationFieldMetaData('cbIndentLevel', 4, false), new ReplicationFieldMetaData('cbModuleParentBlockUid', -5, false), new ReplicationFieldMetaData('cbTitle', -1, true), new ReplicationFieldMetaData('cbDescription', -1, true), new ReplicationFieldMetaData('cbCompletionCriteria', 4, false), new ReplicationFieldMetaData('cbHideUntilDate', -5, false), new ReplicationFieldMetaData('cbDeadlineDate', -5, false), new ReplicationFieldMetaData('cbLateSubmissionPenalty', 4, false), new ReplicationFieldMetaData('cbGracePeriodDate', -5, false), new ReplicationFieldMetaData('cbMaxPoints', 6, true), new ReplicationFieldMetaData('cbMinPoints', 6, true), new ReplicationFieldMetaData('cbIndex', 4, false), new ReplicationFieldMetaData('cbClazzUid', -5, false), new ReplicationFieldMetaData('cbClazzSourcedId', -1, true), new ReplicationFieldMetaData('cbActive', 16, false), new ReplicationFieldMetaData('cbHidden', 16, false), new ReplicationFieldMetaData('cbEntityUid', -5, false), new ReplicationFieldMetaData('cbLct', -5, false), new ReplicationFieldMetaData('cbSourcedId', -1, true), new ReplicationFieldMetaData('cbMetadata', -1, true), new ReplicationFieldMetaData('cbCreatedByAppId', -1, true), new ReplicationFieldMetaData('cbUid', -5, false)]);
    var tmp_313 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_314 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_315 = [Event_INSERT_getInstance()];
    var tmp_316 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_317 = ['REPLACE INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES( CAST(NEW.cbUid AS BIGINT), NEW.cbType, NEW.cbIndentLevel, CAST(NEW.cbModuleParentBlockUid AS BIGINT), NEW.cbTitle, NEW.cbDescription, NEW.cbCompletionCriteria, CAST(NEW.cbHideUntilDate AS BIGINT), CAST(NEW.cbDeadlineDate AS BIGINT), NEW.cbLateSubmissionPenalty, CAST(NEW.cbGracePeriodDate AS BIGINT), NEW.cbMaxPoints, NEW.cbMinPoints, NEW.cbIndex, CAST(NEW.cbClazzUid AS BIGINT), NEW.cbClazzSourcedId, NEW.cbActive, NEW.cbHidden, CAST(NEW.cbEntityUid AS BIGINT), CAST(NEW.cbLct AS BIGINT), NEW.cbSourcedId, NEW.cbMetadata, NEW.cbCreatedByAppId) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$359 = ['INSERT INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES( CAST(NEW.cbUid AS BIGINT), NEW.cbType, NEW.cbIndentLevel, CAST(NEW.cbModuleParentBlockUid AS BIGINT), NEW.cbTitle, NEW.cbDescription, NEW.cbCompletionCriteria, CAST(NEW.cbHideUntilDate AS BIGINT), CAST(NEW.cbDeadlineDate AS BIGINT), NEW.cbLateSubmissionPenalty, CAST(NEW.cbGracePeriodDate AS BIGINT), NEW.cbMaxPoints, NEW.cbMinPoints, NEW.cbIndex, CAST(NEW.cbClazzUid AS BIGINT), NEW.cbClazzSourcedId, NEW.cbActive, NEW.cbHidden, CAST(NEW.cbEntityUid AS BIGINT), CAST(NEW.cbLct AS BIGINT), NEW.cbSourcedId, NEW.cbMetadata, NEW.cbCreatedByAppId)  ON CONFLICT(cbUid)  DO UPDATE SET cbType = NEW.cbType, cbIndentLevel = NEW.cbIndentLevel, cbModuleParentBlockUid = NEW.cbModuleParentBlockUid, cbTitle = NEW.cbTitle, cbDescription = NEW.cbDescription, cbCompletionCriteria = NEW.cbCompletionCriteria, cbHideUntilDate = NEW.cbHideUntilDate, cbDeadlineDate = NEW.cbDeadlineDate, cbLateSubmissionPenalty = NEW.cbLateSubmissionPenalty, cbGracePeriodDate = NEW.cbGracePeriodDate, cbMaxPoints = NEW.cbMaxPoints, cbMinPoints = NEW.cbMinPoints, cbIndex = NEW.cbIndex, cbClazzUid = NEW.cbClazzUid, cbClazzSourcedId = NEW.cbClazzSourcedId, cbActive = NEW.cbActive, cbHidden = NEW.cbHidden, cbEntityUid = NEW.cbEntityUid, cbLct = NEW.cbLct, cbSourcedId = NEW.cbSourcedId, cbMetadata = NEW.cbMetadata, cbCreatedByAppId = NEW.cbCreatedByAppId '];
    var tmp_318 = to(124, new ReplicationEntityMetaData(124, 'CourseBlock', 'CourseBlock_ReceiveView', tmp_311, 'cbLct', tmp_312, 1000, tmp_313, listOf(new Trigger('courseblock_remote_insert', tmp_314, tmp_315, tmp_316, tmp_317, tmp$ret$359, 'SELECT \n                   CAST(NEW.cbLct AS BIGINT) >\n                       COALESCE((SELECT CourseBlock_Existing.cbLct\n                                   FROM CourseBlock CourseBlock_Existing\n                                  WHERE CourseBlock_Existing.cbUid = NEW.cbUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cbLct AS BIGINT) >\n                       COALESCE((SELECT CourseBlock_Existing.cbLct\n                                   FROM CourseBlock CourseBlock_Existing\n                                  WHERE CourseBlock_Existing.cbUid = NEW.cbUid), 0)\n                   '))));
    var tmp_319 = listOf('ctUid');
    var tmp_320 = listOf_0([new ReplicationFieldMetaData('ctTitle', -1, true), new ReplicationFieldMetaData('ctTerminology', -1, true), new ReplicationFieldMetaData('ctLct', -5, false), new ReplicationFieldMetaData('ctUid', -5, false)]);
    var tmp_321 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_322 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_323 = [Event_INSERT_getInstance()];
    var tmp_324 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_325 = ['REPLACE INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES( CAST(NEW.ctUid AS BIGINT), NEW.ctTitle, NEW.ctTerminology, CAST(NEW.ctLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$368 = ['INSERT INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES( CAST(NEW.ctUid AS BIGINT), NEW.ctTitle, NEW.ctTerminology, CAST(NEW.ctLct AS BIGINT))  ON CONFLICT(ctUid)  DO UPDATE SET ctTitle = NEW.ctTitle, ctTerminology = NEW.ctTerminology, ctLct = NEW.ctLct '];
    var tmp_326 = to(450, new ReplicationEntityMetaData(450, 'CourseTerminology', 'CourseTerminology_ReceiveView', tmp_319, 'ctLct', tmp_320, 1000, tmp_321, listOf(new Trigger('courseterminology_remote_insert', tmp_322, tmp_323, tmp_324, tmp_325, tmp$ret$368, 'SELECT \n                   CAST(NEW.ctLct AS BIGINT) >\n                       COALESCE((SELECT CourseTerminology_Existing.ctLct\n                                   FROM CourseTerminology CourseTerminology_Existing\n                                  WHERE CourseTerminology_Existing.ctUid = NEW.ctUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.ctLct AS BIGINT) >\n                       COALESCE((SELECT CourseTerminology_Existing.ctLct\n                                   FROM CourseTerminology CourseTerminology_Existing\n                                  WHERE CourseTerminology_Existing.ctUid = NEW.ctUid), 0)\n                   '))));
    var tmp_327 = listOf('cgsUid');
    var tmp_328 = listOf_0([new ReplicationFieldMetaData('cgsName', -1, true), new ReplicationFieldMetaData('cgsTotalGroups', 4, false), new ReplicationFieldMetaData('cgsActive', 16, false), new ReplicationFieldMetaData('cgsClazzUid', -5, false), new ReplicationFieldMetaData('cgsLct', -5, false), new ReplicationFieldMetaData('cgsUid', -5, false)]);
    var tmp_329 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_330 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_331 = [Event_INSERT_getInstance()];
    var tmp_332 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_333 = ['REPLACE INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES( CAST(NEW.cgsUid AS BIGINT), NEW.cgsName, NEW.cgsTotalGroups, NEW.cgsActive, CAST(NEW.cgsClazzUid AS BIGINT), CAST(NEW.cgsLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$377 = ['INSERT INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES( CAST(NEW.cgsUid AS BIGINT), NEW.cgsName, NEW.cgsTotalGroups, NEW.cgsActive, CAST(NEW.cgsClazzUid AS BIGINT), CAST(NEW.cgsLct AS BIGINT))  ON CONFLICT(cgsUid)  DO UPDATE SET cgsName = NEW.cgsName, cgsTotalGroups = NEW.cgsTotalGroups, cgsActive = NEW.cgsActive, cgsClazzUid = NEW.cgsClazzUid, cgsLct = NEW.cgsLct '];
    var tmp_334 = to(242, new ReplicationEntityMetaData(242, 'CourseGroupSet', 'CourseGroupSet_ReceiveView', tmp_327, 'cgsLct', tmp_328, 1000, tmp_329, listOf(new Trigger('coursegroupset_remote_insert', tmp_330, tmp_331, tmp_332, tmp_333, tmp$ret$377, 'SELECT \n                   CAST(NEW.cgsLct AS BIGINT) >\n                       COALESCE((SELECT CourseGroupSet_Existing.cgsLct\n                                   FROM CourseGroupSet CourseGroupSet_Existing\n                                  WHERE CourseGroupSet_Existing.cgsUid = NEW.cgsUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cgsLct AS BIGINT) >\n                       COALESCE((SELECT CourseGroupSet_Existing.cgsLct\n                                   FROM CourseGroupSet CourseGroupSet_Existing\n                                  WHERE CourseGroupSet_Existing.cgsUid = NEW.cgsUid), 0)\n                   '))));
    var tmp_335 = listOf('cgmUid');
    var tmp_336 = listOf_0([new ReplicationFieldMetaData('cgmSetUid', -5, false), new ReplicationFieldMetaData('cgmGroupNumber', 4, false), new ReplicationFieldMetaData('cgmPersonUid', -5, false), new ReplicationFieldMetaData('cgmLct', -5, false), new ReplicationFieldMetaData('cgmUid', -5, false)]);
    var tmp_337 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_338 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_339 = [Event_INSERT_getInstance()];
    var tmp_340 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_341 = ['REPLACE INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES( CAST(NEW.cgmUid AS BIGINT), CAST(NEW.cgmSetUid AS BIGINT), NEW.cgmGroupNumber, CAST(NEW.cgmPersonUid AS BIGINT), CAST(NEW.cgmLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$386 = ['INSERT INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES( CAST(NEW.cgmUid AS BIGINT), CAST(NEW.cgmSetUid AS BIGINT), NEW.cgmGroupNumber, CAST(NEW.cgmPersonUid AS BIGINT), CAST(NEW.cgmLct AS BIGINT))  ON CONFLICT(cgmUid)  DO UPDATE SET cgmSetUid = NEW.cgmSetUid, cgmGroupNumber = NEW.cgmGroupNumber, cgmPersonUid = NEW.cgmPersonUid, cgmLct = NEW.cgmLct '];
    var tmp_342 = to(243, new ReplicationEntityMetaData(243, 'CourseGroupMember', 'CourseGroupMember_ReceiveView', tmp_335, 'cgmLct', tmp_336, 1000, tmp_337, listOf(new Trigger('coursegroupmember_remote_insert', tmp_338, tmp_339, tmp_340, tmp_341, tmp$ret$386, 'SELECT \n                   CAST(NEW.cgmLct AS BIGINT) >\n                       COALESCE((SELECT CourseGroupMember_Existing.cgmLct\n                                   FROM CourseGroupMember CourseGroupMember_Existing\n                                  WHERE CourseGroupMember_Existing.cgmUid = NEW.cgmUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cgmLct AS BIGINT) >\n                       COALESCE((SELECT CourseGroupMember_Existing.cgmLct\n                                   FROM CourseGroupMember CourseGroupMember_Existing\n                                  WHERE CourseGroupMember_Existing.cgmUid = NEW.cgmUid), 0)\n                   '))));
    var tmp_343 = listOf('cepUid');
    var tmp_344 = listOf_0([new ReplicationFieldMetaData('cepContentEntryUid', -5, false), new ReplicationFieldMetaData('cepUri', -1, true), new ReplicationFieldMetaData('cepMd5', -1, true), new ReplicationFieldMetaData('cepFileSize', 4, false), new ReplicationFieldMetaData('cepTimestamp', -5, false), new ReplicationFieldMetaData('cepMimeType', -1, true), new ReplicationFieldMetaData('cepActive', 16, false), new ReplicationFieldMetaData('cepUid', -5, false)]);
    var tmp_345 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_346 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_347 = [Event_INSERT_getInstance()];
    var tmp_348 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_349 = ['REPLACE INTO ContentEntryPicture (cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepContentEntryUid AS BIGINT), NEW.cepUri, NEW.cepMd5, NEW.cepFileSize, CAST(NEW.cepTimestamp AS BIGINT), NEW.cepMimeType, NEW.cepActive) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$395 = ['INSERT INTO ContentEntryPicture (cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepContentEntryUid AS BIGINT), NEW.cepUri, NEW.cepMd5, NEW.cepFileSize, CAST(NEW.cepTimestamp AS BIGINT), NEW.cepMimeType, NEW.cepActive)  ON CONFLICT(cepUid)  DO UPDATE SET cepContentEntryUid = NEW.cepContentEntryUid, cepUri = NEW.cepUri, cepMd5 = NEW.cepMd5, cepFileSize = NEW.cepFileSize, cepTimestamp = NEW.cepTimestamp, cepMimeType = NEW.cepMimeType, cepActive = NEW.cepActive '];
    var tmp_350 = to(138, new ReplicationEntityMetaData(138, 'ContentEntryPicture', 'ContentEntryPicture_ReceiveView', tmp_343, 'cepTimestamp', tmp_344, 1000, tmp_345, listOf(new Trigger('ceppicture_remote_insert', tmp_346, tmp_347, tmp_348, tmp_349, tmp$ret$395, 'SELECT \n                   CAST(NEW.cepTimestamp AS BIGINT) >\n                       COALESCE((SELECT ContentEntryPicture_Existing.cepTimestamp\n                                   FROM ContentEntryPicture ContentEntryPicture_Existing\n                                  WHERE ContentEntryPicture_Existing.cepUid = NEW.cepUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cepTimestamp AS BIGINT) >\n                       COALESCE((SELECT ContentEntryPicture_Existing.cepTimestamp\n                                   FROM ContentEntryPicture ContentEntryPicture_Existing\n                                  WHERE ContentEntryPicture_Existing.cepUid = NEW.cepUid), 0)\n                   '))));
    var tmp_351 = listOf_0(['aieActivityUid', 'aieHash']);
    var tmp_352 = listOf_0([new ReplicationFieldMetaData('aieActivityUid', -5, false), new ReplicationFieldMetaData('aieHash', -5, false), new ReplicationFieldMetaData('aieProp', 4, false), new ReplicationFieldMetaData('aieId', -1, true), new ReplicationFieldMetaData('aieLastMod', -5, false), new ReplicationFieldMetaData('aieIsDeleted', 16, false)]);
    var tmp_353 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_354 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_355 = [Event_INSERT_getInstance()];
    var tmp_356 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_357 = ['REPLACE INTO ActivityInteractionEntity (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) VALUES( CAST(NEW.aieActivityUid AS BIGINT), CAST(NEW.aieHash AS BIGINT), NEW.aieProp, NEW.aieId, CAST(NEW.aieLastMod AS BIGINT), NEW.aieIsDeleted) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$404 = ['INSERT INTO ActivityInteractionEntity (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) VALUES( CAST(NEW.aieActivityUid AS BIGINT), CAST(NEW.aieHash AS BIGINT), NEW.aieProp, NEW.aieId, CAST(NEW.aieLastMod AS BIGINT), NEW.aieIsDeleted)  ON CONFLICT(aieActivityUid, aieHash)  DO UPDATE SET aieProp = NEW.aieProp, aieId = NEW.aieId, aieLastMod = NEW.aieLastMod, aieIsDeleted = NEW.aieIsDeleted '];
    var tmp_358 = to(6401, new ReplicationEntityMetaData(6401, 'ActivityInteractionEntity', 'ActivityInteractionEntity_ReceiveView', tmp_351, 'aieLastMod', tmp_352, 1000, tmp_353, listOf(new Trigger('activityinteractionentity_remote_insert', tmp_354, tmp_355, tmp_356, tmp_357, tmp$ret$404, 'SELECT \n                   CAST(NEW.aieLastMod AS BIGINT) >\n                       COALESCE((SELECT ActivityInteractionEntity_Existing.aieLastMod\n                                   FROM ActivityInteractionEntity ActivityInteractionEntity_Existing\n                                  WHERE ActivityInteractionEntity_Existing.aieActivityUid = NEW.aieActivityUid AND ActivityInteractionEntity_Existing.aieHash = NEW.aieHash), 0)\n                   ', 'SELECT \n                   CAST(NEW.aieLastMod AS BIGINT) >\n                       COALESCE((SELECT ActivityInteractionEntity_Existing.aieLastMod\n                                   FROM ActivityInteractionEntity ActivityInteractionEntity_Existing\n                                  WHERE ActivityInteractionEntity_Existing.aieActivityUid = NEW.aieActivityUid AND ActivityInteractionEntity_Existing.aieHash = NEW.aieHash), 0)\n                   '))));
    var tmp_359 = listOf('coursePictureUid');
    var tmp_360 = listOf_0([new ReplicationFieldMetaData('coursePictureLct', -5, false), new ReplicationFieldMetaData('coursePictureUri', -1, true), new ReplicationFieldMetaData('coursePictureThumbnailUri', -1, true), new ReplicationFieldMetaData('coursePictureActive', 16, false), new ReplicationFieldMetaData('coursePictureUid', -5, false)]);
    var tmp_361 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_362 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_363 = [Event_INSERT_getInstance()];
    var tmp_364 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_365 = ['REPLACE INTO CoursePicture (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) VALUES( CAST(NEW.coursePictureUid AS BIGINT), CAST(NEW.coursePictureLct AS BIGINT), NEW.coursePictureUri, NEW.coursePictureThumbnailUri, NEW.coursePictureActive) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$413 = ['INSERT INTO CoursePicture (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) VALUES( CAST(NEW.coursePictureUid AS BIGINT), CAST(NEW.coursePictureLct AS BIGINT), NEW.coursePictureUri, NEW.coursePictureThumbnailUri, NEW.coursePictureActive)  ON CONFLICT(coursePictureUid)  DO UPDATE SET coursePictureLct = NEW.coursePictureLct, coursePictureUri = NEW.coursePictureUri, coursePictureThumbnailUri = NEW.coursePictureThumbnailUri, coursePictureActive = NEW.coursePictureActive '];
    var tmp_366 = to(125, new ReplicationEntityMetaData(125, 'CoursePicture', 'CoursePicture_ReceiveView', tmp_359, 'coursePictureLct', tmp_360, 1000, tmp_361, listOf(new Trigger('coursepicture_remote_insert', tmp_362, tmp_363, tmp_364, tmp_365, tmp$ret$413, 'SELECT \n                   CAST(NEW.coursePictureLct AS BIGINT) >\n                       COALESCE((SELECT CoursePicture_Existing.coursePictureLct\n                                   FROM CoursePicture CoursePicture_Existing\n                                  WHERE CoursePicture_Existing.coursePictureUid = NEW.coursePictureUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.coursePictureLct AS BIGINT) >\n                       COALESCE((SELECT CoursePicture_Existing.coursePictureLct\n                                   FROM CoursePicture CoursePicture_Existing\n                                  WHERE CoursePicture_Existing.coursePictureUid = NEW.coursePictureUid), 0)\n                   '))));
    var tmp_367 = listOf('discussionPostUid');
    var tmp_368 = listOf_0([new ReplicationFieldMetaData('discussionPostReplyToPostUid', -5, false), new ReplicationFieldMetaData('discussionPostTitle', -1, true), new ReplicationFieldMetaData('discussionPostMessage', -1, true), new ReplicationFieldMetaData('discussionPostStartDate', -5, false), new ReplicationFieldMetaData('discussionPostCourseBlockUid', -5, false), new ReplicationFieldMetaData('dpDeleted', 16, false), new ReplicationFieldMetaData('discussionPostStartedPersonUid', -5, false), new ReplicationFieldMetaData('discussionPostClazzUid', -5, false), new ReplicationFieldMetaData('discussionPostLct', -5, false), new ReplicationFieldMetaData('discussionPostVisible', 16, false), new ReplicationFieldMetaData('discussionPostArchive', 16, false), new ReplicationFieldMetaData('discussionPostUid', -5, false)]);
    var tmp_369 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_370 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_371 = [Event_INSERT_getInstance()];
    var tmp_372 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_373 = ['REPLACE INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES( CAST(NEW.discussionPostUid AS BIGINT), CAST(NEW.discussionPostReplyToPostUid AS BIGINT), NEW.discussionPostTitle, NEW.discussionPostMessage, CAST(NEW.discussionPostStartDate AS BIGINT), CAST(NEW.discussionPostCourseBlockUid AS BIGINT), NEW.dpDeleted, CAST(NEW.discussionPostStartedPersonUid AS BIGINT), CAST(NEW.discussionPostClazzUid AS BIGINT), CAST(NEW.discussionPostLct AS BIGINT), NEW.discussionPostVisible, NEW.discussionPostArchive) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$422 = ['INSERT INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES( CAST(NEW.discussionPostUid AS BIGINT), CAST(NEW.discussionPostReplyToPostUid AS BIGINT), NEW.discussionPostTitle, NEW.discussionPostMessage, CAST(NEW.discussionPostStartDate AS BIGINT), CAST(NEW.discussionPostCourseBlockUid AS BIGINT), NEW.dpDeleted, CAST(NEW.discussionPostStartedPersonUid AS BIGINT), CAST(NEW.discussionPostClazzUid AS BIGINT), CAST(NEW.discussionPostLct AS BIGINT), NEW.discussionPostVisible, NEW.discussionPostArchive)  ON CONFLICT(discussionPostUid)  DO UPDATE SET discussionPostReplyToPostUid = NEW.discussionPostReplyToPostUid, discussionPostTitle = NEW.discussionPostTitle, discussionPostMessage = NEW.discussionPostMessage, discussionPostStartDate = NEW.discussionPostStartDate, discussionPostCourseBlockUid = NEW.discussionPostCourseBlockUid, dpDeleted = NEW.dpDeleted, discussionPostStartedPersonUid = NEW.discussionPostStartedPersonUid, discussionPostClazzUid = NEW.discussionPostClazzUid, discussionPostLct = NEW.discussionPostLct, discussionPostVisible = NEW.discussionPostVisible, discussionPostArchive = NEW.discussionPostArchive '];
    var tmp_374 = to(132, new ReplicationEntityMetaData(132, 'DiscussionPost', 'DiscussionPost_ReceiveView', tmp_367, 'discussionPostLct', tmp_368, 1000, tmp_369, listOf(new Trigger('discussionpost_remote_insert', tmp_370, tmp_371, tmp_372, tmp_373, tmp$ret$422, 'SELECT \n                   CAST(NEW.discussionPostLct AS BIGINT) >\n                       COALESCE((SELECT DiscussionPost_Existing.discussionPostLct\n                                   FROM DiscussionPost DiscussionPost_Existing\n                                  WHERE DiscussionPost_Existing.discussionPostUid = NEW.discussionPostUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.discussionPostLct AS BIGINT) >\n                       COALESCE((SELECT DiscussionPost_Existing.discussionPostLct\n                                   FROM DiscussionPost DiscussionPost_Existing\n                                  WHERE DiscussionPost_Existing.discussionPostUid = NEW.discussionPostUid), 0)\n                   '))));
    var tmp_375 = listOf('messageUid');
    var tmp_376 = listOf_0([new ReplicationFieldMetaData('messageSenderPersonUid', -5, false), new ReplicationFieldMetaData('messageToPersonUid', -5, false), new ReplicationFieldMetaData('messageText', -1, true), new ReplicationFieldMetaData('messageTimestamp', -5, false), new ReplicationFieldMetaData('messageLct', -5, false), new ReplicationFieldMetaData('messageUid', -5, false)]);
    var tmp_377 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_378 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_379 = [Event_INSERT_getInstance()];
    var tmp_380 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_381 = ['REPLACE INTO Message (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) VALUES( CAST(NEW.messageUid AS BIGINT), CAST(NEW.messageSenderPersonUid AS BIGINT), CAST(NEW.messageToPersonUid AS BIGINT), NEW.messageText, CAST(NEW.messageTimestamp AS BIGINT), CAST(NEW.messageLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$431 = ['INSERT INTO Message (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) VALUES( CAST(NEW.messageUid AS BIGINT), CAST(NEW.messageSenderPersonUid AS BIGINT), CAST(NEW.messageToPersonUid AS BIGINT), NEW.messageText, CAST(NEW.messageTimestamp AS BIGINT), CAST(NEW.messageLct AS BIGINT))  ON CONFLICT(messageUid)  DO UPDATE SET messageSenderPersonUid = NEW.messageSenderPersonUid, messageToPersonUid = NEW.messageToPersonUid, messageText = NEW.messageText, messageTimestamp = NEW.messageTimestamp, messageLct = NEW.messageLct '];
    var tmp_382 = to(126, new ReplicationEntityMetaData(126, 'Message', 'Message_ReceiveView', tmp_375, 'messageLct', tmp_376, 1000, tmp_377, listOf(new Trigger('message_remote_insert', tmp_378, tmp_379, tmp_380, tmp_381, tmp$ret$431, 'SELECT \n                   CAST(NEW.messageLct AS BIGINT) >\n                       COALESCE((SELECT Message_Existing.messageLct\n                                   FROM Message Message_Existing\n                                  WHERE Message_Existing.messageUid = NEW.messageUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.messageLct AS BIGINT) >\n                       COALESCE((SELECT Message_Existing.messageLct\n                                   FROM Message Message_Existing\n                                  WHERE Message_Existing.messageUid = NEW.messageUid), 0)\n                   '))));
    var tmp_383 = listOf('srUid');
    var tmp_384 = listOf_0([new ReplicationFieldMetaData('srUid', -5, false), new ReplicationFieldMetaData('srSourcedId', -1, true), new ReplicationFieldMetaData('srCourseBlockUid', -5, false), new ReplicationFieldMetaData('srLineItemSourcedId', -1, true), new ReplicationFieldMetaData('srLineItemHref', -1, true), new ReplicationFieldMetaData('srClazzUid', -5, false), new ReplicationFieldMetaData('srAssignmentUid', -5, false), new ReplicationFieldMetaData('srStatus', 4, false), new ReplicationFieldMetaData('srMetaData', -1, true), new ReplicationFieldMetaData('srStudentPersonUid', -5, false), new ReplicationFieldMetaData('srStudentPersonSourcedId', -1, true), new ReplicationFieldMetaData('srStudentGroupId', 4, false), new ReplicationFieldMetaData('srMarkerPersonUid', -5, false), new ReplicationFieldMetaData('srMarkerGroupId', 4, false), new ReplicationFieldMetaData('srScoreStatus', 4, false), new ReplicationFieldMetaData('srScore', 6, false), new ReplicationFieldMetaData('srScoreDate', -5, false), new ReplicationFieldMetaData('srLastModified', -5, false), new ReplicationFieldMetaData('srComment', -1, true), new ReplicationFieldMetaData('srAppId', -1, true), new ReplicationFieldMetaData('srDeleted', 16, false)]);
    var tmp_385 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_386 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_387 = [Event_INSERT_getInstance()];
    var tmp_388 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_389 = ['REPLACE INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES( CAST(NEW.srUid AS BIGINT), NEW.srSourcedId, CAST(NEW.srCourseBlockUid AS BIGINT), NEW.srLineItemSourcedId, NEW.srLineItemHref, CAST(NEW.srClazzUid AS BIGINT), CAST(NEW.srAssignmentUid AS BIGINT), NEW.srStatus, NEW.srMetaData, CAST(NEW.srStudentPersonUid AS BIGINT), NEW.srStudentPersonSourcedId, NEW.srStudentGroupId, CAST(NEW.srMarkerPersonUid AS BIGINT), NEW.srMarkerGroupId, NEW.srScoreStatus, NEW.srScore, CAST(NEW.srScoreDate AS BIGINT), CAST(NEW.srLastModified AS BIGINT), NEW.srComment, NEW.srAppId, NEW.srDeleted) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$440 = ['INSERT INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES( CAST(NEW.srUid AS BIGINT), NEW.srSourcedId, CAST(NEW.srCourseBlockUid AS BIGINT), NEW.srLineItemSourcedId, NEW.srLineItemHref, CAST(NEW.srClazzUid AS BIGINT), CAST(NEW.srAssignmentUid AS BIGINT), NEW.srStatus, NEW.srMetaData, CAST(NEW.srStudentPersonUid AS BIGINT), NEW.srStudentPersonSourcedId, NEW.srStudentGroupId, CAST(NEW.srMarkerPersonUid AS BIGINT), NEW.srMarkerGroupId, NEW.srScoreStatus, NEW.srScore, CAST(NEW.srScoreDate AS BIGINT), CAST(NEW.srLastModified AS BIGINT), NEW.srComment, NEW.srAppId, NEW.srDeleted)  ON CONFLICT(srUid)  DO UPDATE SET srSourcedId = NEW.srSourcedId, srCourseBlockUid = NEW.srCourseBlockUid, srLineItemSourcedId = NEW.srLineItemSourcedId, srLineItemHref = NEW.srLineItemHref, srClazzUid = NEW.srClazzUid, srAssignmentUid = NEW.srAssignmentUid, srStatus = NEW.srStatus, srMetaData = NEW.srMetaData, srStudentPersonUid = NEW.srStudentPersonUid, srStudentPersonSourcedId = NEW.srStudentPersonSourcedId, srStudentGroupId = NEW.srStudentGroupId, srMarkerPersonUid = NEW.srMarkerPersonUid, srMarkerGroupId = NEW.srMarkerGroupId, srScoreStatus = NEW.srScoreStatus, srScore = NEW.srScore, srScoreDate = NEW.srScoreDate, srLastModified = NEW.srLastModified, srComment = NEW.srComment, srAppId = NEW.srAppId, srDeleted = NEW.srDeleted '];
    var tmp_390 = to(471, new ReplicationEntityMetaData(471, 'StudentResult', 'StudentResult_ReceiveView', tmp_383, 'srLastModified', tmp_384, 1000, tmp_385, listOf(new Trigger('studentresult_remote_insert', tmp_386, tmp_387, tmp_388, tmp_389, tmp$ret$440, 'SELECT \n                   CAST(NEW.srLastModified AS BIGINT) >\n                       COALESCE((SELECT StudentResult_Existing.srLastModified\n                                   FROM StudentResult StudentResult_Existing\n                                  WHERE StudentResult_Existing.srUid = NEW.srUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.srLastModified AS BIGINT) >\n                       COALESCE((SELECT StudentResult_Existing.srLastModified\n                                   FROM StudentResult StudentResult_Existing\n                                  WHERE StudentResult_Existing.srUid = NEW.srUid), 0)\n                   '))));
    var tmp_391 = listOf('cevUid');
    var tmp_392 = listOf_0([new ReplicationFieldMetaData('cevContentEntryUid', -5, false), new ReplicationFieldMetaData('cevOpenUri', -1, true), new ReplicationFieldMetaData('cevContentType', -1, true), new ReplicationFieldMetaData('cevManifestUrl', -1, true), new ReplicationFieldMetaData('cevSize', -5, false), new ReplicationFieldMetaData('cevInActive', 16, false), new ReplicationFieldMetaData('cevLastModified', -5, false), new ReplicationFieldMetaData('cevLct', -5, false), new ReplicationFieldMetaData('cevStorageSize', -5, false), new ReplicationFieldMetaData('cevOriginalSize', -5, false), new ReplicationFieldMetaData('cevUid', -5, false)]);
    var tmp_393 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_394 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_395 = [Event_INSERT_getInstance()];
    var tmp_396 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_397 = ['REPLACE INTO ContentEntryVersion (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) VALUES( CAST(NEW.cevUid AS BIGINT), CAST(NEW.cevContentEntryUid AS BIGINT), NEW.cevOpenUri, NEW.cevContentType, NEW.cevManifestUrl, CAST(NEW.cevSize AS BIGINT), NEW.cevInActive, CAST(NEW.cevLastModified AS BIGINT), CAST(NEW.cevLct AS BIGINT), CAST(NEW.cevStorageSize AS BIGINT), CAST(NEW.cevOriginalSize AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$449 = ['INSERT INTO ContentEntryVersion (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) VALUES( CAST(NEW.cevUid AS BIGINT), CAST(NEW.cevContentEntryUid AS BIGINT), NEW.cevOpenUri, NEW.cevContentType, NEW.cevManifestUrl, CAST(NEW.cevSize AS BIGINT), NEW.cevInActive, CAST(NEW.cevLastModified AS BIGINT), CAST(NEW.cevLct AS BIGINT), CAST(NEW.cevStorageSize AS BIGINT), CAST(NEW.cevOriginalSize AS BIGINT))  ON CONFLICT(cevUid)  DO UPDATE SET cevContentEntryUid = NEW.cevContentEntryUid, cevOpenUri = NEW.cevOpenUri, cevContentType = NEW.cevContentType, cevManifestUrl = NEW.cevManifestUrl, cevSize = NEW.cevSize, cevInActive = NEW.cevInActive, cevLastModified = NEW.cevLastModified, cevLct = NEW.cevLct, cevStorageSize = NEW.cevStorageSize, cevOriginalSize = NEW.cevOriginalSize '];
    var tmp_398 = new Trigger('content_entry_version_remote_ins', tmp_394, tmp_395, tmp_396, tmp_397, tmp$ret$449, 'SELECT \n                   CAST(NEW.cevLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryVersion_Existing.cevLct\n                                   FROM ContentEntryVersion ContentEntryVersion_Existing\n                                  WHERE ContentEntryVersion_Existing.cevUid = NEW.cevUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cevLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryVersion_Existing.cevLct\n                                   FROM ContentEntryVersion ContentEntryVersion_Existing\n                                  WHERE ContentEntryVersion_Existing.cevUid = NEW.cevUid), 0)\n                   ');
    var tmp_399 = Order_AFTER_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_400 = [Event_INSERT_getInstance()];
    var tmp_401 = On_ENTITY_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_402 = ['\n                INSERT INTO OfflineItemPendingTransferJob(oiptjOiUid, oiptjTableId, oiptjEntityUid, oiptjType)\n                VALUES ((SELECT COALESCE((\n                 SELECT OfflineItem.oiUid\n                   FROM OfflineItem\n                  WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid\n                    AND CAST(OfflineItem.oiActive AS INTEGER) = 1\n                    AND OfflineItem.oiNodeId = \n            (SELECT COALESCE(\n                    (SELECT nodeClientId \n                       FROM SyncNode \n                      LIMIT 1), 0))\n        \n        ), 0)),\n                        738, NEW.cevUid, 2)\n            '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$458 = ['\n                INSERT INTO OfflineItemPendingTransferJob(oiptjOiUid, oiptjTableId, oiptjEntityUid, oiptjType)\n                VALUES ((SELECT COALESCE((\n                 SELECT OfflineItem.oiUid\n                   FROM OfflineItem\n                  WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid\n                    AND CAST(OfflineItem.oiActive AS INTEGER) = 1\n                    AND OfflineItem.oiNodeId = \n            (SELECT COALESCE(\n                    (SELECT nodeClientId \n                       FROM SyncNode \n                      LIMIT 1), 0))\n        \n        ), 0)),\n                        738, NEW.cevUid, 2)\n            '];
    var tmp_403 = to(738, new ReplicationEntityMetaData(738, 'ContentEntryVersion', 'ContentEntryVersion_ReceiveView', tmp_391, 'cevLct', tmp_392, 1000, tmp_393, listOf_0([tmp_398, new Trigger('content_entry_version_offline_item', tmp_399, tmp_400, tmp_401, tmp_402, tmp$ret$458, '\n                 SELECT EXISTS(\n                 SELECT OfflineItem.oiUid\n                   FROM OfflineItem\n                  WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid\n                    AND CAST(OfflineItem.oiActive AS INTEGER) = 1\n                    AND OfflineItem.oiNodeId = \n            (SELECT COALESCE(\n                    (SELECT nodeClientId \n                       FROM SyncNode \n                      LIMIT 1), 0))\n        \n        )\n                    AND NOT EXISTS\n                        (SELECT TransferJob.tjUid\n                           FROM TransferJob\n                          WHERE TransferJob.tjTableId = 738\n                            AND TransferJob.tjEntityUid = NEW.cevUid)\n                 ', '\n                 SELECT EXISTS(\n                 SELECT OfflineItem.oiUid\n                   FROM OfflineItem\n                  WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid\n                    AND CAST(OfflineItem.oiActive AS INTEGER) = 1\n                    AND OfflineItem.oiNodeId = \n            (SELECT COALESCE(\n                    (SELECT nodeClientId \n                       FROM SyncNode \n                      LIMIT 1), 0))\n        \n        )\n                    AND NOT EXISTS\n                        (SELECT TransferJob.tjUid\n                           FROM TransferJob\n                          WHERE TransferJob.tjTableId = 738\n                            AND TransferJob.tjEntityUid = NEW.cevUid)\n                 ')])));
    var tmp_404 = listOf('oiUid');
    var tmp_405 = listOf_0([new ReplicationFieldMetaData('oiNodeId', -5, false), new ReplicationFieldMetaData('oiClazzUid', -5, false), new ReplicationFieldMetaData('oiCourseBlockUid', -5, false), new ReplicationFieldMetaData('oiContentEntryUid', -5, false), new ReplicationFieldMetaData('oiActive', 16, false), new ReplicationFieldMetaData('oiLct', -5, false), new ReplicationFieldMetaData('oiUid', -5, false)]);
    var tmp_406 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_407 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_408 = [Event_INSERT_getInstance()];
    var tmp_409 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_410 = ['REPLACE INTO OfflineItem (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) VALUES( CAST(NEW.oiUid AS BIGINT), CAST(NEW.oiNodeId AS BIGINT), CAST(NEW.oiClazzUid AS BIGINT), CAST(NEW.oiCourseBlockUid AS BIGINT), CAST(NEW.oiContentEntryUid AS BIGINT), NEW.oiActive, CAST(NEW.oiLct AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$467 = ['INSERT INTO OfflineItem (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) VALUES( CAST(NEW.oiUid AS BIGINT), CAST(NEW.oiNodeId AS BIGINT), CAST(NEW.oiClazzUid AS BIGINT), CAST(NEW.oiCourseBlockUid AS BIGINT), CAST(NEW.oiContentEntryUid AS BIGINT), NEW.oiActive, CAST(NEW.oiLct AS BIGINT))  ON CONFLICT(oiUid)  DO UPDATE SET oiNodeId = NEW.oiNodeId, oiClazzUid = NEW.oiClazzUid, oiCourseBlockUid = NEW.oiCourseBlockUid, oiContentEntryUid = NEW.oiContentEntryUid, oiActive = NEW.oiActive, oiLct = NEW.oiLct '];
    var tmp_411 = to(971, new ReplicationEntityMetaData(971, 'OfflineItem', 'OfflineItem_ReceiveView', tmp_404, 'oiLct', tmp_405, 1000, tmp_406, listOf(new Trigger('offline_item_remote_ins', tmp_407, tmp_408, tmp_409, tmp_410, tmp$ret$467, 'SELECT \n                   CAST(NEW.oiLct AS BIGINT) >\n                       COALESCE((SELECT OfflineItem_Existing.oiLct\n                                   FROM OfflineItem OfflineItem_Existing\n                                  WHERE OfflineItem_Existing.oiUid = NEW.oiUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.oiLct AS BIGINT) >\n                       COALESCE((SELECT OfflineItem_Existing.oiLct\n                                   FROM OfflineItem OfflineItem_Existing\n                                  WHERE OfflineItem_Existing.oiUid = NEW.oiUid), 0)\n                   '))));
    var tmp_412 = listOf('delItemUid');
    var tmp_413 = listOf_0([new ReplicationFieldMetaData('delItemName', -1, true), new ReplicationFieldMetaData('delItemIconUri', -1, true), new ReplicationFieldMetaData('delItemLastModTime', -5, false), new ReplicationFieldMetaData('delItemTimeDeleted', -5, false), new ReplicationFieldMetaData('delItemEntityTable', 4, false), new ReplicationFieldMetaData('delItemEntityUid', -5, false), new ReplicationFieldMetaData('delItemDeletedByPersonUid', -5, false), new ReplicationFieldMetaData('delItemStatus', 4, false), new ReplicationFieldMetaData('delItemIsFolder', 16, false), new ReplicationFieldMetaData('delItemUid', -5, false)]);
    var tmp_414 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_415 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_416 = [Event_INSERT_getInstance()];
    var tmp_417 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_418 = ['REPLACE INTO DeletedItem (delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) VALUES( CAST(NEW.delItemUid AS BIGINT), NEW.delItemName, NEW.delItemIconUri, CAST(NEW.delItemLastModTime AS BIGINT), CAST(NEW.delItemTimeDeleted AS BIGINT), NEW.delItemEntityTable, CAST(NEW.delItemEntityUid AS BIGINT), CAST(NEW.delItemDeletedByPersonUid AS BIGINT), NEW.delItemStatus, NEW.delItemIsFolder) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$476 = ['INSERT INTO DeletedItem (delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) VALUES( CAST(NEW.delItemUid AS BIGINT), NEW.delItemName, NEW.delItemIconUri, CAST(NEW.delItemLastModTime AS BIGINT), CAST(NEW.delItemTimeDeleted AS BIGINT), NEW.delItemEntityTable, CAST(NEW.delItemEntityUid AS BIGINT), CAST(NEW.delItemDeletedByPersonUid AS BIGINT), NEW.delItemStatus, NEW.delItemIsFolder)  ON CONFLICT(delItemUid)  DO UPDATE SET delItemName = NEW.delItemName, delItemIconUri = NEW.delItemIconUri, delItemLastModTime = NEW.delItemLastModTime, delItemTimeDeleted = NEW.delItemTimeDeleted, delItemEntityTable = NEW.delItemEntityTable, delItemEntityUid = NEW.delItemEntityUid, delItemDeletedByPersonUid = NEW.delItemDeletedByPersonUid, delItemStatus = NEW.delItemStatus, delItemIsFolder = NEW.delItemIsFolder '];
    var tmp_419 = to(999, new ReplicationEntityMetaData(999, 'DeletedItem', 'DeletedItem_ReceiveView', tmp_412, 'delItemLastModTime', tmp_413, 1000, tmp_414, listOf(new Trigger('deleteditem_remote_insert', tmp_415, tmp_416, tmp_417, tmp_418, tmp$ret$476, 'SELECT \n                   CAST(NEW.delItemLastModTime AS BIGINT) >\n                       COALESCE((SELECT DeletedItem_Existing.delItemLastModTime\n                                   FROM DeletedItem DeletedItem_Existing\n                                  WHERE DeletedItem_Existing.delItemUid = NEW.delItemUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.delItemLastModTime AS BIGINT) >\n                       COALESCE((SELECT DeletedItem_Existing.delItemLastModTime\n                                   FROM DeletedItem DeletedItem_Existing\n                                  WHERE DeletedItem_Existing.delItemUid = NEW.delItemUid), 0)\n                   '))));
    var tmp_420 = listOf('erUid');
    var tmp_421 = listOf_0([new ReplicationFieldMetaData('erClazzUid', -5, false), new ReplicationFieldMetaData('erClazzName', -1, true), new ReplicationFieldMetaData('erPersonUid', -5, false), new ReplicationFieldMetaData('erPersonFullname', -1, true), new ReplicationFieldMetaData('erPersonPictureUri', -1, true), new ReplicationFieldMetaData('erPersonUsername', -1, true), new ReplicationFieldMetaData('erRole', 4, false), new ReplicationFieldMetaData('erRequestTime', -5, false), new ReplicationFieldMetaData('erStatus', 4, false), new ReplicationFieldMetaData('erStatusSetByPersonUid', -5, false), new ReplicationFieldMetaData('erDeleted', 16, false), new ReplicationFieldMetaData('erStatusSetAuth', -1, true), new ReplicationFieldMetaData('erLastModified', -5, false), new ReplicationFieldMetaData('erUid', -5, false)]);
    var tmp_422 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_423 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_424 = [Event_INSERT_getInstance()];
    var tmp_425 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_426 = ['REPLACE INTO EnrolmentRequest (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) VALUES( CAST(NEW.erUid AS BIGINT), CAST(NEW.erClazzUid AS BIGINT), NEW.erClazzName, CAST(NEW.erPersonUid AS BIGINT), NEW.erPersonFullname, NEW.erPersonPictureUri, NEW.erPersonUsername, NEW.erRole, CAST(NEW.erRequestTime AS BIGINT), NEW.erStatus, CAST(NEW.erStatusSetByPersonUid AS BIGINT), NEW.erDeleted, NEW.erStatusSetAuth, CAST(NEW.erLastModified AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$485 = ['INSERT INTO EnrolmentRequest (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) VALUES( CAST(NEW.erUid AS BIGINT), CAST(NEW.erClazzUid AS BIGINT), NEW.erClazzName, CAST(NEW.erPersonUid AS BIGINT), NEW.erPersonFullname, NEW.erPersonPictureUri, NEW.erPersonUsername, NEW.erRole, CAST(NEW.erRequestTime AS BIGINT), NEW.erStatus, CAST(NEW.erStatusSetByPersonUid AS BIGINT), NEW.erDeleted, NEW.erStatusSetAuth, CAST(NEW.erLastModified AS BIGINT))  ON CONFLICT(erUid)  DO UPDATE SET erClazzUid = NEW.erClazzUid, erClazzName = NEW.erClazzName, erPersonUid = NEW.erPersonUid, erPersonFullname = NEW.erPersonFullname, erPersonPictureUri = NEW.erPersonPictureUri, erPersonUsername = NEW.erPersonUsername, erRole = NEW.erRole, erRequestTime = NEW.erRequestTime, erStatus = NEW.erStatus, erStatusSetByPersonUid = NEW.erStatusSetByPersonUid, erDeleted = NEW.erDeleted, erStatusSetAuth = NEW.erStatusSetAuth, erLastModified = NEW.erLastModified '];
    var tmp_427 = to(10070, new ReplicationEntityMetaData(10070, 'EnrolmentRequest', 'EnrolmentRequest_ReceiveView', tmp_420, 'erLastModified', tmp_421, 1000, tmp_422, listOf(new Trigger('enrolmentrequest_remote_insert', tmp_423, tmp_424, tmp_425, tmp_426, tmp$ret$485, 'SELECT \n                   CAST(NEW.erLastModified AS BIGINT) >\n                       COALESCE((SELECT EnrolmentRequest_Existing.erLastModified\n                                   FROM EnrolmentRequest EnrolmentRequest_Existing\n                                  WHERE EnrolmentRequest_Existing.erUid = NEW.erUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.erLastModified AS BIGINT) >\n                       COALESCE((SELECT EnrolmentRequest_Existing.erLastModified\n                                   FROM EnrolmentRequest EnrolmentRequest_Existing\n                                  WHERE EnrolmentRequest_Existing.erUid = NEW.erUid), 0)\n                   '))));
    var tmp_428 = listOf('cpUid');
    var tmp_429 = listOf_0([new ReplicationFieldMetaData('cpLastModified', -5, false), new ReplicationFieldMetaData('cpClazzUid', -5, false), new ReplicationFieldMetaData('cpToEnrolmentRole', 4, false), new ReplicationFieldMetaData('cpToPersonUid', -5, false), new ReplicationFieldMetaData('cpToGroupUid', -5, false), new ReplicationFieldMetaData('cpPermissionsFlag', -5, false), new ReplicationFieldMetaData('cpIsDeleted', 16, false), new ReplicationFieldMetaData('cpUid', -5, false)]);
    var tmp_430 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_431 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_432 = [Event_INSERT_getInstance()];
    var tmp_433 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_434 = ['REPLACE INTO CoursePermission (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) VALUES( CAST(NEW.cpUid AS BIGINT), CAST(NEW.cpLastModified AS BIGINT), CAST(NEW.cpClazzUid AS BIGINT), NEW.cpToEnrolmentRole, CAST(NEW.cpToPersonUid AS BIGINT), CAST(NEW.cpToGroupUid AS BIGINT), CAST(NEW.cpPermissionsFlag AS BIGINT), NEW.cpIsDeleted) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$494 = ['INSERT INTO CoursePermission (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) VALUES( CAST(NEW.cpUid AS BIGINT), CAST(NEW.cpLastModified AS BIGINT), CAST(NEW.cpClazzUid AS BIGINT), NEW.cpToEnrolmentRole, CAST(NEW.cpToPersonUid AS BIGINT), CAST(NEW.cpToGroupUid AS BIGINT), CAST(NEW.cpPermissionsFlag AS BIGINT), NEW.cpIsDeleted)  ON CONFLICT(cpUid)  DO UPDATE SET cpLastModified = NEW.cpLastModified, cpClazzUid = NEW.cpClazzUid, cpToEnrolmentRole = NEW.cpToEnrolmentRole, cpToPersonUid = NEW.cpToPersonUid, cpToGroupUid = NEW.cpToGroupUid, cpPermissionsFlag = NEW.cpPermissionsFlag, cpIsDeleted = NEW.cpIsDeleted '];
    var tmp_435 = to(10012, new ReplicationEntityMetaData(10012, 'CoursePermission', 'CoursePermission_ReceiveView', tmp_428, 'cpLastModified', tmp_429, 1000, tmp_430, listOf(new Trigger('coursepermission_remote_insert', tmp_431, tmp_432, tmp_433, tmp_434, tmp$ret$494, 'SELECT \n                   CAST(NEW.cpLastModified AS BIGINT) >\n                       COALESCE((SELECT CoursePermission_Existing.cpLastModified\n                                   FROM CoursePermission CoursePermission_Existing\n                                  WHERE CoursePermission_Existing.cpUid = NEW.cpUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cpLastModified AS BIGINT) >\n                       COALESCE((SELECT CoursePermission_Existing.cpLastModified\n                                   FROM CoursePermission CoursePermission_Existing\n                                  WHERE CoursePermission_Existing.cpUid = NEW.cpUid), 0)\n                   '))));
    var tmp_436 = listOf('spUid');
    var tmp_437 = listOf_0([new ReplicationFieldMetaData('spToPersonUid', -5, false), new ReplicationFieldMetaData('spToGroupUid', -5, false), new ReplicationFieldMetaData('spPermissionsFlag', -5, false), new ReplicationFieldMetaData('spLastModified', -5, false), new ReplicationFieldMetaData('spIsDeleted', 16, false), new ReplicationFieldMetaData('spUid', -5, false)]);
    var tmp_438 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_439 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_440 = [Event_INSERT_getInstance()];
    var tmp_441 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_442 = ['REPLACE INTO SystemPermission (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) VALUES( CAST(NEW.spUid AS BIGINT), CAST(NEW.spToPersonUid AS BIGINT), CAST(NEW.spToGroupUid AS BIGINT), CAST(NEW.spPermissionsFlag AS BIGINT), CAST(NEW.spLastModified AS BIGINT), NEW.spIsDeleted) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$503 = ['INSERT INTO SystemPermission (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) VALUES( CAST(NEW.spUid AS BIGINT), CAST(NEW.spToPersonUid AS BIGINT), CAST(NEW.spToGroupUid AS BIGINT), CAST(NEW.spPermissionsFlag AS BIGINT), CAST(NEW.spLastModified AS BIGINT), NEW.spIsDeleted)  ON CONFLICT(spUid)  DO UPDATE SET spToPersonUid = NEW.spToPersonUid, spToGroupUid = NEW.spToGroupUid, spPermissionsFlag = NEW.spPermissionsFlag, spLastModified = NEW.spLastModified, spIsDeleted = NEW.spIsDeleted '];
    var tmp_443 = to(10011, new ReplicationEntityMetaData(10011, 'SystemPermission', 'SystemPermission_ReceiveView', tmp_436, 'spLastModified', tmp_437, 1000, tmp_438, listOf(new Trigger('systempermission_remote_insert', tmp_439, tmp_440, tmp_441, tmp_442, tmp$ret$503, 'SELECT \n                   CAST(NEW.spLastModified AS BIGINT) >\n                       COALESCE((SELECT SystemPermission_Existing.spLastModified\n                                   FROM SystemPermission SystemPermission_Existing\n                                  WHERE SystemPermission_Existing.spUid = NEW.spUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.spLastModified AS BIGINT) >\n                       COALESCE((SELECT SystemPermission_Existing.spLastModified\n                                   FROM SystemPermission SystemPermission_Existing\n                                  WHERE SystemPermission_Existing.spUid = NEW.spUid), 0)\n                   '))));
    var tmp_444 = listOf('cbpUid');
    var tmp_445 = listOf_0([new ReplicationFieldMetaData('cbpUid', -5, false), new ReplicationFieldMetaData('cbpLct', -5, false), new ReplicationFieldMetaData('cbpPictureUri', -1, true), new ReplicationFieldMetaData('cbpThumbnailUri', -1, true)]);
    var tmp_446 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_447 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_448 = [Event_INSERT_getInstance()];
    var tmp_449 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_450 = ['REPLACE INTO CourseBlockPicture (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) VALUES( CAST(NEW.cbpUid AS BIGINT), CAST(NEW.cbpLct AS BIGINT), NEW.cbpPictureUri, NEW.cbpThumbnailUri) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$512 = ['INSERT INTO CourseBlockPicture (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) VALUES( CAST(NEW.cbpUid AS BIGINT), CAST(NEW.cbpLct AS BIGINT), NEW.cbpPictureUri, NEW.cbpThumbnailUri)  ON CONFLICT(cbpUid)  DO UPDATE SET cbpLct = NEW.cbpLct, cbpPictureUri = NEW.cbpPictureUri, cbpThumbnailUri = NEW.cbpThumbnailUri '];
    var tmp_451 = to(6677, new ReplicationEntityMetaData(6677, 'CourseBlockPicture', 'CourseBlockPicture_ReceiveView', tmp_444, 'cbpLct', tmp_445, 1000, tmp_446, listOf(new Trigger('courseblockpicture_remote_insert', tmp_447, tmp_448, tmp_449, tmp_450, tmp$ret$512, 'SELECT \n                   CAST(NEW.cbpLct AS BIGINT) >\n                       COALESCE((SELECT CourseBlockPicture_Existing.cbpLct\n                                   FROM CourseBlockPicture CourseBlockPicture_Existing\n                                  WHERE CourseBlockPicture_Existing.cbpUid = NEW.cbpUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cbpLct AS BIGINT) >\n                       COALESCE((SELECT CourseBlockPicture_Existing.cbpLct\n                                   FROM CourseBlockPicture CourseBlockPicture_Existing\n                                  WHERE CourseBlockPicture_Existing.cbpUid = NEW.cbpUid), 0)\n                   '))));
    var tmp_452 = listOf('cepUid');
    var tmp_453 = listOf_0([new ReplicationFieldMetaData('cepUid', -5, false), new ReplicationFieldMetaData('cepLct', -5, false), new ReplicationFieldMetaData('cepPictureUri', -1, true), new ReplicationFieldMetaData('cepThumbnailUri', -1, true)]);
    var tmp_454 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_455 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_456 = [Event_INSERT_getInstance()];
    var tmp_457 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_458 = ['REPLACE INTO ContentEntryPicture2 (cepUid, cepLct, cepPictureUri, cepThumbnailUri) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepLct AS BIGINT), NEW.cepPictureUri, NEW.cepThumbnailUri) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$521 = ['INSERT INTO ContentEntryPicture2 (cepUid, cepLct, cepPictureUri, cepThumbnailUri) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepLct AS BIGINT), NEW.cepPictureUri, NEW.cepThumbnailUri)  ON CONFLICT(cepUid)  DO UPDATE SET cepLct = NEW.cepLct, cepPictureUri = NEW.cepPictureUri, cepThumbnailUri = NEW.cepThumbnailUri '];
    var tmp_459 = to(6678, new ReplicationEntityMetaData(6678, 'ContentEntryPicture2', 'ContentEntryPicture2_ReceiveView', tmp_452, 'cepLct', tmp_453, 1000, tmp_454, listOf(new Trigger('contententrypicture2_remote_insert', tmp_455, tmp_456, tmp_457, tmp_458, tmp$ret$521, 'SELECT \n                   CAST(NEW.cepLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryPicture2_Existing.cepLct\n                                   FROM ContentEntryPicture2 ContentEntryPicture2_Existing\n                                  WHERE ContentEntryPicture2_Existing.cepUid = NEW.cepUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.cepLct AS BIGINT) >\n                       COALESCE((SELECT ContentEntryPicture2_Existing.cepLct\n                                   FROM ContentEntryPicture2 ContentEntryPicture2_Existing\n                                  WHERE ContentEntryPicture2_Existing.cepUid = NEW.cepUid), 0)\n                   '))));
    var tmp_460 = listOf_0(['vlmeVerbUid', 'vlmeLangHash']);
    var tmp_461 = listOf_0([new ReplicationFieldMetaData('vlmeVerbUid', -5, false), new ReplicationFieldMetaData('vlmeLangHash', -5, false), new ReplicationFieldMetaData('vlmeLangCode', -1, true), new ReplicationFieldMetaData('vlmeEntryString', -1, true), new ReplicationFieldMetaData('vlmeLastModified', -5, false)]);
    var tmp_462 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_463 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_464 = [Event_INSERT_getInstance()];
    var tmp_465 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_466 = ['REPLACE INTO VerbLangMapEntry (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) VALUES( CAST(NEW.vlmeVerbUid AS BIGINT), CAST(NEW.vlmeLangHash AS BIGINT), NEW.vlmeLangCode, NEW.vlmeEntryString, CAST(NEW.vlmeLastModified AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$530 = ['INSERT INTO VerbLangMapEntry (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) VALUES( CAST(NEW.vlmeVerbUid AS BIGINT), CAST(NEW.vlmeLangHash AS BIGINT), NEW.vlmeLangCode, NEW.vlmeEntryString, CAST(NEW.vlmeLastModified AS BIGINT))  ON CONFLICT(vlmeVerbUid, vlmeLangHash)  DO UPDATE SET vlmeLangCode = NEW.vlmeLangCode, vlmeEntryString = NEW.vlmeEntryString, vlmeLastModified = NEW.vlmeLastModified '];
    var tmp_467 = to(620, new ReplicationEntityMetaData(620, 'VerbLangMapEntry', 'VerbLangMapEntry_ReceiveView', tmp_460, 'vlmeLastModified', tmp_461, 1000, tmp_462, listOf(new Trigger('verblangmapentry_remote_insert', tmp_463, tmp_464, tmp_465, tmp_466, tmp$ret$530, 'SELECT \n                   CAST(NEW.vlmeLastModified AS BIGINT) >\n                       COALESCE((SELECT VerbLangMapEntry_Existing.vlmeLastModified\n                                   FROM VerbLangMapEntry VerbLangMapEntry_Existing\n                                  WHERE VerbLangMapEntry_Existing.vlmeVerbUid = NEW.vlmeVerbUid AND VerbLangMapEntry_Existing.vlmeLangHash = NEW.vlmeLangHash), 0)\n                   ', 'SELECT \n                   CAST(NEW.vlmeLastModified AS BIGINT) >\n                       COALESCE((SELECT VerbLangMapEntry_Existing.vlmeLastModified\n                                   FROM VerbLangMapEntry VerbLangMapEntry_Existing\n                                  WHERE VerbLangMapEntry_Existing.vlmeVerbUid = NEW.vlmeVerbUid AND VerbLangMapEntry_Existing.vlmeLangHash = NEW.vlmeLangHash), 0)\n                   '))));
    var tmp_468 = listOf_0(['gmajGroupActorUid', 'gmajMemberActorUid']);
    var tmp_469 = listOf_0([new ReplicationFieldMetaData('gmajGroupActorUid', -5, false), new ReplicationFieldMetaData('gmajMemberActorUid', -5, false), new ReplicationFieldMetaData('gmajLastMod', -5, false)]);
    var tmp_470 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_471 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_472 = [Event_INSERT_getInstance()];
    var tmp_473 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_474 = ['REPLACE INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES( CAST(NEW.gmajGroupActorUid AS BIGINT), CAST(NEW.gmajMemberActorUid AS BIGINT), CAST(NEW.gmajLastMod AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$539 = ['INSERT INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES( CAST(NEW.gmajGroupActorUid AS BIGINT), CAST(NEW.gmajMemberActorUid AS BIGINT), CAST(NEW.gmajLastMod AS BIGINT))  ON CONFLICT(gmajGroupActorUid, gmajMemberActorUid)  DO UPDATE SET gmajLastMod = NEW.gmajLastMod '];
    var tmp_475 = to(4232, new ReplicationEntityMetaData(4232, 'GroupMemberActorJoin', 'GroupMemberActorJoin_ReceiveView', tmp_468, 'gmajLastMod', tmp_469, 1000, tmp_470, listOf(new Trigger('groupmemberactorjoin_remote_insert', tmp_471, tmp_472, tmp_473, tmp_474, tmp$ret$539, 'SELECT \n                   CAST(NEW.gmajLastMod AS BIGINT) >\n                       COALESCE((SELECT GroupMemberActorJoin_Existing.gmajLastMod\n                                   FROM GroupMemberActorJoin GroupMemberActorJoin_Existing\n                                  WHERE GroupMemberActorJoin_Existing.gmajGroupActorUid = NEW.gmajGroupActorUid AND GroupMemberActorJoin_Existing.gmajMemberActorUid = NEW.gmajMemberActorUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.gmajLastMod AS BIGINT) >\n                       COALESCE((SELECT GroupMemberActorJoin_Existing.gmajLastMod\n                                   FROM GroupMemberActorJoin GroupMemberActorJoin_Existing\n                                  WHERE GroupMemberActorJoin_Existing.gmajGroupActorUid = NEW.gmajGroupActorUid AND GroupMemberActorJoin_Existing.gmajMemberActorUid = NEW.gmajMemberActorUid), 0)\n                   '))));
    var tmp_476 = listOf_0(['almeActivityUid', 'almeHash']);
    var tmp_477 = listOf_0([new ReplicationFieldMetaData('almeActivityUid', -5, false), new ReplicationFieldMetaData('almeHash', -5, false), new ReplicationFieldMetaData('almeLangCode', -1, true), new ReplicationFieldMetaData('almePropName', -1, true), new ReplicationFieldMetaData('almeValue', -1, true), new ReplicationFieldMetaData('almeAieHash', -5, false), new ReplicationFieldMetaData('almeLastMod', -5, false)]);
    var tmp_478 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_479 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_480 = [Event_INSERT_getInstance()];
    var tmp_481 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_482 = ['REPLACE INTO ActivityLangMapEntry (almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) VALUES( CAST(NEW.almeActivityUid AS BIGINT), CAST(NEW.almeHash AS BIGINT), NEW.almeLangCode, NEW.almePropName, NEW.almeValue, CAST(NEW.almeAieHash AS BIGINT), CAST(NEW.almeLastMod AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$548 = ['INSERT INTO ActivityLangMapEntry (almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) VALUES( CAST(NEW.almeActivityUid AS BIGINT), CAST(NEW.almeHash AS BIGINT), NEW.almeLangCode, NEW.almePropName, NEW.almeValue, CAST(NEW.almeAieHash AS BIGINT), CAST(NEW.almeLastMod AS BIGINT))  ON CONFLICT(almeActivityUid, almeHash)  DO UPDATE SET almeLangCode = NEW.almeLangCode, almePropName = NEW.almePropName, almeValue = NEW.almeValue, almeAieHash = NEW.almeAieHash, almeLastMod = NEW.almeLastMod '];
    var tmp_483 = to(6442, new ReplicationEntityMetaData(6442, 'ActivityLangMapEntry', 'ActivityLangMapEntry_ReceiveView', tmp_476, 'almeLastMod', tmp_477, 1000, tmp_478, listOf(new Trigger('activitylangmapentry_remote_insert', tmp_479, tmp_480, tmp_481, tmp_482, tmp$ret$548, 'SELECT \n                   CAST(NEW.almeLastMod AS BIGINT) >\n                       COALESCE((SELECT ActivityLangMapEntry_Existing.almeLastMod\n                                   FROM ActivityLangMapEntry ActivityLangMapEntry_Existing\n                                  WHERE ActivityLangMapEntry_Existing.almeActivityUid = NEW.almeActivityUid AND ActivityLangMapEntry_Existing.almeHash = NEW.almeHash), 0)\n                   ', 'SELECT \n                   CAST(NEW.almeLastMod AS BIGINT) >\n                       COALESCE((SELECT ActivityLangMapEntry_Existing.almeLastMod\n                                   FROM ActivityLangMapEntry ActivityLangMapEntry_Existing\n                                  WHERE ActivityLangMapEntry_Existing.almeActivityUid = NEW.almeActivityUid AND ActivityLangMapEntry_Existing.almeHash = NEW.almeHash), 0)\n                   '))));
    var tmp_484 = listOf_0(['aeeActivityUid', 'aeeKeyHash']);
    var tmp_485 = listOf_0([new ReplicationFieldMetaData('aeeActivityUid', -5, false), new ReplicationFieldMetaData('aeeKeyHash', -5, false), new ReplicationFieldMetaData('aeeKey', -1, true), new ReplicationFieldMetaData('aeeJson', -1, true), new ReplicationFieldMetaData('aeeLastMod', -5, false), new ReplicationFieldMetaData('aeeIsDeleted', 16, false)]);
    var tmp_486 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_487 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_488 = [Event_INSERT_getInstance()];
    var tmp_489 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_490 = ['REPLACE INTO ActivityExtensionEntity (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) VALUES( CAST(NEW.aeeActivityUid AS BIGINT), CAST(NEW.aeeKeyHash AS BIGINT), NEW.aeeKey, NEW.aeeJson, CAST(NEW.aeeLastMod AS BIGINT), NEW.aeeIsDeleted) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$557 = ['INSERT INTO ActivityExtensionEntity (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) VALUES( CAST(NEW.aeeActivityUid AS BIGINT), CAST(NEW.aeeKeyHash AS BIGINT), NEW.aeeKey, NEW.aeeJson, CAST(NEW.aeeLastMod AS BIGINT), NEW.aeeIsDeleted)  ON CONFLICT(aeeActivityUid, aeeKeyHash)  DO UPDATE SET aeeKey = NEW.aeeKey, aeeJson = NEW.aeeJson, aeeLastMod = NEW.aeeLastMod, aeeIsDeleted = NEW.aeeIsDeleted '];
    var tmp_491 = to(6405, new ReplicationEntityMetaData(6405, 'ActivityExtensionEntity', 'ActivityExtensionEntity_ReceiveView', tmp_484, 'aeeLastMod', tmp_485, 1000, tmp_486, listOf(new Trigger('activityextensionentity_remote_insert', tmp_487, tmp_488, tmp_489, tmp_490, tmp$ret$557, 'SELECT \n                   CAST(NEW.aeeLastMod AS BIGINT) >\n                       COALESCE((SELECT ActivityExtensionEntity_Existing.aeeLastMod\n                                   FROM ActivityExtensionEntity ActivityExtensionEntity_Existing\n                                  WHERE ActivityExtensionEntity_Existing.aeeActivityUid = NEW.aeeActivityUid AND ActivityExtensionEntity_Existing.aeeKeyHash = NEW.aeeKeyHash), 0)\n                   ', 'SELECT \n                   CAST(NEW.aeeLastMod AS BIGINT) >\n                       COALESCE((SELECT ActivityExtensionEntity_Existing.aeeLastMod\n                                   FROM ActivityExtensionEntity ActivityExtensionEntity_Existing\n                                  WHERE ActivityExtensionEntity_Existing.aeeActivityUid = NEW.aeeActivityUid AND ActivityExtensionEntity_Existing.aeeKeyHash = NEW.aeeKeyHash), 0)\n                   '))));
    var tmp_492 = listOf_0(['scajFromStatementIdHi', 'scajFromStatementIdLo', 'scajToHash']);
    var tmp_493 = listOf_0([new ReplicationFieldMetaData('scajFromStatementIdHi', -5, false), new ReplicationFieldMetaData('scajFromStatementIdLo', -5, false), new ReplicationFieldMetaData('scajToHash', -5, false), new ReplicationFieldMetaData('scajContextType', 4, false), new ReplicationFieldMetaData('scajToActivityUid', -5, false), new ReplicationFieldMetaData('scajToActivityId', -1, true), new ReplicationFieldMetaData('scajEtag', -5, false)]);
    var tmp_494 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_495 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_496 = [Event_INSERT_getInstance()];
    var tmp_497 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_498 = ['REPLACE INTO StatementContextActivityJoin (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) VALUES( CAST(NEW.scajFromStatementIdHi AS BIGINT), CAST(NEW.scajFromStatementIdLo AS BIGINT), CAST(NEW.scajToHash AS BIGINT), NEW.scajContextType, CAST(NEW.scajToActivityUid AS BIGINT), NEW.scajToActivityId, CAST(NEW.scajEtag AS BIGINT)) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$566 = ['INSERT INTO StatementContextActivityJoin (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) VALUES( CAST(NEW.scajFromStatementIdHi AS BIGINT), CAST(NEW.scajFromStatementIdLo AS BIGINT), CAST(NEW.scajToHash AS BIGINT), NEW.scajContextType, CAST(NEW.scajToActivityUid AS BIGINT), NEW.scajToActivityId, CAST(NEW.scajEtag AS BIGINT))  ON CONFLICT(scajFromStatementIdHi, scajFromStatementIdLo, scajToHash)  DO UPDATE SET scajContextType = NEW.scajContextType, scajToActivityUid = NEW.scajToActivityUid, scajToActivityId = NEW.scajToActivityId, scajEtag = NEW.scajEtag '];
    var tmp_499 = to(44044, new ReplicationEntityMetaData(44044, 'StatementContextActivityJoin', 'StatementContextActivityJoin_ReceiveView', tmp_492, 'scajEtag', tmp_493, 1000, tmp_494, listOf(new Trigger('statementcontextactivityjoin_remoteinsert', tmp_495, tmp_496, tmp_497, tmp_498, tmp$ret$566, 'SELECT \n               CAST(NEW.scajEtag AS BIGINT) != \n                   COALESCE((SELECT StatementContextActivityJoin_Existing.scajEtag\n                                   FROM StatementContextActivityJoin StatementContextActivityJoin_Existing\n                                  WHERE StatementContextActivityJoin_Existing.scajFromStatementIdHi = NEW.scajFromStatementIdHi AND StatementContextActivityJoin_Existing.scajFromStatementIdLo = NEW.scajFromStatementIdLo AND StatementContextActivityJoin_Existing.scajToHash = NEW.scajToHash), 0)\n            ', 'SELECT \n               CAST(NEW.scajEtag AS BIGINT) != \n                   COALESCE((SELECT StatementContextActivityJoin_Existing.scajEtag\n                                   FROM StatementContextActivityJoin StatementContextActivityJoin_Existing\n                                  WHERE StatementContextActivityJoin_Existing.scajFromStatementIdHi = NEW.scajFromStatementIdHi AND StatementContextActivityJoin_Existing.scajFromStatementIdLo = NEW.scajFromStatementIdLo AND StatementContextActivityJoin_Existing.scajToHash = NEW.scajToHash), 0)\n            '))));
    var tmp_500 = listOf('xseUid');
    var tmp_501 = listOf_0([new ReplicationFieldMetaData('xseLastMod', -5, false), new ReplicationFieldMetaData('xseRegistrationHi', -5, false), new ReplicationFieldMetaData('xseRegistrationLo', -5, false), new ReplicationFieldMetaData('xseUsUid', -5, false), new ReplicationFieldMetaData('xseAccountPersonUid', -5, false), new ReplicationFieldMetaData('xseActorUid', -5, false), new ReplicationFieldMetaData('xseAccountUsername', -1, false), new ReplicationFieldMetaData('xseClazzUid', -5, false), new ReplicationFieldMetaData('xseCbUid', -5, false), new ReplicationFieldMetaData('xseContentEntryUid', -5, false), new ReplicationFieldMetaData('xseContentEntryVersionUid', -5, false), new ReplicationFieldMetaData('xseRootActivityId', -1, false), new ReplicationFieldMetaData('xseRootActivityUid', -5, false), new ReplicationFieldMetaData('xseStartTime', -5, false), new ReplicationFieldMetaData('xseExpireTime', -5, false), new ReplicationFieldMetaData('xseAuth', -1, true), new ReplicationFieldMetaData('xseCompleted', 16, false), new ReplicationFieldMetaData('knownActorUidToPersonUids', -1, false), new ReplicationFieldMetaData('xseUid', -5, false)]);
    var tmp_502 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_503 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_504 = [Event_INSERT_getInstance()];
    var tmp_505 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_506 = ['REPLACE INTO XapiSessionEntity (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) VALUES( CAST(NEW.xseUid AS BIGINT), CAST(NEW.xseLastMod AS BIGINT), CAST(NEW.xseRegistrationHi AS BIGINT), CAST(NEW.xseRegistrationLo AS BIGINT), CAST(NEW.xseUsUid AS BIGINT), CAST(NEW.xseAccountPersonUid AS BIGINT), CAST(NEW.xseActorUid AS BIGINT), NEW.xseAccountUsername, CAST(NEW.xseClazzUid AS BIGINT), CAST(NEW.xseCbUid AS BIGINT), CAST(NEW.xseContentEntryUid AS BIGINT), CAST(NEW.xseContentEntryVersionUid AS BIGINT), NEW.xseRootActivityId, CAST(NEW.xseRootActivityUid AS BIGINT), CAST(NEW.xseStartTime AS BIGINT), CAST(NEW.xseExpireTime AS BIGINT), NEW.xseAuth, NEW.xseCompleted, NEW.knownActorUidToPersonUids) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$575 = ['INSERT INTO XapiSessionEntity (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) VALUES( CAST(NEW.xseUid AS BIGINT), CAST(NEW.xseLastMod AS BIGINT), CAST(NEW.xseRegistrationHi AS BIGINT), CAST(NEW.xseRegistrationLo AS BIGINT), CAST(NEW.xseUsUid AS BIGINT), CAST(NEW.xseAccountPersonUid AS BIGINT), CAST(NEW.xseActorUid AS BIGINT), NEW.xseAccountUsername, CAST(NEW.xseClazzUid AS BIGINT), CAST(NEW.xseCbUid AS BIGINT), CAST(NEW.xseContentEntryUid AS BIGINT), CAST(NEW.xseContentEntryVersionUid AS BIGINT), NEW.xseRootActivityId, CAST(NEW.xseRootActivityUid AS BIGINT), CAST(NEW.xseStartTime AS BIGINT), CAST(NEW.xseExpireTime AS BIGINT), NEW.xseAuth, NEW.xseCompleted, NEW.knownActorUidToPersonUids)  ON CONFLICT(xseUid)  DO UPDATE SET xseLastMod = NEW.xseLastMod, xseRegistrationHi = NEW.xseRegistrationHi, xseRegistrationLo = NEW.xseRegistrationLo, xseUsUid = NEW.xseUsUid, xseAccountPersonUid = NEW.xseAccountPersonUid, xseActorUid = NEW.xseActorUid, xseAccountUsername = NEW.xseAccountUsername, xseClazzUid = NEW.xseClazzUid, xseCbUid = NEW.xseCbUid, xseContentEntryUid = NEW.xseContentEntryUid, xseContentEntryVersionUid = NEW.xseContentEntryVersionUid, xseRootActivityId = NEW.xseRootActivityId, xseRootActivityUid = NEW.xseRootActivityUid, xseStartTime = NEW.xseStartTime, xseExpireTime = NEW.xseExpireTime, xseAuth = NEW.xseAuth, xseCompleted = NEW.xseCompleted, knownActorUidToPersonUids = NEW.knownActorUidToPersonUids '];
    var tmp_507 = to(400122, new ReplicationEntityMetaData(400122, 'XapiSessionEntity', 'XapiSessionEntity_ReceiveView', tmp_500, 'xseLastMod', tmp_501, 1000, tmp_502, listOf(new Trigger('xapisessionentity_remote_insert', tmp_503, tmp_504, tmp_505, tmp_506, tmp$ret$575, 'SELECT \n                   CAST(NEW.xseLastMod AS BIGINT) >\n                       COALESCE((SELECT XapiSessionEntity_Existing.xseLastMod\n                                   FROM XapiSessionEntity XapiSessionEntity_Existing\n                                  WHERE XapiSessionEntity_Existing.xseUid = NEW.xseUid), 0)\n                   ', 'SELECT \n                   CAST(NEW.xseLastMod AS BIGINT) >\n                       COALESCE((SELECT XapiSessionEntity_Existing.xseLastMod\n                                   FROM XapiSessionEntity XapiSessionEntity_Existing\n                                  WHERE XapiSessionEntity_Existing.xseUid = NEW.xseUid), 0)\n                   '))));
    var tmp_508 = listOf_0(['stmtJsonIdHi', 'stmtJsonIdLo']);
    var tmp_509 = listOf_0([new ReplicationFieldMetaData('stmtJsonIdHi', -5, false), new ReplicationFieldMetaData('stmtJsonIdLo', -5, false), new ReplicationFieldMetaData('stmtEtag', -5, false), new ReplicationFieldMetaData('fullStatement', -1, true)]);
    var tmp_510 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_511 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_512 = [Event_INSERT_getInstance()];
    var tmp_513 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_514 = ['REPLACE INTO StatementEntityJson (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) VALUES( CAST(NEW.stmtJsonIdHi AS BIGINT), CAST(NEW.stmtJsonIdLo AS BIGINT), CAST(NEW.stmtEtag AS BIGINT), NEW.fullStatement) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$584 = ['INSERT INTO StatementEntityJson (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) VALUES( CAST(NEW.stmtJsonIdHi AS BIGINT), CAST(NEW.stmtJsonIdLo AS BIGINT), CAST(NEW.stmtEtag AS BIGINT), NEW.fullStatement)  ON CONFLICT(stmtJsonIdHi, stmtJsonIdLo)  DO UPDATE SET stmtEtag = NEW.stmtEtag, fullStatement = NEW.fullStatement '];
    var tmp_515 = to(602, new ReplicationEntityMetaData(602, 'StatementEntityJson', 'StatementEntityJson_ReceiveView', tmp_508, 'stmtEtag', tmp_509, 1000, tmp_510, listOf(new Trigger('statemententityjson_remote_insert', tmp_511, tmp_512, tmp_513, tmp_514, tmp$ret$584, 'SELECT \n               CAST(NEW.stmtEtag AS BIGINT) != \n                   COALESCE((SELECT StatementEntityJson_Existing.stmtEtag\n                                   FROM StatementEntityJson StatementEntityJson_Existing\n                                  WHERE StatementEntityJson_Existing.stmtJsonIdHi = NEW.stmtJsonIdHi AND StatementEntityJson_Existing.stmtJsonIdLo = NEW.stmtJsonIdLo), 0)\n            ', 'SELECT \n               CAST(NEW.stmtEtag AS BIGINT) != \n                   COALESCE((SELECT StatementEntityJson_Existing.stmtEtag\n                                   FROM StatementEntityJson StatementEntityJson_Existing\n                                  WHERE StatementEntityJson_Existing.stmtJsonIdHi = NEW.stmtJsonIdHi AND StatementEntityJson_Existing.stmtJsonIdLo = NEW.stmtJsonIdLo), 0)\n            '))));
    var tmp_516 = listOf_0(['seActorUid', 'seHash']);
    var tmp_517 = listOf_0([new ReplicationFieldMetaData('seActorUid', -5, false), new ReplicationFieldMetaData('seHash', -5, false), new ReplicationFieldMetaData('seActivityUid', -5, false), new ReplicationFieldMetaData('seStateId', -1, false), new ReplicationFieldMetaData('seLastMod', -5, false), new ReplicationFieldMetaData('seTimeStored', -5, false), new ReplicationFieldMetaData('seContentType', -1, false), new ReplicationFieldMetaData('seCompressed', 4, false), new ReplicationFieldMetaData('seContent', -1, false), new ReplicationFieldMetaData('seDeleted', 16, false), new ReplicationFieldMetaData('seRegistrationHi', -5, true), new ReplicationFieldMetaData('seRegistrationLo', -5, true), new ReplicationFieldMetaData('seH5PPreloaded', 16, false), new ReplicationFieldMetaData('seH5PSubContentId', -1, true)]);
    var tmp_518 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_519 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_520 = [Event_INSERT_getInstance()];
    var tmp_521 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_522 = ['REPLACE INTO StateEntity (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) VALUES( CAST(NEW.seActorUid AS BIGINT), CAST(NEW.seHash AS BIGINT), CAST(NEW.seActivityUid AS BIGINT), NEW.seStateId, CAST(NEW.seLastMod AS BIGINT), CAST(NEW.seTimeStored AS BIGINT), NEW.seContentType, NEW.seCompressed, NEW.seContent, NEW.seDeleted, NEW.seRegistrationHi, NEW.seRegistrationLo, NEW.seH5PPreloaded, NEW.seH5PSubContentId) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$593 = ['INSERT INTO StateEntity (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) VALUES( CAST(NEW.seActorUid AS BIGINT), CAST(NEW.seHash AS BIGINT), CAST(NEW.seActivityUid AS BIGINT), NEW.seStateId, CAST(NEW.seLastMod AS BIGINT), CAST(NEW.seTimeStored AS BIGINT), NEW.seContentType, NEW.seCompressed, NEW.seContent, NEW.seDeleted, NEW.seRegistrationHi, NEW.seRegistrationLo, NEW.seH5PPreloaded, NEW.seH5PSubContentId)  ON CONFLICT(seActorUid, seHash)  DO UPDATE SET seActivityUid = NEW.seActivityUid, seStateId = NEW.seStateId, seLastMod = NEW.seLastMod, seTimeStored = NEW.seTimeStored, seContentType = NEW.seContentType, seCompressed = NEW.seCompressed, seContent = NEW.seContent, seDeleted = NEW.seDeleted, seRegistrationHi = NEW.seRegistrationHi, seRegistrationLo = NEW.seRegistrationLo, seH5PPreloaded = NEW.seH5PPreloaded, seH5PSubContentId = NEW.seH5PSubContentId '];
    var tmp_523 = to(3289, new ReplicationEntityMetaData(3289, 'StateEntity', 'StateEntity_ReceiveView', tmp_516, 'seLastMod', tmp_517, 1000, tmp_518, listOf(new Trigger('stateentity_remote_insert', tmp_519, tmp_520, tmp_521, tmp_522, tmp$ret$593, 'SELECT \n                   CAST(NEW.seLastMod AS BIGINT) >\n                       COALESCE((SELECT StateEntity_Existing.seLastMod\n                                   FROM StateEntity StateEntity_Existing\n                                  WHERE StateEntity_Existing.seActorUid = NEW.seActorUid AND StateEntity_Existing.seHash = NEW.seHash), 0)\n                   ', 'SELECT \n                   CAST(NEW.seLastMod AS BIGINT) >\n                       COALESCE((SELECT StateEntity_Existing.seLastMod\n                                   FROM StateEntity StateEntity_Existing\n                                  WHERE StateEntity_Existing.seActorUid = NEW.seActorUid AND StateEntity_Existing.seHash = NEW.seHash), 0)\n                   '))));
    var tmp_524 = listOf_0(['sdcActorUid', 'sdcHash']);
    var tmp_525 = listOf_0([new ReplicationFieldMetaData('sdcActorUid', -5, false), new ReplicationFieldMetaData('sdcHash', -5, false), new ReplicationFieldMetaData('sdcActivityUid', -5, false), new ReplicationFieldMetaData('sdcStateId', -1, true), new ReplicationFieldMetaData('sdcLastMod', -5, false), new ReplicationFieldMetaData('sdcRegistrationHi', -5, true), new ReplicationFieldMetaData('sdcRegistrationLo', -5, true)]);
    var tmp_526 = RemoteInsertStrategy_INSERT_INTO_RECEIVE_VIEW_getInstance();
    var tmp_527 = Order_INSTEAD_OF_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_528 = [Event_INSERT_getInstance()];
    var tmp_529 = On_RECEIVEVIEW_getInstance();
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp_530 = ['REPLACE INTO StateDeleteCommand (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) VALUES( CAST(NEW.sdcActorUid AS BIGINT), CAST(NEW.sdcHash AS BIGINT), CAST(NEW.sdcActivityUid AS BIGINT), NEW.sdcStateId, CAST(NEW.sdcLastMod AS BIGINT), NEW.sdcRegistrationHi, NEW.sdcRegistrationLo) '];
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$602 = ['INSERT INTO StateDeleteCommand (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) VALUES( CAST(NEW.sdcActorUid AS BIGINT), CAST(NEW.sdcHash AS BIGINT), CAST(NEW.sdcActivityUid AS BIGINT), NEW.sdcStateId, CAST(NEW.sdcLastMod AS BIGINT), NEW.sdcRegistrationHi, NEW.sdcRegistrationLo)  ON CONFLICT(sdcActorUid, sdcHash)  DO UPDATE SET sdcActivityUid = NEW.sdcActivityUid, sdcStateId = NEW.sdcStateId, sdcLastMod = NEW.sdcLastMod, sdcRegistrationHi = NEW.sdcRegistrationHi, sdcRegistrationLo = NEW.sdcRegistrationLo '];
    return mapOf([tmp_6, tmp_14, tmp_22, tmp_30, tmp_38, tmp_46, tmp_54, tmp_62, tmp_70, tmp_78, tmp_86, tmp_94, tmp_102, tmp_110, tmp_118, tmp_126, tmp_134, tmp_142, tmp_150, tmp_158, tmp_166, tmp_174, tmp_182, tmp_190, tmp_198, tmp_206, tmp_214, tmp_222, tmp_230, tmp_238, tmp_246, tmp_254, tmp_262, tmp_270, tmp_278, tmp_286, tmp_294, tmp_302, tmp_310, tmp_318, tmp_326, tmp_334, tmp_342, tmp_350, tmp_358, tmp_366, tmp_374, tmp_382, tmp_390, tmp_403, tmp_411, tmp_419, tmp_427, tmp_435, tmp_443, tmp_451, tmp_459, tmp_467, tmp_475, tmp_483, tmp_491, tmp_499, tmp_507, tmp_515, tmp_523, to(121422, new ReplicationEntityMetaData(121422, 'StateDeleteCommand', 'StateDeleteCommand_ReceiveView', tmp_524, 'sdcLastMod', tmp_525, 1000, tmp_526, listOf(new Trigger('statedeletecommand_remote_insert', tmp_527, tmp_528, tmp_529, tmp_530, tmp$ret$602, 'SELECT \n                   CAST(NEW.sdcLastMod AS BIGINT) >\n                       COALESCE((SELECT StateDeleteCommand_Existing.sdcLastMod\n                                   FROM StateDeleteCommand StateDeleteCommand_Existing\n                                  WHERE StateDeleteCommand_Existing.sdcActorUid = NEW.sdcActorUid AND StateDeleteCommand_Existing.sdcHash = NEW.sdcHash), 0)\n                   ', 'SELECT \n                   CAST(NEW.sdcLastMod AS BIGINT) >\n                       COALESCE((SELECT StateDeleteCommand_Existing.sdcLastMod\n                                   FROM StateDeleteCommand StateDeleteCommand_Existing\n                                  WHERE StateDeleteCommand_Existing.sdcActorUid = NEW.sdcActorUid AND StateDeleteCommand_Existing.sdcHash = NEW.sdcHash), 0)\n                   '))))]);
  }
  function UmAppDatabase_DoorMetadata() {
    DoorDatabaseMetadata.call(this);
    this.n7m_1 = listOf_0(['ClazzLog', 'ClazzLogAttendanceRecord', 'Schedule', 'HolidayCalendar', 'Holiday', 'Person', 'Clazz', 'ClazzEnrolment', 'LeavingReason', 'ContentEntry', 'ContentEntryContentCategoryJoin', 'ContentEntryParentChildJoin', 'ContentEntryRelatedEntryJoin', 'ContentCategorySchema', 'ContentCategory', 'Language', 'LanguageVariant', 'PersonAuth', 'PersonGroup', 'PersonGroupMember', 'PersonPicture', 'VerbEntity', 'ActivityEntity', 'StatementEntity', 'ActorEntity', 'SyncNode', 'Comments', 'Report', 'Site', 'SiteTerms', 'PersonParentJoin', 'ScopedGrant', 'ErrorReport', 'ClazzAssignment', 'CourseAssignmentSubmission', 'CourseAssignmentSubmissionFile', 'CourseAssignmentMark', 'PeerReviewerAllocation', 'PersonAuth2', 'UserSession', 'ContentJob', 'ContentEntryImportJob', 'CourseBlock', 'CourseTerminology', 'CourseGroupSet', 'CourseGroupMember', 'ContentEntryPicture', 'ActivityInteractionEntity', 'CoursePicture', 'DiscussionPost', 'ExternalAppPermission', 'Message', 'StudentResult', 'ContentEntryVersion', 'TransferJob', 'TransferJobItem', 'CacheLockJoin', 'OfflineItem', 'OfflineItemPendingTransferJob', 'DeletedItem', 'EnrolmentRequest', 'CoursePermission', 'SystemPermission', 'CourseBlockPicture', 'ContentEntryPicture2', 'TransferJobError', 'VerbLangMapEntry', 'GroupMemberActorJoin', 'ActivityLangMapEntry', 'ActivityExtensionEntity', 'StatementContextActivityJoin', 'XapiSessionEntity', 'StatementEntityJson', 'StateEntity', 'StateDeleteCommand', 'OutgoingReplication', 'ReplicationOperation', 'PendingRepositorySession', 'DoorNode']);
    var tmp = this;
    var tmp_0 = LazyThreadSafetyMode_NONE_getInstance();
    tmp.o7m_1 = lazy(tmp_0, UmAppDatabase_DoorMetadata$replicateEntities$delegate$lambda);
  }
  protoOf(UmAppDatabase_DoorMetadata).s6b = function () {
    return this.n7m_1;
  };
  protoOf(UmAppDatabase_DoorMetadata).f6b = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.o7m_1;
    replicateEntities$factory();
    return this_0.t2();
  };
  function replicateEntities$factory() {
    return getPropertyCallableRef('replicateEntities', 1, KProperty1, function (receiver) {
      return receiver.f6b();
    }, null);
  }
  function UmAppDatabase_DoorWrapper$_PersonDao$delegate$lambda(this$0) {
    return function () {
      return new PersonDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.s7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_ClazzDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.t7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseBlockDao$delegate$lambda(this$0) {
    return function () {
      return new CourseBlockDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.u7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseTerminologyDao$delegate$lambda(this$0) {
    return function () {
      return new CourseTerminologyDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.v7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseGroupSetDao$delegate$lambda(this$0) {
    return function () {
      return new CourseGroupSetDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.w7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseGroupMemberDao$delegate$lambda(this$0) {
    return function () {
      return new CourseGroupMemberDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.x7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_ClazzEnrolmentDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzEnrolmentDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.y7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_LeavingReasonDao$delegate$lambda(this$0) {
    return function () {
      return new LeavingReasonDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.z7j());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.a7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryContentCategoryJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryContentCategoryJoinDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.b7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryParentChildJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryParentChildJoinDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.c7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryRelatedEntryJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryRelatedEntryJoinDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.d7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentCategorySchemaDao$delegate$lambda(this$0) {
    return function () {
      return new ContentCategorySchemaDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.e7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentCategoryDao$delegate$lambda(this$0) {
    return function () {
      return new ContentCategoryDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.f7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_LanguageDao$delegate$lambda(this$0) {
    return function () {
      return new LanguageDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.g7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_LanguageVariantDao$delegate$lambda(this$0) {
    return function () {
      return new LanguageVariantDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.h7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_PersonGroupDao$delegate$lambda(this$0) {
    return function () {
      return new PersonGroupDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.i7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_PersonGroupMemberDao$delegate$lambda(this$0) {
    return function () {
      return new PersonGroupMemberDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.j7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_PersonPictureDao$delegate$lambda(this$0) {
    return function () {
      return new PersonPictureDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.k7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_VerbDao$delegate$lambda(this$0) {
    return function () {
      return new VerbDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.l7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ActivityEntityDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityEntityDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.m7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ReportDao$delegate$lambda(this$0) {
    return function () {
      return new ReportDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.n7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_StatementDao$delegate$lambda(this$0) {
    return function () {
      return new StatementDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.o7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ActorDao$delegate$lambda(this$0) {
    return function () {
      return new ActorDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.p7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ClazzLogAttendanceRecordDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzLogAttendanceRecordDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.q7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ClazzLogDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzLogDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.r7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ScheduleDao$delegate$lambda(this$0) {
    return function () {
      return new ScheduleDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.s7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_HolidayCalendarDao$delegate$lambda(this$0) {
    return function () {
      return new HolidayCalendarDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.t7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_HolidayDao$delegate$lambda(this$0) {
    return function () {
      return new HolidayDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.u7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_ClazzAssignmentDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzAssignmentDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.v7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseAssignmentSubmissionDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentSubmissionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.w7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseAssignmentSubmissionFileDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentSubmissionFileDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.x7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseAssignmentMarkDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentMarkDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.y7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_CommentsDao$delegate$lambda(this$0) {
    return function () {
      return new CommentsDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.z7k());
    };
  }
  function UmAppDatabase_DoorWrapper$_SiteDao$delegate$lambda(this$0) {
    return function () {
      return new SiteDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.a7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_SiteTermsDao$delegate$lambda(this$0) {
    return function () {
      return new SiteTermsDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.b7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_PersonParentJoinDao$delegate$lambda(this$0) {
    return function () {
      return new PersonParentJoinDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.c7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_ScopedGrantDao$delegate$lambda(this$0) {
    return function () {
      return new ScopedGrantDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.d7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_ErrorReportDao$delegate$lambda(this$0) {
    return function () {
      return new ErrorReportDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.e7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_PersonAuth2Dao$delegate$lambda(this$0) {
    return function () {
      return new PersonAuth2Dao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.f7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_UserSessionDao$delegate$lambda(this$0) {
    return function () {
      return new UserSessionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.g7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_CoursePictureDao$delegate$lambda(this$0) {
    return function () {
      return new CoursePictureDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.i7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryPictureDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryPictureDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.j7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_MessageDao$delegate$lambda(this$0) {
    return function () {
      return new MessageDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.k7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_PeerReviewerAllocationDao$delegate$lambda(this$0) {
    return function () {
      return new PeerReviewerAllocationDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.l7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_DiscussionPostDao$delegate$lambda(this$0) {
    return function () {
      return new DiscussionPostDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.m7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryVersionDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryVersionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.n7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_OfflineItemDao$delegate$lambda(this$0) {
    return function () {
      return new OfflineItemDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.q7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_EnrolmentRequestDao$delegate$lambda(this$0) {
    return function () {
      return new EnrolmentRequestDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.s7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_CoursePermissionDao$delegate$lambda(this$0) {
    return function () {
      return new CoursePermissionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.t7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_SystemPermissionDao$delegate$lambda(this$0) {
    return function () {
      return new SystemPermissionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.u7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_CourseBlockPictureDao$delegate$lambda(this$0) {
    return function () {
      return new CourseBlockPictureDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.v7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_ContentEntryPicture2Dao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryPicture2Dao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.w7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_StudentResultDao$delegate$lambda(this$0) {
    return function () {
      return new StudentResultDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.x7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_VerbLangMapEntryDao$delegate$lambda(this$0) {
    return function () {
      return new VerbLangMapEntryDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.y7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_GroupMemberActorJoinDao$delegate$lambda(this$0) {
    return function () {
      return new GroupMemberActorJoinDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.z7l());
    };
  }
  function UmAppDatabase_DoorWrapper$_ActivityLangMapEntryDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityLangMapEntryDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.a7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_ActivityInteractionDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityInteractionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.b7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_ActivityExtensionDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityExtensionDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.c7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_StatementContextActivityJoinDao$delegate$lambda(this$0) {
    return function () {
      return new StatementContextActivityJoinDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.d7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_XapiSessionEntityDao$delegate$lambda(this$0) {
    return function () {
      return new XapiSessionEntityDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.e7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_StatementEntityJsonDao$delegate$lambda(this$0) {
    return function () {
      return new StatementEntityJsonDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.f7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_StateEntityDao$delegate$lambda(this$0) {
    return function () {
      return new StateEntityDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.g7m());
    };
  }
  function UmAppDatabase_DoorWrapper$_StateDeleteCommandDao$delegate$lambda(this$0) {
    return function () {
      return new StateDeleteCommandDao_DoorWrapper(this$0.p7m_1, this$0.p7m_1.h7m());
    };
  }
  function UmAppDatabase_DoorWrapper(_db, nodeId, messageCallback, logger, dbName) {
    UmAppDatabase.call(this);
    this.p7m_1 = _db;
    this.q7m_1 = nodeId;
    this.r7m_1 = messageCallback;
    var tmp = this;
    tmp.s7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_PersonDao$delegate$lambda(this));
    var tmp_0 = this;
    tmp_0.t7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_ClazzDao$delegate$lambda(this));
    var tmp_1 = this;
    tmp_1.u7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseBlockDao$delegate$lambda(this));
    var tmp_2 = this;
    tmp_2.v7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseTerminologyDao$delegate$lambda(this));
    var tmp_3 = this;
    tmp_3.w7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseGroupSetDao$delegate$lambda(this));
    var tmp_4 = this;
    tmp_4.x7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseGroupMemberDao$delegate$lambda(this));
    var tmp_5 = this;
    tmp_5.y7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_ClazzEnrolmentDao$delegate$lambda(this));
    var tmp_6 = this;
    tmp_6.z7m_1 = lazy_0(UmAppDatabase_DoorWrapper$_LeavingReasonDao$delegate$lambda(this));
    var tmp_7 = this;
    tmp_7.a7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryDao$delegate$lambda(this));
    var tmp_8 = this;
    tmp_8.b7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryContentCategoryJoinDao$delegate$lambda(this));
    var tmp_9 = this;
    tmp_9.c7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryParentChildJoinDao$delegate$lambda(this));
    var tmp_10 = this;
    tmp_10.d7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryRelatedEntryJoinDao$delegate$lambda(this));
    var tmp_11 = this;
    tmp_11.e7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentCategorySchemaDao$delegate$lambda(this));
    var tmp_12 = this;
    tmp_12.f7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentCategoryDao$delegate$lambda(this));
    var tmp_13 = this;
    tmp_13.g7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_LanguageDao$delegate$lambda(this));
    var tmp_14 = this;
    tmp_14.h7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_LanguageVariantDao$delegate$lambda(this));
    var tmp_15 = this;
    tmp_15.i7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_PersonGroupDao$delegate$lambda(this));
    var tmp_16 = this;
    tmp_16.j7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_PersonGroupMemberDao$delegate$lambda(this));
    var tmp_17 = this;
    tmp_17.k7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_PersonPictureDao$delegate$lambda(this));
    var tmp_18 = this;
    tmp_18.l7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_VerbDao$delegate$lambda(this));
    var tmp_19 = this;
    tmp_19.m7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ActivityEntityDao$delegate$lambda(this));
    var tmp_20 = this;
    tmp_20.n7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ReportDao$delegate$lambda(this));
    var tmp_21 = this;
    tmp_21.o7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_StatementDao$delegate$lambda(this));
    var tmp_22 = this;
    tmp_22.p7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ActorDao$delegate$lambda(this));
    var tmp_23 = this;
    tmp_23.q7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ClazzLogAttendanceRecordDao$delegate$lambda(this));
    var tmp_24 = this;
    tmp_24.r7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ClazzLogDao$delegate$lambda(this));
    var tmp_25 = this;
    tmp_25.s7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ScheduleDao$delegate$lambda(this));
    var tmp_26 = this;
    tmp_26.t7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_HolidayCalendarDao$delegate$lambda(this));
    var tmp_27 = this;
    tmp_27.u7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_HolidayDao$delegate$lambda(this));
    var tmp_28 = this;
    tmp_28.v7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_ClazzAssignmentDao$delegate$lambda(this));
    var tmp_29 = this;
    tmp_29.w7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseAssignmentSubmissionDao$delegate$lambda(this));
    var tmp_30 = this;
    tmp_30.x7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseAssignmentSubmissionFileDao$delegate$lambda(this));
    var tmp_31 = this;
    tmp_31.y7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseAssignmentMarkDao$delegate$lambda(this));
    var tmp_32 = this;
    tmp_32.z7n_1 = lazy_0(UmAppDatabase_DoorWrapper$_CommentsDao$delegate$lambda(this));
    var tmp_33 = this;
    tmp_33.a7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_SiteDao$delegate$lambda(this));
    var tmp_34 = this;
    tmp_34.b7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_SiteTermsDao$delegate$lambda(this));
    var tmp_35 = this;
    tmp_35.c7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_PersonParentJoinDao$delegate$lambda(this));
    var tmp_36 = this;
    tmp_36.d7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ScopedGrantDao$delegate$lambda(this));
    var tmp_37 = this;
    tmp_37.e7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ErrorReportDao$delegate$lambda(this));
    var tmp_38 = this;
    tmp_38.f7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_PersonAuth2Dao$delegate$lambda(this));
    var tmp_39 = this;
    tmp_39.g7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_UserSessionDao$delegate$lambda(this));
    var tmp_40 = this;
    tmp_40.h7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_CoursePictureDao$delegate$lambda(this));
    var tmp_41 = this;
    tmp_41.i7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryPictureDao$delegate$lambda(this));
    var tmp_42 = this;
    tmp_42.j7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_MessageDao$delegate$lambda(this));
    var tmp_43 = this;
    tmp_43.k7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_PeerReviewerAllocationDao$delegate$lambda(this));
    var tmp_44 = this;
    tmp_44.l7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_DiscussionPostDao$delegate$lambda(this));
    var tmp_45 = this;
    tmp_45.m7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryVersionDao$delegate$lambda(this));
    var tmp_46 = this;
    tmp_46.n7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_OfflineItemDao$delegate$lambda(this));
    var tmp_47 = this;
    tmp_47.o7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_EnrolmentRequestDao$delegate$lambda(this));
    var tmp_48 = this;
    tmp_48.p7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_CoursePermissionDao$delegate$lambda(this));
    var tmp_49 = this;
    tmp_49.q7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_SystemPermissionDao$delegate$lambda(this));
    var tmp_50 = this;
    tmp_50.r7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_CourseBlockPictureDao$delegate$lambda(this));
    var tmp_51 = this;
    tmp_51.s7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ContentEntryPicture2Dao$delegate$lambda(this));
    var tmp_52 = this;
    tmp_52.t7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_StudentResultDao$delegate$lambda(this));
    var tmp_53 = this;
    tmp_53.u7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_VerbLangMapEntryDao$delegate$lambda(this));
    var tmp_54 = this;
    tmp_54.v7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_GroupMemberActorJoinDao$delegate$lambda(this));
    var tmp_55 = this;
    tmp_55.w7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ActivityLangMapEntryDao$delegate$lambda(this));
    var tmp_56 = this;
    tmp_56.x7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ActivityInteractionDao$delegate$lambda(this));
    var tmp_57 = this;
    tmp_57.y7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_ActivityExtensionDao$delegate$lambda(this));
    var tmp_58 = this;
    tmp_58.z7o_1 = lazy_0(UmAppDatabase_DoorWrapper$_StatementContextActivityJoinDao$delegate$lambda(this));
    var tmp_59 = this;
    tmp_59.a7p_1 = lazy_0(UmAppDatabase_DoorWrapper$_XapiSessionEntityDao$delegate$lambda(this));
    var tmp_60 = this;
    tmp_60.b7p_1 = lazy_0(UmAppDatabase_DoorWrapper$_StatementEntityJsonDao$delegate$lambda(this));
    var tmp_61 = this;
    tmp_61.c7p_1 = lazy_0(UmAppDatabase_DoorWrapper$_StateEntityDao$delegate$lambda(this));
    var tmp_62 = this;
    tmp_62.d7p_1 = lazy_0(UmAppDatabase_DoorWrapper$_StateDeleteCommandDao$delegate$lambda(this));
    this.e7p_1 = new NodeEventManagerJs(this.p7m_1, this.r7m_1, logger, dbName);
  }
  protoOf(UmAppDatabase_DoorWrapper).t67 = function () {
    return this.q7m_1;
  };
  protoOf(UmAppDatabase_DoorWrapper).p78 = function () {
    return 204;
  };
  protoOf(UmAppDatabase_DoorWrapper).f7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.s7m_1;
    _PersonDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).g7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.t7m_1;
    _ClazzDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).h7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.u7m_1;
    _CourseBlockDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).i7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.v7m_1;
    _CourseTerminologyDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).j7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.w7m_1;
    _CourseGroupSetDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).k7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.x7m_1;
    _CourseGroupMemberDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).l7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.y7m_1;
    _ClazzEnrolmentDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).m7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.z7m_1;
    _LeavingReasonDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).n7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.a7n_1;
    _ContentEntryDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).o7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.b7n_1;
    _ContentEntryContentCategoryJoinDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).p7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.c7n_1;
    _ContentEntryParentChildJoinDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).q7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.d7n_1;
    _ContentEntryRelatedEntryJoinDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).r7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.e7n_1;
    _ContentCategorySchemaDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).s7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.f7n_1;
    _ContentCategoryDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).t7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.g7n_1;
    _LanguageDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).u7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.h7n_1;
    _LanguageVariantDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).v7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.i7n_1;
    _PersonGroupDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).w7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.j7n_1;
    _PersonGroupMemberDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).x7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.k7n_1;
    _PersonPictureDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).y7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.l7n_1;
    _VerbDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).z7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.m7n_1;
    _ActivityEntityDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).a7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.n7n_1;
    _ReportDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).b7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.o7n_1;
    _StatementDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).c7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.p7n_1;
    _ActorDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).d7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.q7n_1;
    _ClazzLogAttendanceRecordDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).e7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.r7n_1;
    _ClazzLogDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).f7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.s7n_1;
    _ScheduleDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).g7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.t7n_1;
    _HolidayCalendarDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).h7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.u7n_1;
    _HolidayDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).i7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.v7n_1;
    _ClazzAssignmentDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).j7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.w7n_1;
    _CourseAssignmentSubmissionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).k7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.x7n_1;
    _CourseAssignmentSubmissionFileDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).l7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.y7n_1;
    _CourseAssignmentMarkDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).m7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.z7n_1;
    _CommentsDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).n7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.a7o_1;
    _SiteDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).o7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.b7o_1;
    _SiteTermsDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).p7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.c7o_1;
    _PersonParentJoinDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).q7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.d7o_1;
    _ScopedGrantDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).r7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.e7o_1;
    _ErrorReportDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).s7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.f7o_1;
    _PersonAuth2Dao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).t7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.g7o_1;
    _UserSessionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).u7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.h7o_1;
    _CoursePictureDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).v7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.i7o_1;
    _ContentEntryPictureDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).w7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.j7o_1;
    _MessageDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).x7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.k7o_1;
    _PeerReviewerAllocationDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).y7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.l7o_1;
    _DiscussionPostDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).z7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.m7o_1;
    _ContentEntryVersionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).a7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.n7o_1;
    _OfflineItemDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).b7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.o7o_1;
    _EnrolmentRequestDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).c7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.p7o_1;
    _CoursePermissionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).d7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.q7o_1;
    _SystemPermissionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).e7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.r7o_1;
    _CourseBlockPictureDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).f7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.s7o_1;
    _ContentEntryPicture2Dao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).g7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.t7o_1;
    _StudentResultDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).h7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.u7o_1;
    _VerbLangMapEntryDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).i7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.v7o_1;
    _GroupMemberActorJoinDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).j7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.w7o_1;
    _ActivityLangMapEntryDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).k7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.x7o_1;
    _ActivityInteractionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).l7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.y7o_1;
    _ActivityExtensionDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).m7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.z7o_1;
    _StatementContextActivityJoinDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).n7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.a7p_1;
    _XapiSessionEntityDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).o7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.b7p_1;
    _StatementEntityJsonDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).p7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.c7p_1;
    _StateEntityDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).q7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.d7p_1;
    _StateDeleteCommandDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_DoorWrapper).b5p = function () {
    return this.p7m_1;
  };
  protoOf(UmAppDatabase_DoorWrapper).s67 = function () {
    return this.e7p_1;
  };
  protoOf(UmAppDatabase_DoorWrapper).b5s = function () {
    return this.p7m_1.b5s();
  };
  protoOf(UmAppDatabase_DoorWrapper).v77 = function () {
    return this.p7m_1.v77();
  };
  protoOf(UmAppDatabase_DoorWrapper).s7j = function () {
    return this.f7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).t7j = function () {
    return this.g7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).u7j = function () {
    return this.h7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).v7j = function () {
    return this.i7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).w7j = function () {
    return this.j7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).x7j = function () {
    return this.k7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).y7j = function () {
    return this.l7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).z7j = function () {
    return this.m7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).a7k = function () {
    return this.n7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).b7k = function () {
    return this.o7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).c7k = function () {
    return this.p7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).d7k = function () {
    return this.q7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).e7k = function () {
    return this.r7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).f7k = function () {
    return this.s7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).g7k = function () {
    return this.t7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).h7k = function () {
    return this.u7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).i7k = function () {
    return this.v7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).j7k = function () {
    return this.w7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).k7k = function () {
    return this.x7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).l7k = function () {
    return this.y7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).m7k = function () {
    return this.z7p();
  };
  protoOf(UmAppDatabase_DoorWrapper).n7k = function () {
    return this.a7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).o7k = function () {
    return this.b7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).p7k = function () {
    return this.c7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).q7k = function () {
    return this.d7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).r7k = function () {
    return this.e7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).s7k = function () {
    return this.f7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).t7k = function () {
    return this.g7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).u7k = function () {
    return this.h7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).v7k = function () {
    return this.i7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).w7k = function () {
    return this.j7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).x7k = function () {
    return this.k7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).y7k = function () {
    return this.l7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).z7k = function () {
    return this.m7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).a7l = function () {
    return this.n7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).b7l = function () {
    return this.o7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).c7l = function () {
    return this.p7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).d7l = function () {
    return this.q7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).e7l = function () {
    return this.r7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).f7l = function () {
    return this.s7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).g7l = function () {
    return this.t7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).h7l = function () {
    return this.p7m_1.h7l();
  };
  protoOf(UmAppDatabase_DoorWrapper).i7l = function () {
    return this.u7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).j7l = function () {
    return this.v7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).k7l = function () {
    return this.w7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).l7l = function () {
    return this.x7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).m7l = function () {
    return this.y7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).n7l = function () {
    return this.z7q();
  };
  protoOf(UmAppDatabase_DoorWrapper).o7l = function () {
    return this.p7m_1.o7l();
  };
  protoOf(UmAppDatabase_DoorWrapper).p7l = function () {
    return this.p7m_1.p7l();
  };
  protoOf(UmAppDatabase_DoorWrapper).q7l = function () {
    return this.a7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).r7l = function () {
    return this.p7m_1.r7l();
  };
  protoOf(UmAppDatabase_DoorWrapper).s7l = function () {
    return this.b7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).t7l = function () {
    return this.c7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).u7l = function () {
    return this.d7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).v7l = function () {
    return this.e7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).w7l = function () {
    return this.f7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).x7l = function () {
    return this.g7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).y7l = function () {
    return this.h7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).z7l = function () {
    return this.i7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).a7m = function () {
    return this.j7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).b7m = function () {
    return this.k7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).c7m = function () {
    return this.l7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).d7m = function () {
    return this.m7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).e7m = function () {
    return this.n7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).f7m = function () {
    return this.o7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).g7m = function () {
    return this.p7r();
  };
  protoOf(UmAppDatabase_DoorWrapper).h7m = function () {
    return this.q7r();
  };
  function _PersonDao$factory() {
    return getPropertyCallableRef('_PersonDao', 1, KProperty1, function (receiver) {
      return receiver.f7p();
    }, null);
  }
  function _ClazzDao$factory() {
    return getPropertyCallableRef('_ClazzDao', 1, KProperty1, function (receiver) {
      return receiver.g7p();
    }, null);
  }
  function _CourseBlockDao$factory() {
    return getPropertyCallableRef('_CourseBlockDao', 1, KProperty1, function (receiver) {
      return receiver.h7p();
    }, null);
  }
  function _CourseTerminologyDao$factory() {
    return getPropertyCallableRef('_CourseTerminologyDao', 1, KProperty1, function (receiver) {
      return receiver.i7p();
    }, null);
  }
  function _CourseGroupSetDao$factory() {
    return getPropertyCallableRef('_CourseGroupSetDao', 1, KProperty1, function (receiver) {
      return receiver.j7p();
    }, null);
  }
  function _CourseGroupMemberDao$factory() {
    return getPropertyCallableRef('_CourseGroupMemberDao', 1, KProperty1, function (receiver) {
      return receiver.k7p();
    }, null);
  }
  function _ClazzEnrolmentDao$factory() {
    return getPropertyCallableRef('_ClazzEnrolmentDao', 1, KProperty1, function (receiver) {
      return receiver.l7p();
    }, null);
  }
  function _LeavingReasonDao$factory() {
    return getPropertyCallableRef('_LeavingReasonDao', 1, KProperty1, function (receiver) {
      return receiver.m7p();
    }, null);
  }
  function _ContentEntryDao$factory() {
    return getPropertyCallableRef('_ContentEntryDao', 1, KProperty1, function (receiver) {
      return receiver.n7p();
    }, null);
  }
  function _ContentEntryContentCategoryJoinDao$factory() {
    return getPropertyCallableRef('_ContentEntryContentCategoryJoinDao', 1, KProperty1, function (receiver) {
      return receiver.o7p();
    }, null);
  }
  function _ContentEntryParentChildJoinDao$factory() {
    return getPropertyCallableRef('_ContentEntryParentChildJoinDao', 1, KProperty1, function (receiver) {
      return receiver.p7p();
    }, null);
  }
  function _ContentEntryRelatedEntryJoinDao$factory() {
    return getPropertyCallableRef('_ContentEntryRelatedEntryJoinDao', 1, KProperty1, function (receiver) {
      return receiver.q7p();
    }, null);
  }
  function _ContentCategorySchemaDao$factory() {
    return getPropertyCallableRef('_ContentCategorySchemaDao', 1, KProperty1, function (receiver) {
      return receiver.r7p();
    }, null);
  }
  function _ContentCategoryDao$factory() {
    return getPropertyCallableRef('_ContentCategoryDao', 1, KProperty1, function (receiver) {
      return receiver.s7p();
    }, null);
  }
  function _LanguageDao$factory() {
    return getPropertyCallableRef('_LanguageDao', 1, KProperty1, function (receiver) {
      return receiver.t7p();
    }, null);
  }
  function _LanguageVariantDao$factory() {
    return getPropertyCallableRef('_LanguageVariantDao', 1, KProperty1, function (receiver) {
      return receiver.u7p();
    }, null);
  }
  function _PersonGroupDao$factory() {
    return getPropertyCallableRef('_PersonGroupDao', 1, KProperty1, function (receiver) {
      return receiver.v7p();
    }, null);
  }
  function _PersonGroupMemberDao$factory() {
    return getPropertyCallableRef('_PersonGroupMemberDao', 1, KProperty1, function (receiver) {
      return receiver.w7p();
    }, null);
  }
  function _PersonPictureDao$factory() {
    return getPropertyCallableRef('_PersonPictureDao', 1, KProperty1, function (receiver) {
      return receiver.x7p();
    }, null);
  }
  function _VerbDao$factory() {
    return getPropertyCallableRef('_VerbDao', 1, KProperty1, function (receiver) {
      return receiver.y7p();
    }, null);
  }
  function _ActivityEntityDao$factory() {
    return getPropertyCallableRef('_ActivityEntityDao', 1, KProperty1, function (receiver) {
      return receiver.z7p();
    }, null);
  }
  function _ReportDao$factory() {
    return getPropertyCallableRef('_ReportDao', 1, KProperty1, function (receiver) {
      return receiver.a7q();
    }, null);
  }
  function _StatementDao$factory() {
    return getPropertyCallableRef('_StatementDao', 1, KProperty1, function (receiver) {
      return receiver.b7q();
    }, null);
  }
  function _ActorDao$factory() {
    return getPropertyCallableRef('_ActorDao', 1, KProperty1, function (receiver) {
      return receiver.c7q();
    }, null);
  }
  function _ClazzLogAttendanceRecordDao$factory() {
    return getPropertyCallableRef('_ClazzLogAttendanceRecordDao', 1, KProperty1, function (receiver) {
      return receiver.d7q();
    }, null);
  }
  function _ClazzLogDao$factory() {
    return getPropertyCallableRef('_ClazzLogDao', 1, KProperty1, function (receiver) {
      return receiver.e7q();
    }, null);
  }
  function _ScheduleDao$factory() {
    return getPropertyCallableRef('_ScheduleDao', 1, KProperty1, function (receiver) {
      return receiver.f7q();
    }, null);
  }
  function _HolidayCalendarDao$factory() {
    return getPropertyCallableRef('_HolidayCalendarDao', 1, KProperty1, function (receiver) {
      return receiver.g7q();
    }, null);
  }
  function _HolidayDao$factory() {
    return getPropertyCallableRef('_HolidayDao', 1, KProperty1, function (receiver) {
      return receiver.h7q();
    }, null);
  }
  function _ClazzAssignmentDao$factory() {
    return getPropertyCallableRef('_ClazzAssignmentDao', 1, KProperty1, function (receiver) {
      return receiver.i7q();
    }, null);
  }
  function _CourseAssignmentSubmissionDao$factory() {
    return getPropertyCallableRef('_CourseAssignmentSubmissionDao', 1, KProperty1, function (receiver) {
      return receiver.j7q();
    }, null);
  }
  function _CourseAssignmentSubmissionFileDao$factory() {
    return getPropertyCallableRef('_CourseAssignmentSubmissionFileDao', 1, KProperty1, function (receiver) {
      return receiver.k7q();
    }, null);
  }
  function _CourseAssignmentMarkDao$factory() {
    return getPropertyCallableRef('_CourseAssignmentMarkDao', 1, KProperty1, function (receiver) {
      return receiver.l7q();
    }, null);
  }
  function _CommentsDao$factory() {
    return getPropertyCallableRef('_CommentsDao', 1, KProperty1, function (receiver) {
      return receiver.m7q();
    }, null);
  }
  function _SiteDao$factory() {
    return getPropertyCallableRef('_SiteDao', 1, KProperty1, function (receiver) {
      return receiver.n7q();
    }, null);
  }
  function _SiteTermsDao$factory() {
    return getPropertyCallableRef('_SiteTermsDao', 1, KProperty1, function (receiver) {
      return receiver.o7q();
    }, null);
  }
  function _PersonParentJoinDao$factory() {
    return getPropertyCallableRef('_PersonParentJoinDao', 1, KProperty1, function (receiver) {
      return receiver.p7q();
    }, null);
  }
  function _ScopedGrantDao$factory() {
    return getPropertyCallableRef('_ScopedGrantDao', 1, KProperty1, function (receiver) {
      return receiver.q7q();
    }, null);
  }
  function _ErrorReportDao$factory() {
    return getPropertyCallableRef('_ErrorReportDao', 1, KProperty1, function (receiver) {
      return receiver.r7q();
    }, null);
  }
  function _PersonAuth2Dao$factory() {
    return getPropertyCallableRef('_PersonAuth2Dao', 1, KProperty1, function (receiver) {
      return receiver.s7q();
    }, null);
  }
  function _UserSessionDao$factory() {
    return getPropertyCallableRef('_UserSessionDao', 1, KProperty1, function (receiver) {
      return receiver.t7q();
    }, null);
  }
  function _CoursePictureDao$factory() {
    return getPropertyCallableRef('_CoursePictureDao', 1, KProperty1, function (receiver) {
      return receiver.u7q();
    }, null);
  }
  function _ContentEntryPictureDao$factory() {
    return getPropertyCallableRef('_ContentEntryPictureDao', 1, KProperty1, function (receiver) {
      return receiver.v7q();
    }, null);
  }
  function _MessageDao$factory() {
    return getPropertyCallableRef('_MessageDao', 1, KProperty1, function (receiver) {
      return receiver.w7q();
    }, null);
  }
  function _PeerReviewerAllocationDao$factory() {
    return getPropertyCallableRef('_PeerReviewerAllocationDao', 1, KProperty1, function (receiver) {
      return receiver.x7q();
    }, null);
  }
  function _DiscussionPostDao$factory() {
    return getPropertyCallableRef('_DiscussionPostDao', 1, KProperty1, function (receiver) {
      return receiver.y7q();
    }, null);
  }
  function _ContentEntryVersionDao$factory() {
    return getPropertyCallableRef('_ContentEntryVersionDao', 1, KProperty1, function (receiver) {
      return receiver.z7q();
    }, null);
  }
  function _OfflineItemDao$factory() {
    return getPropertyCallableRef('_OfflineItemDao', 1, KProperty1, function (receiver) {
      return receiver.a7r();
    }, null);
  }
  function _EnrolmentRequestDao$factory() {
    return getPropertyCallableRef('_EnrolmentRequestDao', 1, KProperty1, function (receiver) {
      return receiver.b7r();
    }, null);
  }
  function _CoursePermissionDao$factory() {
    return getPropertyCallableRef('_CoursePermissionDao', 1, KProperty1, function (receiver) {
      return receiver.c7r();
    }, null);
  }
  function _SystemPermissionDao$factory() {
    return getPropertyCallableRef('_SystemPermissionDao', 1, KProperty1, function (receiver) {
      return receiver.d7r();
    }, null);
  }
  function _CourseBlockPictureDao$factory() {
    return getPropertyCallableRef('_CourseBlockPictureDao', 1, KProperty1, function (receiver) {
      return receiver.e7r();
    }, null);
  }
  function _ContentEntryPicture2Dao$factory() {
    return getPropertyCallableRef('_ContentEntryPicture2Dao', 1, KProperty1, function (receiver) {
      return receiver.f7r();
    }, null);
  }
  function _StudentResultDao$factory() {
    return getPropertyCallableRef('_StudentResultDao', 1, KProperty1, function (receiver) {
      return receiver.g7r();
    }, null);
  }
  function _VerbLangMapEntryDao$factory() {
    return getPropertyCallableRef('_VerbLangMapEntryDao', 1, KProperty1, function (receiver) {
      return receiver.h7r();
    }, null);
  }
  function _GroupMemberActorJoinDao$factory() {
    return getPropertyCallableRef('_GroupMemberActorJoinDao', 1, KProperty1, function (receiver) {
      return receiver.i7r();
    }, null);
  }
  function _ActivityLangMapEntryDao$factory() {
    return getPropertyCallableRef('_ActivityLangMapEntryDao', 1, KProperty1, function (receiver) {
      return receiver.j7r();
    }, null);
  }
  function _ActivityInteractionDao$factory() {
    return getPropertyCallableRef('_ActivityInteractionDao', 1, KProperty1, function (receiver) {
      return receiver.k7r();
    }, null);
  }
  function _ActivityExtensionDao$factory() {
    return getPropertyCallableRef('_ActivityExtensionDao', 1, KProperty1, function (receiver) {
      return receiver.l7r();
    }, null);
  }
  function _StatementContextActivityJoinDao$factory() {
    return getPropertyCallableRef('_StatementContextActivityJoinDao', 1, KProperty1, function (receiver) {
      return receiver.m7r();
    }, null);
  }
  function _XapiSessionEntityDao$factory() {
    return getPropertyCallableRef('_XapiSessionEntityDao', 1, KProperty1, function (receiver) {
      return receiver.n7r();
    }, null);
  }
  function _StatementEntityJsonDao$factory() {
    return getPropertyCallableRef('_StatementEntityJsonDao', 1, KProperty1, function (receiver) {
      return receiver.o7r();
    }, null);
  }
  function _StateEntityDao$factory() {
    return getPropertyCallableRef('_StateEntityDao', 1, KProperty1, function (receiver) {
      return receiver.p7r();
    }, null);
  }
  function _StateDeleteCommandDao$factory() {
    return getPropertyCallableRef('_StateDeleteCommandDao', 1, KProperty1, function (receiver) {
      return receiver.q7r();
    }, null);
  }
  function UmAppDatabase_JdbcImpl$realNodeIdAuthCache$delegate$lambda(this$0) {
    return function () {
      var tmp;
      if (equals(this$0, get_rootDatabase(this$0))) {
        var nodeIdAuthCache = new NodeIdAuthCache(this$0);
        tmp = nodeIdAuthCache;
      } else {
        tmp = get_nodeIdAuthCache(get_rootDatabase(this$0));
      }
      return tmp;
    };
  }
  function UmAppDatabase_JdbcImpl$realPrimaryKeyManager$delegate$lambda() {
    return new DoorPrimaryKeyManager(doorDatabaseMetadata(getKClass(UmAppDatabase)).f6b().o2());
  }
  function UmAppDatabase_JdbcImpl$_PersonDao$delegate$lambda(this$0) {
    return function () {
      return new PersonDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ClazzDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseBlockDao$delegate$lambda(this$0) {
    return function () {
      return new CourseBlockDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseTerminologyDao$delegate$lambda(this$0) {
    return function () {
      return new CourseTerminologyDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseGroupSetDao$delegate$lambda(this$0) {
    return function () {
      return new CourseGroupSetDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseGroupMemberDao$delegate$lambda(this$0) {
    return function () {
      return new CourseGroupMemberDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ClazzEnrolmentDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzEnrolmentDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_LeavingReasonDao$delegate$lambda(this$0) {
    return function () {
      return new LeavingReasonDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryContentCategoryJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryContentCategoryJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryParentChildJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryParentChildJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryRelatedEntryJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryRelatedEntryJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentCategorySchemaDao$delegate$lambda(this$0) {
    return function () {
      return new ContentCategorySchemaDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentCategoryDao$delegate$lambda(this$0) {
    return function () {
      return new ContentCategoryDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_LanguageDao$delegate$lambda(this$0) {
    return function () {
      return new LanguageDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_LanguageVariantDao$delegate$lambda(this$0) {
    return function () {
      return new LanguageVariantDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PersonAuthDao$delegate$lambda(this$0) {
    return function () {
      return new PersonAuthDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PersonGroupDao$delegate$lambda(this$0) {
    return function () {
      return new PersonGroupDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PersonGroupMemberDao$delegate$lambda(this$0) {
    return function () {
      return new PersonGroupMemberDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PersonPictureDao$delegate$lambda(this$0) {
    return function () {
      return new PersonPictureDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_VerbDao$delegate$lambda(this$0) {
    return function () {
      return new VerbDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ActivityEntityDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityEntityDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ReportDao$delegate$lambda(this$0) {
    return function () {
      return new ReportDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_StatementDao$delegate$lambda(this$0) {
    return function () {
      return new StatementDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ActorDao$delegate$lambda(this$0) {
    return function () {
      return new ActorDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ClazzLogAttendanceRecordDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzLogAttendanceRecordDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ClazzLogDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzLogDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ScheduleDao$delegate$lambda(this$0) {
    return function () {
      return new ScheduleDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_HolidayCalendarDao$delegate$lambda(this$0) {
    return function () {
      return new HolidayCalendarDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_HolidayDao$delegate$lambda(this$0) {
    return function () {
      return new HolidayDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ClazzAssignmentDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzAssignmentDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseAssignmentSubmissionDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentSubmissionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseAssignmentSubmissionFileDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentSubmissionFileDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseAssignmentMarkDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentMarkDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CommentsDao$delegate$lambda(this$0) {
    return function () {
      return new CommentsDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_SyncNodeDao$delegate$lambda(this$0) {
    return function () {
      return new SyncNodeDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_SiteDao$delegate$lambda(this$0) {
    return function () {
      return new SiteDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_SiteTermsDao$delegate$lambda(this$0) {
    return function () {
      return new SiteTermsDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PersonParentJoinDao$delegate$lambda(this$0) {
    return function () {
      return new PersonParentJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ScopedGrantDao$delegate$lambda(this$0) {
    return function () {
      return new ScopedGrantDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ErrorReportDao$delegate$lambda(this$0) {
    return function () {
      return new ErrorReportDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PersonAuth2Dao$delegate$lambda(this$0) {
    return function () {
      return new PersonAuth2Dao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_UserSessionDao$delegate$lambda(this$0) {
    return function () {
      return new UserSessionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryImportJobDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryImportJobDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CoursePictureDao$delegate$lambda(this$0) {
    return function () {
      return new CoursePictureDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryPictureDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryPictureDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_MessageDao$delegate$lambda(this$0) {
    return function () {
      return new MessageDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_PeerReviewerAllocationDao$delegate$lambda(this$0) {
    return function () {
      return new PeerReviewerAllocationDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_DiscussionPostDao$delegate$lambda(this$0) {
    return function () {
      return new DiscussionPostDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ExternalAppPermissionDao$delegate$lambda(this$0) {
    return function () {
      return new ExternalAppPermissionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryVersionDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryVersionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_OutgoingReplicationDao$delegate$lambda(this$0) {
    return function () {
      return new OutgoingReplicationDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_TransferJobDao$delegate$lambda(this$0) {
    return function () {
      return new TransferJobDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_TransferJobItemDao$delegate$lambda(this$0) {
    return function () {
      return new TransferJobItemDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CacheLockJoinDao$delegate$lambda(this$0) {
    return function () {
      return new CacheLockJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_OfflineItemDao$delegate$lambda(this$0) {
    return function () {
      return new OfflineItemDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_DeletedItemDao$delegate$lambda(this$0) {
    return function () {
      return new DeletedItemDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_EnrolmentRequestDao$delegate$lambda(this$0) {
    return function () {
      return new EnrolmentRequestDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CoursePermissionDao$delegate$lambda(this$0) {
    return function () {
      return new CoursePermissionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_SystemPermissionDao$delegate$lambda(this$0) {
    return function () {
      return new SystemPermissionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_CourseBlockPictureDao$delegate$lambda(this$0) {
    return function () {
      return new CourseBlockPictureDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ContentEntryPicture2Dao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryPicture2Dao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_TransferJobErrorDao$delegate$lambda(this$0) {
    return function () {
      return new TransferJobErrorDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_StudentResultDao$delegate$lambda(this$0) {
    return function () {
      return new StudentResultDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_VerbLangMapEntryDao$delegate$lambda(this$0) {
    return function () {
      return new VerbLangMapEntryDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_GroupMemberActorJoinDao$delegate$lambda(this$0) {
    return function () {
      return new GroupMemberActorJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ActivityLangMapEntryDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityLangMapEntryDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ActivityInteractionDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityInteractionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_ActivityExtensionDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityExtensionDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_StatementContextActivityJoinDao$delegate$lambda(this$0) {
    return function () {
      return new StatementContextActivityJoinDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_XapiSessionEntityDao$delegate$lambda(this$0) {
    return function () {
      return new XapiSessionEntityDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_StatementEntityJsonDao$delegate$lambda(this$0) {
    return function () {
      return new StatementEntityJsonDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_StateEntityDao$delegate$lambda(this$0) {
    return function () {
      return new StateEntityDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl$_StateDeleteCommandDao$delegate$lambda(this$0) {
    return function () {
      return new StateDeleteCommandDao_JdbcImpl(this$0);
    };
  }
  function UmAppDatabase_JdbcImpl(doorJdbcSourceDatabase, dataSource, dbUrl, dbName, jdbcQueryTimeout, jdbcDbType, logger) {
    UmAppDatabase.call(this);
    this.r7r_1 = doorJdbcSourceDatabase;
    this.s7r_1 = dataSource;
    this.t7r_1 = dbName;
    this.u7r_1 = jdbcQueryTimeout;
    var tmp = this;
    var tmp_0 = doorDatabaseMetadata(getKClassFromExpression(this)).s6b();
    // Inline function 'kotlin.collections.toTypedArray' call
    var this_0 = doorDatabaseMetadata(getKClassFromExpression(this)).s6b();
    var tmp$ret$0 = copyToArray(this_0);
    tmp.v7r_1 = new RoomDatabaseJdbcImplHelper(this.s7r_1, this, dbUrl, this.t7r_1, logger, tmp_0, new InvalidationTracker(tmp$ret$0.slice()), jdbcDbType);
    var tmp_1 = this;
    tmp_1.w7r_1 = lazy_0(UmAppDatabase_JdbcImpl$realNodeIdAuthCache$delegate$lambda(this));
    var tmp_2 = this;
    tmp_2.x7r_1 = lazy_0(UmAppDatabase_JdbcImpl$realPrimaryKeyManager$delegate$lambda);
    var tmp_3 = this;
    tmp_3.y7r_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonDao$delegate$lambda(this));
    var tmp_4 = this;
    tmp_4.z7r_1 = lazy_0(UmAppDatabase_JdbcImpl$_ClazzDao$delegate$lambda(this));
    var tmp_5 = this;
    tmp_5.a7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseBlockDao$delegate$lambda(this));
    var tmp_6 = this;
    tmp_6.b7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseTerminologyDao$delegate$lambda(this));
    var tmp_7 = this;
    tmp_7.c7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseGroupSetDao$delegate$lambda(this));
    var tmp_8 = this;
    tmp_8.d7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseGroupMemberDao$delegate$lambda(this));
    var tmp_9 = this;
    tmp_9.e7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ClazzEnrolmentDao$delegate$lambda(this));
    var tmp_10 = this;
    tmp_10.f7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_LeavingReasonDao$delegate$lambda(this));
    var tmp_11 = this;
    tmp_11.g7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryDao$delegate$lambda(this));
    var tmp_12 = this;
    tmp_12.h7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryContentCategoryJoinDao$delegate$lambda(this));
    var tmp_13 = this;
    tmp_13.i7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryParentChildJoinDao$delegate$lambda(this));
    var tmp_14 = this;
    tmp_14.j7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryRelatedEntryJoinDao$delegate$lambda(this));
    var tmp_15 = this;
    tmp_15.k7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentCategorySchemaDao$delegate$lambda(this));
    var tmp_16 = this;
    tmp_16.l7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentCategoryDao$delegate$lambda(this));
    var tmp_17 = this;
    tmp_17.m7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_LanguageDao$delegate$lambda(this));
    var tmp_18 = this;
    tmp_18.n7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_LanguageVariantDao$delegate$lambda(this));
    var tmp_19 = this;
    tmp_19.o7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonAuthDao$delegate$lambda(this));
    var tmp_20 = this;
    tmp_20.p7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonGroupDao$delegate$lambda(this));
    var tmp_21 = this;
    tmp_21.q7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonGroupMemberDao$delegate$lambda(this));
    var tmp_22 = this;
    tmp_22.r7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonPictureDao$delegate$lambda(this));
    var tmp_23 = this;
    tmp_23.s7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_VerbDao$delegate$lambda(this));
    var tmp_24 = this;
    tmp_24.t7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ActivityEntityDao$delegate$lambda(this));
    var tmp_25 = this;
    tmp_25.u7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ReportDao$delegate$lambda(this));
    var tmp_26 = this;
    tmp_26.v7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_StatementDao$delegate$lambda(this));
    var tmp_27 = this;
    tmp_27.w7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ActorDao$delegate$lambda(this));
    var tmp_28 = this;
    tmp_28.x7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ClazzLogAttendanceRecordDao$delegate$lambda(this));
    var tmp_29 = this;
    tmp_29.y7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ClazzLogDao$delegate$lambda(this));
    var tmp_30 = this;
    tmp_30.z7s_1 = lazy_0(UmAppDatabase_JdbcImpl$_ScheduleDao$delegate$lambda(this));
    var tmp_31 = this;
    tmp_31.a7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_HolidayCalendarDao$delegate$lambda(this));
    var tmp_32 = this;
    tmp_32.b7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_HolidayDao$delegate$lambda(this));
    var tmp_33 = this;
    tmp_33.c7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ClazzAssignmentDao$delegate$lambda(this));
    var tmp_34 = this;
    tmp_34.d7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseAssignmentSubmissionDao$delegate$lambda(this));
    var tmp_35 = this;
    tmp_35.e7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseAssignmentSubmissionFileDao$delegate$lambda(this));
    var tmp_36 = this;
    tmp_36.f7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseAssignmentMarkDao$delegate$lambda(this));
    var tmp_37 = this;
    tmp_37.g7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_CommentsDao$delegate$lambda(this));
    var tmp_38 = this;
    tmp_38.h7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_SyncNodeDao$delegate$lambda(this));
    var tmp_39 = this;
    tmp_39.i7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_SiteDao$delegate$lambda(this));
    var tmp_40 = this;
    tmp_40.j7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_SiteTermsDao$delegate$lambda(this));
    var tmp_41 = this;
    tmp_41.k7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonParentJoinDao$delegate$lambda(this));
    var tmp_42 = this;
    tmp_42.l7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ScopedGrantDao$delegate$lambda(this));
    var tmp_43 = this;
    tmp_43.m7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ErrorReportDao$delegate$lambda(this));
    var tmp_44 = this;
    tmp_44.n7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_PersonAuth2Dao$delegate$lambda(this));
    var tmp_45 = this;
    tmp_45.o7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_UserSessionDao$delegate$lambda(this));
    var tmp_46 = this;
    tmp_46.p7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryImportJobDao$delegate$lambda(this));
    var tmp_47 = this;
    tmp_47.q7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_CoursePictureDao$delegate$lambda(this));
    var tmp_48 = this;
    tmp_48.r7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryPictureDao$delegate$lambda(this));
    var tmp_49 = this;
    tmp_49.s7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_MessageDao$delegate$lambda(this));
    var tmp_50 = this;
    tmp_50.t7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_PeerReviewerAllocationDao$delegate$lambda(this));
    var tmp_51 = this;
    tmp_51.u7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_DiscussionPostDao$delegate$lambda(this));
    var tmp_52 = this;
    tmp_52.v7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ExternalAppPermissionDao$delegate$lambda(this));
    var tmp_53 = this;
    tmp_53.w7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryVersionDao$delegate$lambda(this));
    var tmp_54 = this;
    tmp_54.x7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_OutgoingReplicationDao$delegate$lambda(this));
    var tmp_55 = this;
    tmp_55.y7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_TransferJobDao$delegate$lambda(this));
    var tmp_56 = this;
    tmp_56.z7t_1 = lazy_0(UmAppDatabase_JdbcImpl$_TransferJobItemDao$delegate$lambda(this));
    var tmp_57 = this;
    tmp_57.a7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_CacheLockJoinDao$delegate$lambda(this));
    var tmp_58 = this;
    tmp_58.b7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_OfflineItemDao$delegate$lambda(this));
    var tmp_59 = this;
    tmp_59.c7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_DeletedItemDao$delegate$lambda(this));
    var tmp_60 = this;
    tmp_60.d7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_EnrolmentRequestDao$delegate$lambda(this));
    var tmp_61 = this;
    tmp_61.e7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_CoursePermissionDao$delegate$lambda(this));
    var tmp_62 = this;
    tmp_62.f7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_SystemPermissionDao$delegate$lambda(this));
    var tmp_63 = this;
    tmp_63.g7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_CourseBlockPictureDao$delegate$lambda(this));
    var tmp_64 = this;
    tmp_64.h7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_ContentEntryPicture2Dao$delegate$lambda(this));
    var tmp_65 = this;
    tmp_65.i7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_TransferJobErrorDao$delegate$lambda(this));
    var tmp_66 = this;
    tmp_66.j7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_StudentResultDao$delegate$lambda(this));
    var tmp_67 = this;
    tmp_67.k7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_VerbLangMapEntryDao$delegate$lambda(this));
    var tmp_68 = this;
    tmp_68.l7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_GroupMemberActorJoinDao$delegate$lambda(this));
    var tmp_69 = this;
    tmp_69.m7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_ActivityLangMapEntryDao$delegate$lambda(this));
    var tmp_70 = this;
    tmp_70.n7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_ActivityInteractionDao$delegate$lambda(this));
    var tmp_71 = this;
    tmp_71.o7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_ActivityExtensionDao$delegate$lambda(this));
    var tmp_72 = this;
    tmp_72.p7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_StatementContextActivityJoinDao$delegate$lambda(this));
    var tmp_73 = this;
    tmp_73.q7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_XapiSessionEntityDao$delegate$lambda(this));
    var tmp_74 = this;
    tmp_74.r7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_StatementEntityJsonDao$delegate$lambda(this));
    var tmp_75 = this;
    tmp_75.s7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_StateEntityDao$delegate$lambda(this));
    var tmp_76 = this;
    tmp_76.t7u_1 = lazy_0(UmAppDatabase_JdbcImpl$_StateDeleteCommandDao$delegate$lambda(this));
  }
  protoOf(UmAppDatabase_JdbcImpl).h5r = function () {
    return this.u7r_1;
  };
  protoOf(UmAppDatabase_JdbcImpl).p78 = function () {
    return 204;
  };
  protoOf(UmAppDatabase_JdbcImpl).f5q = function () {
    return this.v7r_1;
  };
  protoOf(UmAppDatabase_JdbcImpl).q5p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.w7r_1;
    realNodeIdAuthCache$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).a5p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.x7r_1;
    realPrimaryKeyManager$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).b5s = function () {
    return this.v7r_1.w5p_1;
  };
  protoOf(UmAppDatabase_JdbcImpl).f7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.y7r_1;
    _PersonDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).g7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.z7r_1;
    _ClazzDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).h7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.a7s_1;
    _CourseBlockDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).i7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.b7s_1;
    _CourseTerminologyDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).j7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.c7s_1;
    _CourseGroupSetDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).k7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.d7s_1;
    _CourseGroupMemberDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).l7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.e7s_1;
    _ClazzEnrolmentDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).m7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.f7s_1;
    _LeavingReasonDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).n7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.g7s_1;
    _ContentEntryDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).o7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.h7s_1;
    _ContentEntryContentCategoryJoinDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).p7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.i7s_1;
    _ContentEntryParentChildJoinDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).q7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.j7s_1;
    _ContentEntryRelatedEntryJoinDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).r7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.k7s_1;
    _ContentCategorySchemaDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).s7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.l7s_1;
    _ContentCategoryDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).t7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.m7s_1;
    _LanguageDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).u7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.n7s_1;
    _LanguageVariantDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).v7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.p7s_1;
    _PersonGroupDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).w7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.q7s_1;
    _PersonGroupMemberDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).x7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.r7s_1;
    _PersonPictureDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).y7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.s7s_1;
    _VerbDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).z7p = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.t7s_1;
    _ActivityEntityDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).a7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.u7s_1;
    _ReportDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).b7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.v7s_1;
    _StatementDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).c7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.w7s_1;
    _ActorDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).d7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.x7s_1;
    _ClazzLogAttendanceRecordDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).e7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.y7s_1;
    _ClazzLogDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).f7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.z7s_1;
    _ScheduleDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).g7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.a7t_1;
    _HolidayCalendarDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).h7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.b7t_1;
    _HolidayDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).i7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.c7t_1;
    _ClazzAssignmentDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).j7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.d7t_1;
    _CourseAssignmentSubmissionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).k7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.e7t_1;
    _CourseAssignmentSubmissionFileDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).l7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.f7t_1;
    _CourseAssignmentMarkDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).m7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.g7t_1;
    _CommentsDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).n7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.i7t_1;
    _SiteDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).o7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.j7t_1;
    _SiteTermsDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).p7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.k7t_1;
    _PersonParentJoinDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).q7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.l7t_1;
    _ScopedGrantDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).r7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.m7t_1;
    _ErrorReportDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).s7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.n7t_1;
    _PersonAuth2Dao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).t7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.o7t_1;
    _UserSessionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).u7u = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.p7t_1;
    _ContentEntryImportJobDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).u7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.q7t_1;
    _CoursePictureDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).v7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.r7t_1;
    _ContentEntryPictureDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).w7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.s7t_1;
    _MessageDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).x7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.t7t_1;
    _PeerReviewerAllocationDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).y7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.u7t_1;
    _DiscussionPostDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).z7q = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.w7t_1;
    _ContentEntryVersionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).v7u = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.y7t_1;
    _TransferJobDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).w7u = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.z7t_1;
    _TransferJobItemDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).a7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.b7u_1;
    _OfflineItemDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).x7u = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.c7u_1;
    _DeletedItemDao$factory();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).b7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.d7u_1;
    _EnrolmentRequestDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).c7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.e7u_1;
    _CoursePermissionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).d7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.f7u_1;
    _SystemPermissionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).e7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.g7u_1;
    _CourseBlockPictureDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).f7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.h7u_1;
    _ContentEntryPicture2Dao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).g7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.j7u_1;
    _StudentResultDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).h7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.k7u_1;
    _VerbLangMapEntryDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).i7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.l7u_1;
    _GroupMemberActorJoinDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).j7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.m7u_1;
    _ActivityLangMapEntryDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).k7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.n7u_1;
    _ActivityInteractionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).l7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.o7u_1;
    _ActivityExtensionDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).m7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.p7u_1;
    _StatementContextActivityJoinDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).n7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.q7u_1;
    _XapiSessionEntityDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).o7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.r7u_1;
    _StatementEntityJsonDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).p7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.s7u_1;
    _StateEntityDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).q7r = function () {
    // Inline function 'kotlin.getValue' call
    var this_0 = this.t7u_1;
    _StateDeleteCommandDao$factory_0();
    return this_0.t2();
  };
  protoOf(UmAppDatabase_JdbcImpl).v77 = function () {
    var _stmtList = mutableLinkedListOf([]);
    var tmp0_subject = this.v7r_1.x5p_1;
    if (tmp0_subject === 1) {
      // Inline function 'kotlin.collections.plusAssign' call
      var element = 'CREATE TABLE IF NOT EXISTS _doorwayinfo (dbVersion int primary key, dbHash varchar(255))';
      _stmtList.i1(element);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_0 = "INSERT INTO _doorwayinfo VALUES (204, '')";
      _stmtList.i1(element_0);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_1 = 'CREATE TABLE IF NOT EXISTS ClazzLog (  clazzLogClazzUid  INTEGER  NOT NULL , logDate  INTEGER  NOT NULL , timeRecorded  INTEGER  NOT NULL , clazzLogDone  INTEGER  NOT NULL , cancellationNote  TEXT , clazzLogCancelled  INTEGER  NOT NULL , clazzLogNumPresent  INTEGER  NOT NULL , clazzLogNumAbsent  INTEGER  NOT NULL , clazzLogNumPartial  INTEGER  NOT NULL , clazzLogScheduleUid  INTEGER  NOT NULL , clazzLogStatusFlag  INTEGER  NOT NULL , clazzLogMSQN  INTEGER  NOT NULL , clazzLogLCSN  INTEGER  NOT NULL , clazzLogLCB  INTEGER  NOT NULL , clazzLogLastChangedTime  INTEGER  NOT NULL , clazzLogUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_1);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_2 = 'CREATE TABLE IF NOT EXISTS ClazzLogAttendanceRecord (  clazzLogAttendanceRecordClazzLogUid  INTEGER  NOT NULL , clazzLogAttendanceRecordPersonUid  INTEGER  NOT NULL , attendanceStatus  INTEGER  NOT NULL , clazzLogAttendanceRecordMasterChangeSeqNum  INTEGER  NOT NULL , clazzLogAttendanceRecordLocalChangeSeqNum  INTEGER  NOT NULL , clazzLogAttendanceRecordLastChangedBy  INTEGER  NOT NULL , clazzLogAttendanceRecordLastChangedTime  INTEGER  NOT NULL , clazzLogAttendanceRecordUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_2);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_3 = 'CREATE TABLE IF NOT EXISTS Schedule (  sceduleStartTime  INTEGER  NOT NULL , scheduleEndTime  INTEGER  NOT NULL , scheduleDay  INTEGER  NOT NULL , scheduleMonth  INTEGER  NOT NULL , scheduleFrequency  INTEGER  NOT NULL , umCalendarUid  INTEGER  NOT NULL , scheduleClazzUid  INTEGER  NOT NULL , scheduleMasterChangeSeqNum  INTEGER  NOT NULL , scheduleLocalChangeSeqNum  INTEGER  NOT NULL , scheduleLastChangedBy  INTEGER  NOT NULL , scheduleLastChangedTime  INTEGER  NOT NULL , scheduleActive  INTEGER  NOT NULL , scheduleUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_3);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_4 = 'CREATE TABLE IF NOT EXISTS HolidayCalendar (  umCalendarName  TEXT , umCalendarCategory  INTEGER  NOT NULL , umCalendarActive  INTEGER  NOT NULL , umCalendarMasterChangeSeqNum  INTEGER  NOT NULL , umCalendarLocalChangeSeqNum  INTEGER  NOT NULL , umCalendarLastChangedBy  INTEGER  NOT NULL , umCalendarLct  INTEGER  NOT NULL , umCalendarUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_4);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_5 = 'CREATE TABLE IF NOT EXISTS Holiday (  holMasterCsn  INTEGER  NOT NULL , holLocalCsn  INTEGER  NOT NULL , holLastModBy  INTEGER  NOT NULL , holLct  INTEGER  NOT NULL , holActive  INTEGER  NOT NULL , holHolidayCalendarUid  INTEGER  NOT NULL , holStartTime  INTEGER  NOT NULL , holEndTime  INTEGER  NOT NULL , holName  TEXT , holUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_5);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_6 = 'CREATE TABLE IF NOT EXISTS Person (  username  TEXT , firstNames  TEXT , lastName  TEXT , emailAddr  TEXT , phoneNum  TEXT , gender  INTEGER  NOT NULL , active  INTEGER  NOT NULL , dateOfBirth  INTEGER  NOT NULL , personAddress  TEXT , personOrgId  TEXT , personGroupUid  INTEGER  NOT NULL , personLct  INTEGER  NOT NULL , personCountry  TEXT , personType  INTEGER  NOT NULL  DEFAULT 0 , personMasterChangeSeqNum  INTEGER  NOT NULL , personLocalChangeSeqNum  INTEGER  NOT NULL , personLastChangedBy  INTEGER  NOT NULL , admin  INTEGER  NOT NULL , personNotes  TEXT , fatherName  TEXT , fatherNumber  TEXT , motherName  TEXT , motherNum  TEXT , personUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_6);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_7 = 'CREATE TABLE IF NOT EXISTS Clazz (  clazzName  TEXT , clazzDesc  TEXT , attendanceAverage  REAl  NOT NULL , clazzHolidayUMCalendarUid  INTEGER  NOT NULL , clazzScheuleUMCalendarUid  INTEGER  NOT NULL , isClazzActive  INTEGER  NOT NULL , clazzLocationUid  INTEGER  NOT NULL , clazzStartTime  INTEGER  NOT NULL , clazzEndTime  INTEGER  NOT NULL , clazzFeatures  INTEGER  NOT NULL , clazzSchoolUid  INTEGER  NOT NULL , clazzEnrolmentPolicy  INTEGER  NOT NULL  DEFAULT 102 , clazzTerminologyUid  INTEGER  NOT NULL  DEFAULT 25966 , clazzMasterChangeSeqNum  INTEGER  NOT NULL , clazzLocalChangeSeqNum  INTEGER  NOT NULL , clazzLastChangedBy  INTEGER  NOT NULL , clazzLct  INTEGER  NOT NULL , clazzTimeZone  TEXT , clazzStudentsPersonGroupUid  INTEGER  NOT NULL , clazzTeachersPersonGroupUid  INTEGER  NOT NULL , clazzPendingStudentsPersonGroupUid  INTEGER  NOT NULL , clazzParentsPersonGroupUid  INTEGER  NOT NULL , clazzCode  TEXT , clazzOwnerPersonUid  INTEGER  NOT NULL  DEFAULT 0 , clazzUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_7);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_8 = 'CREATE TABLE IF NOT EXISTS ClazzEnrolment (  clazzEnrolmentPersonUid  INTEGER  NOT NULL , clazzEnrolmentClazzUid  INTEGER  NOT NULL , clazzEnrolmentDateJoined  INTEGER  NOT NULL , clazzEnrolmentDateLeft  INTEGER  NOT NULL , clazzEnrolmentRole  INTEGER  NOT NULL , clazzEnrolmentAttendancePercentage  REAl  NOT NULL , clazzEnrolmentActive  INTEGER  NOT NULL , clazzEnrolmentLeavingReasonUid  INTEGER  NOT NULL , clazzEnrolmentOutcome  INTEGER  NOT NULL , clazzEnrolmentLocalChangeSeqNum  INTEGER  NOT NULL , clazzEnrolmentMasterChangeSeqNum  INTEGER  NOT NULL , clazzEnrolmentLastChangedBy  INTEGER  NOT NULL , clazzEnrolmentLct  INTEGER  NOT NULL , clazzEnrolmentUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_8);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_9 = 'CREATE INDEX index_ClazzEnrolment_clazzEnrolmentPersonUid_clazzEnrolmentClazzUid ON ClazzEnrolment (clazzEnrolmentPersonUid, clazzEnrolmentClazzUid)';
      _stmtList.i1(element_9);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_10 = 'CREATE INDEX index_ClazzEnrolment_clazzEnrolmentClazzUid_clazzEnrolmentPersonUid ON ClazzEnrolment (clazzEnrolmentClazzUid, clazzEnrolmentPersonUid)';
      _stmtList.i1(element_10);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_11 = 'CREATE INDEX index_ClazzEnrolment_clazzEnrolmentClazzUid_clazzEnrolmentRole ON ClazzEnrolment (clazzEnrolmentClazzUid, clazzEnrolmentRole)';
      _stmtList.i1(element_11);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_12 = 'CREATE TABLE IF NOT EXISTS LeavingReason (  leavingReasonTitle  TEXT , leavingReasonMCSN  INTEGER  NOT NULL , leavingReasonCSN  INTEGER  NOT NULL , leavingReasonLCB  INTEGER  NOT NULL , leavingReasonLct  INTEGER  NOT NULL , leavingReasonUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_12);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_13 = 'CREATE TABLE IF NOT EXISTS ContentEntry (  title  TEXT , description  TEXT , entryId  TEXT , author  TEXT , publisher  TEXT , licenseType  INTEGER  NOT NULL , licenseName  TEXT , licenseUrl  TEXT , sourceUrl  TEXT , thumbnailUrl  TEXT , lastModified  INTEGER  NOT NULL , primaryLanguageUid  INTEGER  NOT NULL , languageVariantUid  INTEGER  NOT NULL , contentFlags  INTEGER  NOT NULL , leaf  INTEGER  NOT NULL , publik  INTEGER  NOT NULL , ceInactive  INTEGER  NOT NULL , completionCriteria  INTEGER  NOT NULL , minScore  INTEGER  NOT NULL , contentTypeFlag  INTEGER  NOT NULL , contentOwner  INTEGER  NOT NULL , contentOwnerType  INTEGER  NOT NULL  DEFAULT 1 , contentEntryLocalChangeSeqNum  INTEGER  NOT NULL , contentEntryMasterChangeSeqNum  INTEGER  NOT NULL , contentEntryLastChangedBy  INTEGER  NOT NULL , contentEntryLct  INTEGER  NOT NULL , contentEntryUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_13);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_14 = 'CREATE TABLE IF NOT EXISTS ContentEntryContentCategoryJoin (  ceccjContentEntryUid  INTEGER  NOT NULL , ceccjContentCategoryUid  INTEGER  NOT NULL , ceccjLocalChangeSeqNum  INTEGER  NOT NULL , ceccjMasterChangeSeqNum  INTEGER  NOT NULL , ceccjLastChangedBy  INTEGER  NOT NULL , ceccjLct  INTEGER  NOT NULL , ceccjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_14);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_15 = 'CREATE TABLE IF NOT EXISTS ContentEntryParentChildJoin (  cepcjLocalChangeSeqNum  INTEGER  NOT NULL , cepcjMasterChangeSeqNum  INTEGER  NOT NULL , cepcjLastChangedBy  INTEGER  NOT NULL , cepcjLct  INTEGER  NOT NULL , cepcjDeleted  INTEGER  NOT NULL  DEFAULT 0 , cepcjParentContentEntryUid  INTEGER  NOT NULL , cepcjChildContentEntryUid  INTEGER  NOT NULL , childIndex  INTEGER  NOT NULL , cepcjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_15);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_16 = 'CREATE INDEX parent_child ON ContentEntryParentChildJoin (cepcjChildContentEntryUid, cepcjParentContentEntryUid)';
      _stmtList.i1(element_16);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_17 = 'CREATE TABLE IF NOT EXISTS ContentEntryRelatedEntryJoin (  cerejContentEntryUid  INTEGER  NOT NULL , cerejRelatedEntryUid  INTEGER  NOT NULL , cerejLastChangedBy  INTEGER  NOT NULL , relType  INTEGER  NOT NULL , comment  TEXT , cerejRelLanguageUid  INTEGER  NOT NULL , cerejLocalChangeSeqNum  INTEGER  NOT NULL , cerejMasterChangeSeqNum  INTEGER  NOT NULL , cerejLct  INTEGER  NOT NULL , cerejUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_17);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_18 = 'CREATE TABLE IF NOT EXISTS ContentCategorySchema (  schemaName  TEXT , schemaUrl  TEXT , contentCategorySchemaLocalChangeSeqNum  INTEGER  NOT NULL , contentCategorySchemaMasterChangeSeqNum  INTEGER  NOT NULL , contentCategorySchemaLastChangedBy  INTEGER  NOT NULL , contentCategorySchemaLct  INTEGER  NOT NULL , contentCategorySchemaUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_18);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_19 = 'CREATE TABLE IF NOT EXISTS ContentCategory (  ctnCatContentCategorySchemaUid  INTEGER  NOT NULL , name  TEXT , contentCategoryLocalChangeSeqNum  INTEGER  NOT NULL , contentCategoryMasterChangeSeqNum  INTEGER  NOT NULL , contentCategoryLastChangedBy  INTEGER  NOT NULL , contentCategoryLct  INTEGER  NOT NULL , contentCategoryUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_19);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_20 = 'CREATE TABLE IF NOT EXISTS Language (  name  TEXT , iso_639_1_standard  TEXT , iso_639_2_standard  TEXT , iso_639_3_standard  TEXT , Language_Type  TEXT , languageActive  INTEGER  NOT NULL , langLocalChangeSeqNum  INTEGER  NOT NULL , langMasterChangeSeqNum  INTEGER  NOT NULL , langLastChangedBy  INTEGER  NOT NULL , langLct  INTEGER  NOT NULL , langUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_20);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_21 = 'CREATE TABLE IF NOT EXISTS LanguageVariant (  langUid  INTEGER  NOT NULL , countryCode  TEXT , name  TEXT , langVariantLocalChangeSeqNum  INTEGER  NOT NULL , langVariantMasterChangeSeqNum  INTEGER  NOT NULL , langVariantLastChangedBy  INTEGER  NOT NULL , langVariantLct  INTEGER  NOT NULL , langVariantUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_21);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_22 = 'CREATE TABLE IF NOT EXISTS PersonAuth (  passwordHash  TEXT , personAuthStatus  INTEGER  NOT NULL , personAuthUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_22);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_23 = 'CREATE TABLE IF NOT EXISTS PersonGroup (  groupMasterCsn  INTEGER  NOT NULL , groupLocalCsn  INTEGER  NOT NULL , groupLastChangedBy  INTEGER  NOT NULL , groupLct  INTEGER  NOT NULL , groupName  TEXT , groupActive  INTEGER  NOT NULL , personGroupFlag  INTEGER  NOT NULL , groupUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_23);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_24 = 'CREATE TABLE IF NOT EXISTS PersonGroupMember (  groupMemberActive  INTEGER  NOT NULL , groupMemberPersonUid  INTEGER  NOT NULL , groupMemberGroupUid  INTEGER  NOT NULL , groupMemberMasterCsn  INTEGER  NOT NULL , groupMemberLocalCsn  INTEGER  NOT NULL , groupMemberLastChangedBy  INTEGER  NOT NULL , groupMemberLct  INTEGER  NOT NULL , groupMemberUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_24);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_25 = 'CREATE TABLE IF NOT EXISTS PersonPicture (  personPictureLct  INTEGER  NOT NULL , personPictureUri  TEXT , personPictureThumbnailUri  TEXT , fileSize  INTEGER  NOT NULL , personPictureActive  INTEGER  NOT NULL , personPictureUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_25);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_26 = 'CREATE TABLE IF NOT EXISTS VerbEntity (  verbUid  INTEGER  PRIMARY KEY  NOT NULL , verbUrlId  TEXT , verbDeleted  INTEGER  NOT NULL , verbLct  INTEGER  NOT NULL )';
      _stmtList.i1(element_26);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_27 = 'CREATE TABLE IF NOT EXISTS ActivityEntity (  actUid  INTEGER  PRIMARY KEY  NOT NULL , actIdIri  TEXT , actType  TEXT , actMoreInfo  TEXT , actInteractionType  INTEGER  NOT NULL , actCorrectResponsePatterns  TEXT , actLct  INTEGER  NOT NULL )';
      _stmtList.i1(element_27);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_28 = 'CREATE TABLE IF NOT EXISTS StatementEntity (  statementIdHi  INTEGER  NOT NULL , statementIdLo  INTEGER  NOT NULL , statementActorPersonUid  INTEGER  NOT NULL , statementVerbUid  INTEGER  NOT NULL , statementObjectType  INTEGER  NOT NULL , statementObjectUid1  INTEGER  NOT NULL , statementObjectUid2  INTEGER  NOT NULL , statementActorUid  INTEGER  NOT NULL , authorityActorUid  INTEGER  NOT NULL , teamUid  INTEGER  NOT NULL , resultCompletion  INTEGER , resultSuccess  INTEGER , resultScoreScaled  REAl , resultScoreRaw  REAl , resultScoreMin  REAl , resultScoreMax  REAl , resultDuration  INTEGER , resultResponse  TEXT , timestamp  INTEGER  NOT NULL , stored  INTEGER  NOT NULL , contextRegistrationHi  INTEGER  NOT NULL , contextRegistrationLo  INTEGER  NOT NULL , contextPlatform  TEXT , contextStatementRefIdHi  INTEGER  NOT NULL , contextStatementRefIdLo  INTEGER  NOT NULL , contextInstructorActorUid  INTEGER  NOT NULL , statementLct  INTEGER  NOT NULL , extensionProgress  INTEGER , completionOrProgress  INTEGER  NOT NULL , statementContentEntryUid  INTEGER  NOT NULL , statementLearnerGroupUid  INTEGER  NOT NULL , statementClazzUid  INTEGER  NOT NULL , statementCbUid  INTEGER  NOT NULL , statementDoorNode  INTEGER  NOT NULL , isSubStatement  INTEGER  NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )';
      _stmtList.i1(element_28);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_29 = 'CREATE INDEX idx_stmt_actor_person ON StatementEntity (statementActorPersonUid)';
      _stmtList.i1(element_29);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_30 = 'CREATE INDEX idx_statement_clazz_person ON StatementEntity (statementClazzUid, statementActorPersonUid)';
      _stmtList.i1(element_30);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_31 = 'CREATE INDEX idx_statement_cbuid_actor ON StatementEntity (statementCbUid, statementActorUid)';
      _stmtList.i1(element_31);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_32 = 'CREATE TABLE IF NOT EXISTS ActorEntity (  actorPersonUid  INTEGER  NOT NULL , actorName  TEXT , actorMbox  TEXT , actorMbox_sha1sum  TEXT , actorOpenid  TEXT , actorAccountName  TEXT , actorAccountHomePage  TEXT , actorEtag  INTEGER  NOT NULL , actorLct  INTEGER  NOT NULL , actorObjectType  INTEGER  NOT NULL , actorUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_32);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_33 = 'CREATE INDEX idx_actorentity_uid_personuid ON ActorEntity (actorPersonUid)';
      _stmtList.i1(element_33);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_34 = 'CREATE INDEX idx_actorentity_actorobjecttype ON ActorEntity (actorObjectType)';
      _stmtList.i1(element_34);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_35 = 'CREATE TABLE IF NOT EXISTS SyncNode (  nodeClientId  INTEGER  NOT NULL , PRIMARY KEY (nodeClientId) )';
      _stmtList.i1(element_35);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_36 = 'CREATE TABLE IF NOT EXISTS Comments (  commentsText  TEXT , commentsEntityUid  INTEGER  NOT NULL , commentsStatus  INTEGER  NOT NULL , commentsFromPersonUid  INTEGER  NOT NULL , commentsForSubmitterUid  INTEGER  NOT NULL , commentsFromSubmitterUid  INTEGER  NOT NULL , commentsFlagged  INTEGER  NOT NULL , commentsDeleted  INTEGER  NOT NULL , commentsDateTimeAdded  INTEGER  NOT NULL , commentsLct  INTEGER  NOT NULL , commentsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_36);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_37 = 'CREATE INDEX idx_comments_entity_submitter ON Comments (commentsEntityUid, commentsForSubmitterUid)';
      _stmtList.i1(element_37);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_38 = 'CREATE TABLE IF NOT EXISTS Report (  reportOwnerUid  INTEGER  NOT NULL , xAxis  INTEGER  NOT NULL , reportDateRangeSelection  INTEGER  NOT NULL , fromDate  INTEGER  NOT NULL , fromRelTo  INTEGER  NOT NULL , fromRelOffSet  INTEGER  NOT NULL , fromRelUnit  INTEGER  NOT NULL , toDate  INTEGER  NOT NULL , toRelTo  INTEGER  NOT NULL , toRelOffSet  INTEGER  NOT NULL , toRelUnit  INTEGER  NOT NULL , reportTitle  TEXT , reportDescription  TEXT , reportSeries  TEXT , reportInactive  INTEGER  NOT NULL , isTemplate  INTEGER  NOT NULL , priority  INTEGER  NOT NULL , reportTitleId  INTEGER  NOT NULL , reportDescId  INTEGER  NOT NULL , reportMasterChangeSeqNum  INTEGER  NOT NULL , reportLocalChangeSeqNum  INTEGER  NOT NULL , reportLastChangedBy  INTEGER  NOT NULL , reportLct  INTEGER  NOT NULL , reportUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_38);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_39 = 'CREATE TABLE IF NOT EXISTS Site (  sitePcsn  INTEGER  NOT NULL , siteLcsn  INTEGER  NOT NULL , siteLcb  INTEGER  NOT NULL , siteLct  INTEGER  NOT NULL , siteName  TEXT , guestLogin  INTEGER  NOT NULL , registrationAllowed  INTEGER  NOT NULL , authSalt  TEXT , siteUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_39);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_40 = 'CREATE TABLE IF NOT EXISTS SiteTerms (  termsHtml  TEXT , sTermsLang  TEXT , sTermsLangUid  INTEGER  NOT NULL , sTermsActive  INTEGER  NOT NULL , sTermsLastChangedBy  INTEGER  NOT NULL , sTermsPrimaryCsn  INTEGER  NOT NULL , sTermsLocalCsn  INTEGER  NOT NULL , sTermsLct  INTEGER  NOT NULL , sTermsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_40);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_41 = 'CREATE TABLE IF NOT EXISTS PersonParentJoin (  ppjPcsn  INTEGER  NOT NULL , ppjLcsn  INTEGER  NOT NULL , ppjLcb  INTEGER  NOT NULL , ppjLct  INTEGER  NOT NULL , ppjParentPersonUid  INTEGER  NOT NULL , ppjMinorPersonUid  INTEGER  NOT NULL , ppjRelationship  INTEGER  NOT NULL , ppjEmail  TEXT , ppjPhone  TEXT , ppjInactive  INTEGER  NOT NULL , ppjStatus  INTEGER  NOT NULL , ppjApprovalTiemstamp  INTEGER  NOT NULL , ppjApprovalIpAddr  TEXT , ppjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_41);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_42 = 'CREATE TABLE IF NOT EXISTS ScopedGrant (  sgPcsn  INTEGER  NOT NULL , sgLcsn  INTEGER  NOT NULL , sgLcb  INTEGER  NOT NULL , sgLct  INTEGER  NOT NULL , sgTableId  INTEGER  NOT NULL , sgEntityUid  INTEGER  NOT NULL , sgPermissions  INTEGER  NOT NULL , sgGroupUid  INTEGER  NOT NULL , sgIndex  INTEGER  NOT NULL , sgFlags  INTEGER  NOT NULL , sgUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_42);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_43 = 'CREATE INDEX idx_group_to_entity ON ScopedGrant (sgGroupUid, sgPermissions, sgTableId, sgEntityUid)';
      _stmtList.i1(element_43);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_44 = 'CREATE INDEX idx_entity_to_group ON ScopedGrant (sgTableId, sgEntityUid, sgPermissions, sgGroupUid)';
      _stmtList.i1(element_44);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_45 = 'CREATE TABLE IF NOT EXISTS ErrorReport (  errPcsn  INTEGER  NOT NULL , errLcsn  INTEGER  NOT NULL , errLcb  INTEGER  NOT NULL , errLct  INTEGER  NOT NULL , severity  INTEGER  NOT NULL , timestamp  INTEGER  NOT NULL , presenterUri  TEXT , appVersion  TEXT , versionCode  INTEGER  NOT NULL , errorCode  INTEGER  NOT NULL , operatingSys  TEXT , osVersion  TEXT , stackTrace  TEXT , message  TEXT , errUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_45);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_46 = 'CREATE TABLE IF NOT EXISTS ClazzAssignment (  caTitle  TEXT , caDescription  TEXT , caGroupUid  INTEGER  NOT NULL  DEFAULT 0 , caActive  INTEGER  NOT NULL , caClassCommentEnabled  INTEGER  NOT NULL , caPrivateCommentsEnabled  INTEGER  NOT NULL  DEFAULT 1 , caCompletionCriteria  INTEGER  NOT NULL  DEFAULT 100 , caRequireFileSubmission  INTEGER  NOT NULL  DEFAULT 1 , caFileType  INTEGER  NOT NULL  DEFAULT 0 , caSizeLimit  INTEGER  NOT NULL  DEFAULT 50 , caNumberOfFiles  INTEGER  NOT NULL  DEFAULT 1 , caSubmissionPolicy  INTEGER  NOT NULL  DEFAULT 1 , caMarkingType  INTEGER  NOT NULL  DEFAULT 1 , caRequireTextSubmission  INTEGER  NOT NULL  DEFAULT 1 , caTextLimitType  INTEGER  NOT NULL  DEFAULT 1 , caTextLimit  INTEGER  NOT NULL  DEFAULT 500 , caXObjectUid  INTEGER  NOT NULL  DEFAULT 0 , caClazzUid  INTEGER  NOT NULL , caPeerReviewerCount  INTEGER  NOT NULL  DEFAULT 0 , caLocalChangeSeqNum  INTEGER  NOT NULL , caMasterChangeSeqNum  INTEGER  NOT NULL , caLastChangedBy  INTEGER  NOT NULL , caLct  INTEGER  NOT NULL , caUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_46);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_47 = 'CREATE TABLE IF NOT EXISTS CourseAssignmentSubmission (  casAssignmentUid  INTEGER  NOT NULL , casSubmitterUid  INTEGER  NOT NULL , casSubmitterPersonUid  INTEGER  NOT NULL , casText  TEXT , casType  INTEGER  NOT NULL , casTimestamp  INTEGER  NOT NULL , casClazzUid  INTEGER  NOT NULL  DEFAULT 0 , casUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_47);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_48 = 'CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile (  casaSubmissionUid  INTEGER  NOT NULL , casaSubmitterUid  INTEGER  NOT NULL  DEFAULT 0 , casaCaUid  INTEGER  NOT NULL , casaClazzUid  INTEGER  NOT NULL , casaMimeType  TEXT , casaFileName  TEXT , casaUri  TEXT , casaSize  INTEGER  NOT NULL , casaTimestamp  INTEGER  NOT NULL , casaDeleted  INTEGER  NOT NULL  DEFAULT 0 , casaUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_48);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_49 = 'CREATE TABLE IF NOT EXISTS CourseAssignmentMark (  camAssignmentUid  INTEGER  NOT NULL , camSubmitterUid  INTEGER  NOT NULL , camMarkerSubmitterUid  INTEGER  NOT NULL  DEFAULT 0 , camMarkerPersonUid  INTEGER  NOT NULL  DEFAULT 0 , camMarkerComment  TEXT , camMark  REAl  NOT NULL , camMaxMark  REAl  NOT NULL  DEFAULT 1 , camPenalty  REAl  NOT NULL , camLct  INTEGER  NOT NULL , camClazzUid  INTEGER  NOT NULL  DEFAULT 0 , camUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_49);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_50 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (  praMarkerSubmitterUid  INTEGER  NOT NULL , praToMarkerSubmitterUid  INTEGER  NOT NULL , praAssignmentUid  INTEGER  NOT NULL , praActive  INTEGER  NOT NULL , praLct  INTEGER  NOT NULL , praUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_50);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_51 = 'CREATE TABLE IF NOT EXISTS PersonAuth2 (  pauthUid  INTEGER  PRIMARY KEY  NOT NULL , pauthMechanism  TEXT , pauthAuth  TEXT , pauthLcsn  INTEGER  NOT NULL , pauthPcsn  INTEGER  NOT NULL , pauthLcb  INTEGER  NOT NULL , pauthLct  INTEGER  NOT NULL )';
      _stmtList.i1(element_51);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_52 = 'CREATE TABLE IF NOT EXISTS UserSession (  usPcsn  INTEGER  NOT NULL , usLcsn  INTEGER  NOT NULL , usLcb  INTEGER  NOT NULL , usLct  INTEGER  NOT NULL , usPersonUid  INTEGER  NOT NULL , usClientNodeId  INTEGER  NOT NULL , usStartTime  INTEGER  NOT NULL , usEndTime  INTEGER  NOT NULL , usStatus  INTEGER  NOT NULL , usReason  INTEGER  NOT NULL , usAuth  TEXT , usSessionType  INTEGER  NOT NULL , usUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_52);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_53 = 'CREATE INDEX person_status_node_idx ON UserSession (usPersonUid, usStatus, usClientNodeId)';
      _stmtList.i1(element_53);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_54 = 'CREATE INDEX node_status_person_idx ON UserSession (usClientNodeId, usStatus, usPersonUid)';
      _stmtList.i1(element_54);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_55 = 'CREATE TABLE IF NOT EXISTS ContentJob (  toUri  TEXT , cjProgress  INTEGER  NOT NULL , cjTotal  INTEGER  NOT NULL , cjNotificationTitle  TEXT , cjIsMeteredAllowed  INTEGER  NOT NULL , params  TEXT , cjLct  INTEGER  NOT NULL , cjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_55);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_56 = 'CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiCompressionLevel  INTEGER  NOT NULL  DEFAULT 3 , cjiError  TEXT , cjiErrorDismissed  INTEGER  NOT NULL , cjiOwnerPersonUid  INTEGER  NOT NULL , cjiParams  TEXT , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_56);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_57 = 'CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)';
      _stmtList.i1(element_57);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_58 = 'CREATE TABLE IF NOT EXISTS CourseBlock (  cbType  INTEGER  NOT NULL , cbIndentLevel  INTEGER  NOT NULL , cbModuleParentBlockUid  INTEGER  NOT NULL , cbTitle  TEXT , cbDescription  TEXT , cbCompletionCriteria  INTEGER  NOT NULL , cbHideUntilDate  INTEGER  NOT NULL , cbDeadlineDate  INTEGER  NOT NULL , cbLateSubmissionPenalty  INTEGER  NOT NULL , cbGracePeriodDate  INTEGER  NOT NULL , cbMaxPoints  REAl , cbMinPoints  REAl , cbIndex  INTEGER  NOT NULL , cbClazzUid  INTEGER  NOT NULL , cbClazzSourcedId  TEXT , cbActive  INTEGER  NOT NULL , cbHidden  INTEGER  NOT NULL , cbEntityUid  INTEGER  NOT NULL , cbLct  INTEGER  NOT NULL , cbSourcedId  TEXT , cbMetadata  TEXT , cbCreatedByAppId  TEXT , cbUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_58);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_59 = 'CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)';
      _stmtList.i1(element_59);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_60 = 'CREATE TABLE IF NOT EXISTS CourseTerminology (  ctTitle  TEXT , ctTerminology  TEXT , ctLct  INTEGER  NOT NULL , ctUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_60);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_61 = 'CREATE TABLE IF NOT EXISTS CourseGroupSet (  cgsName  TEXT , cgsTotalGroups  INTEGER  NOT NULL , cgsActive  INTEGER  NOT NULL , cgsClazzUid  INTEGER  NOT NULL , cgsLct  INTEGER  NOT NULL , cgsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_61);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_62 = 'CREATE TABLE IF NOT EXISTS CourseGroupMember (  cgmSetUid  INTEGER  NOT NULL , cgmGroupNumber  INTEGER  NOT NULL , cgmPersonUid  INTEGER  NOT NULL , cgmLct  INTEGER  NOT NULL , cgmUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_62);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_63 = 'CREATE TABLE IF NOT EXISTS ContentEntryPicture (  cepContentEntryUid  INTEGER  NOT NULL , cepUri  TEXT , cepMd5  TEXT , cepFileSize  INTEGER  NOT NULL , cepTimestamp  INTEGER  NOT NULL , cepMimeType  TEXT , cepActive  INTEGER  NOT NULL , cepUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_63);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_64 = 'CREATE TABLE IF NOT EXISTS ActivityInteractionEntity (  aieActivityUid  INTEGER  NOT NULL , aieHash  INTEGER  NOT NULL , aieProp  INTEGER  NOT NULL , aieId  TEXT , aieLastMod  INTEGER  NOT NULL , aieIsDeleted  INTEGER  NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )';
      _stmtList.i1(element_64);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_65 = 'CREATE TABLE IF NOT EXISTS CoursePicture (  coursePictureLct  INTEGER  NOT NULL , coursePictureUri  TEXT , coursePictureThumbnailUri  TEXT , coursePictureActive  INTEGER  NOT NULL , coursePictureUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_65);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_66 = 'CREATE TABLE IF NOT EXISTS DiscussionPost (  discussionPostReplyToPostUid  INTEGER  NOT NULL , discussionPostTitle  TEXT , discussionPostMessage  TEXT , discussionPostStartDate  INTEGER  NOT NULL , discussionPostCourseBlockUid  INTEGER  NOT NULL , dpDeleted  INTEGER  NOT NULL , discussionPostStartedPersonUid  INTEGER  NOT NULL , discussionPostClazzUid  INTEGER  NOT NULL , discussionPostLct  INTEGER  NOT NULL , discussionPostVisible  INTEGER  NOT NULL , discussionPostArchive  INTEGER  NOT NULL , discussionPostUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_66);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_67 = 'CREATE TABLE IF NOT EXISTS ExternalAppPermission (  eapPersonUid  INTEGER  NOT NULL , eapPackageId  TEXT , eapStartTime  INTEGER  NOT NULL , eapExpireTime  INTEGER  NOT NULL , eapAuthToken  TEXT , eapAndroidAccountName  TEXT , eapUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_67);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_68 = 'CREATE TABLE IF NOT EXISTS Message (  messageSenderPersonUid  INTEGER  NOT NULL , messageToPersonUid  INTEGER  NOT NULL , messageText  TEXT , messageTimestamp  INTEGER  NOT NULL , messageLct  INTEGER  NOT NULL , messageUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_68);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_69 = 'CREATE INDEX message_idx_send_to_time ON Message (messageSenderPersonUid, messageToPersonUid, messageTimestamp)';
      _stmtList.i1(element_69);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_70 = 'CREATE TABLE IF NOT EXISTS StudentResult (  srUid  INTEGER  PRIMARY KEY  NOT NULL , srSourcedId  TEXT , srCourseBlockUid  INTEGER  NOT NULL , srLineItemSourcedId  TEXT , srLineItemHref  TEXT , srClazzUid  INTEGER  NOT NULL , srAssignmentUid  INTEGER  NOT NULL , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  INTEGER  NOT NULL , srStudentPersonSourcedId  TEXT , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  INTEGER  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  REAl  NOT NULL , srScoreDate  INTEGER  NOT NULL , srLastModified  INTEGER  NOT NULL , srComment  TEXT , srAppId  TEXT , srDeleted  INTEGER  NOT NULL )';
      _stmtList.i1(element_70);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_71 = 'CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevOpenUri  TEXT , cevContentType  TEXT , cevManifestUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevStorageSize  INTEGER  NOT NULL  DEFAULT 0 , cevOriginalSize  INTEGER  NOT NULL  DEFAULT 0 , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_71);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_72 = 'CREATE TABLE IF NOT EXISTS TransferJob (  tjType  INTEGER  NOT NULL , tjStatus  INTEGER  NOT NULL , tjName  TEXT , tjUuid  TEXT , tjTableId  INTEGER  NOT NULL  DEFAULT 0 , tjEntityUid  INTEGER  NOT NULL  DEFAULT 0 , tjTimeCreated  INTEGER  NOT NULL  DEFAULT 0 , tjCreationType  INTEGER  NOT NULL  DEFAULT 0 , tjOiUid  INTEGER  NOT NULL  DEFAULT 0 , tjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_72);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_73 = 'CREATE INDEX TransferJob_idx_tjTableId_EntityUid ON TransferJob (tjTableId, tjEntityUid)';
      _stmtList.i1(element_73);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_74 = 'CREATE TABLE IF NOT EXISTS TransferJobItem (  tjiTjUid  INTEGER  NOT NULL , tjTotalSize  INTEGER  NOT NULL , tjTransferred  INTEGER  NOT NULL , tjAttemptCount  INTEGER  NOT NULL , tjiSrc  TEXT , tjiDest  TEXT , tjiType  INTEGER  NOT NULL , tjiStatus  INTEGER  NOT NULL , tjiTableId  INTEGER  NOT NULL , tjiEntityUid  INTEGER  NOT NULL , tjiEntityEtag  INTEGER  NOT NULL  DEFAULT 0 , tjiLockIdToRelease  INTEGER  NOT NULL  DEFAULT 0 , tjiPartialTmpFile  TEXT , tjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_74);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_75 = 'CREATE INDEX tji_table_entity_etag ON TransferJobItem (tjiTableId, tjiEntityUid, tjiEntityEtag)';
      _stmtList.i1(element_75);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_76 = 'CREATE INDEX transferjob_tjuid ON TransferJobItem (tjiTjUid)';
      _stmtList.i1(element_76);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_77 = 'CREATE TABLE IF NOT EXISTS CacheLockJoin (  cljTableId  INTEGER  NOT NULL , cljEntityUid  INTEGER  NOT NULL , cljUrl  TEXT , cljLockId  INTEGER  NOT NULL , cljStatus  INTEGER  NOT NULL , cljType  INTEGER  NOT NULL , cljOiUid  INTEGER  NOT NULL  DEFAULT 0 , cljId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_77);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_78 = 'CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)';
      _stmtList.i1(element_78);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_79 = 'CREATE INDEX idx_clj_offline_item_uid ON CacheLockJoin (cljOiUid)';
      _stmtList.i1(element_79);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_80 = 'CREATE TABLE IF NOT EXISTS OfflineItem (  oiNodeId  INTEGER  NOT NULL , oiClazzUid  INTEGER  NOT NULL , oiCourseBlockUid  INTEGER  NOT NULL , oiContentEntryUid  INTEGER  NOT NULL , oiActive  INTEGER  NOT NULL , oiLct  INTEGER  NOT NULL , oiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_80);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_81 = 'CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)';
      _stmtList.i1(element_81);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_82 = 'CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob (  oiptjOiUid  INTEGER  NOT NULL , oiptjTableId  INTEGER  NOT NULL , oiptjEntityUid  INTEGER  NOT NULL , oiptjUrl  TEXT , oiptjType  INTEGER  NOT NULL , oiptjId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_82);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_83 = 'CREATE TABLE IF NOT EXISTS DeletedItem (  delItemName  TEXT , delItemIconUri  TEXT , delItemLastModTime  INTEGER  NOT NULL , delItemTimeDeleted  INTEGER  NOT NULL , delItemEntityTable  INTEGER  NOT NULL , delItemEntityUid  INTEGER  NOT NULL , delItemDeletedByPersonUid  INTEGER  NOT NULL , delItemStatus  INTEGER  NOT NULL , delItemIsFolder  INTEGER  NOT NULL  DEFAULT 0 , delItemUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_83);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_84 = 'CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)';
      _stmtList.i1(element_84);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_85 = 'CREATE TABLE IF NOT EXISTS EnrolmentRequest (  erClazzUid  INTEGER  NOT NULL , erClazzName  TEXT , erPersonUid  INTEGER  NOT NULL , erPersonFullname  TEXT , erPersonPictureUri  TEXT , erPersonUsername  TEXT , erRole  INTEGER  NOT NULL , erRequestTime  INTEGER  NOT NULL , erStatus  INTEGER  NOT NULL , erStatusSetByPersonUid  INTEGER  NOT NULL , erDeleted  INTEGER  NOT NULL , erStatusSetAuth  TEXT , erLastModified  INTEGER  NOT NULL , erUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_85);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_86 = 'CREATE INDEX idx_enrolmentrequest_by_clazz ON EnrolmentRequest (erClazzUid, erStatus)';
      _stmtList.i1(element_86);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_87 = 'CREATE INDEX idx_enrolmentrequest_by_person ON EnrolmentRequest (erPersonUid, erStatus)';
      _stmtList.i1(element_87);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_88 = 'CREATE TABLE IF NOT EXISTS CoursePermission (  cpLastModified  INTEGER  NOT NULL , cpClazzUid  INTEGER  NOT NULL , cpToEnrolmentRole  INTEGER  NOT NULL , cpToPersonUid  INTEGER  NOT NULL , cpToGroupUid  INTEGER  NOT NULL , cpPermissionsFlag  INTEGER  NOT NULL , cpIsDeleted  INTEGER  NOT NULL , cpUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_88);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_89 = 'CREATE INDEX idx_coursepermission_clazzuid ON CoursePermission (cpClazzUid)';
      _stmtList.i1(element_89);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_90 = 'CREATE TABLE IF NOT EXISTS SystemPermission (  spToPersonUid  INTEGER  NOT NULL , spToGroupUid  INTEGER  NOT NULL , spPermissionsFlag  INTEGER  NOT NULL , spLastModified  INTEGER  NOT NULL , spIsDeleted  INTEGER  NOT NULL , spUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_90);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_91 = 'CREATE INDEX idx_systempermission_personuid ON SystemPermission (spToPersonUid)';
      _stmtList.i1(element_91);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_92 = 'CREATE TABLE IF NOT EXISTS CourseBlockPicture (  cbpUid  INTEGER  PRIMARY KEY  NOT NULL , cbpLct  INTEGER  NOT NULL , cbpPictureUri  TEXT , cbpThumbnailUri  TEXT )';
      _stmtList.i1(element_92);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_93 = 'CREATE TABLE IF NOT EXISTS ContentEntryPicture2 (  cepUid  INTEGER  PRIMARY KEY  NOT NULL , cepLct  INTEGER  NOT NULL , cepPictureUri  TEXT , cepThumbnailUri  TEXT )';
      _stmtList.i1(element_93);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_94 = 'CREATE TABLE IF NOT EXISTS TransferJobError (  tjeTjUid  INTEGER  NOT NULL , tjeTime  INTEGER  NOT NULL , tjeErrorStr  TEXT , tjeDismissed  INTEGER  NOT NULL , tjeId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_94);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_95 = 'CREATE INDEX idx_transferjoberror_tjetjuid ON TransferJobError (tjeTjUid)';
      _stmtList.i1(element_95);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_96 = 'CREATE TABLE IF NOT EXISTS VerbLangMapEntry (  vlmeVerbUid  INTEGER  NOT NULL , vlmeLangHash  INTEGER  NOT NULL , vlmeLangCode  TEXT , vlmeEntryString  TEXT , vlmeLastModified  INTEGER  NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )';
      _stmtList.i1(element_96);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_97 = 'CREATE TABLE IF NOT EXISTS GroupMemberActorJoin (  gmajGroupActorUid  INTEGER  NOT NULL , gmajMemberActorUid  INTEGER  NOT NULL , gmajLastMod  INTEGER  NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )';
      _stmtList.i1(element_97);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_98 = 'CREATE INDEX idx_groupmemberactorjoin_gmajgroupactoruid ON GroupMemberActorJoin (gmajGroupActorUid)';
      _stmtList.i1(element_98);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_99 = 'CREATE INDEX idx_groupmemberactorjoin_gmajmemberactoruid ON GroupMemberActorJoin (gmajMemberActorUid)';
      _stmtList.i1(element_99);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_100 = 'CREATE TABLE IF NOT EXISTS ActivityLangMapEntry (  almeActivityUid  INTEGER  NOT NULL , almeHash  INTEGER  NOT NULL , almeLangCode  TEXT , almePropName  TEXT , almeValue  TEXT , almeAieHash  INTEGER  NOT NULL , almeLastMod  INTEGER  NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )';
      _stmtList.i1(element_100);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_101 = 'CREATE TABLE IF NOT EXISTS ActivityExtensionEntity (  aeeActivityUid  INTEGER  NOT NULL , aeeKeyHash  INTEGER  NOT NULL , aeeKey  TEXT , aeeJson  TEXT , aeeLastMod  INTEGER  NOT NULL , aeeIsDeleted  INTEGER  NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )';
      _stmtList.i1(element_101);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_102 = 'CREATE TABLE IF NOT EXISTS StatementContextActivityJoin (  scajFromStatementIdHi  INTEGER  NOT NULL , scajFromStatementIdLo  INTEGER  NOT NULL , scajToHash  INTEGER  NOT NULL , scajContextType  INTEGER  NOT NULL , scajToActivityUid  INTEGER  NOT NULL , scajToActivityId  TEXT , scajEtag  INTEGER  NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )';
      _stmtList.i1(element_102);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_103 = 'CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseActorUid  INTEGER  NOT NULL , xseAccountUsername  TEXT  NOT NULL , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseContentEntryVersionUid  INTEGER  NOT NULL  DEFAULT 0 , xseRootActivityId  TEXT  NOT NULL , xseRootActivityUid  INTEGER  NOT NULL , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseCompleted  INTEGER  NOT NULL  DEFAULT 0 , knownActorUidToPersonUids  TEXT  NOT NULL , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_103);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_104 = 'CREATE TABLE IF NOT EXISTS StatementEntityJson (  stmtJsonIdHi  INTEGER  NOT NULL , stmtJsonIdLo  INTEGER  NOT NULL , stmtEtag  INTEGER  NOT NULL , fullStatement  TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )';
      _stmtList.i1(element_104);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_105 = 'CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  INTEGER  NOT NULL , seHash  INTEGER  NOT NULL , seActivityUid  INTEGER  NOT NULL , seStateId  TEXT  NOT NULL , seLastMod  INTEGER  NOT NULL , seTimeStored  INTEGER  NOT NULL , seContentType  TEXT  NOT NULL , seCompressed  INTEGER  NOT NULL , seContent  TEXT  NOT NULL , seDeleted  INTEGER  NOT NULL , seRegistrationHi  INTEGER , seRegistrationLo  INTEGER , seH5PPreloaded  INTEGER  NOT NULL , seH5PSubContentId  TEXT , PRIMARY KEY (seActorUid, seHash) )';
      _stmtList.i1(element_105);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_106 = 'CREATE TABLE IF NOT EXISTS StateDeleteCommand (  sdcActorUid  INTEGER  NOT NULL , sdcHash  INTEGER  NOT NULL , sdcActivityUid  INTEGER  NOT NULL , sdcStateId  TEXT , sdcLastMod  INTEGER  NOT NULL , sdcRegistrationHi  INTEGER , sdcRegistrationLo  INTEGER , PRIMARY KEY (sdcActorUid, sdcHash) )';
      _stmtList.i1(element_106);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_107 = 'CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  INTEGER  NOT NULL , orPk1  INTEGER  NOT NULL , orPk2  INTEGER  NOT NULL  DEFAULT 0 , orPk3  INTEGER  NOT NULL  DEFAULT 0 , orPk4  INTEGER  NOT NULL  DEFAULT 0 , orTableId  INTEGER  NOT NULL , orUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_107);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_108 = 'CREATE TABLE IF NOT EXISTS ReplicationOperation (  repOpRemoteNodeId  INTEGER  NOT NULL , repOpStatus  INTEGER  NOT NULL , repOpTableId  INTEGER  NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )';
      _stmtList.i1(element_108);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_109 = 'CREATE TABLE IF NOT EXISTS PendingRepositorySession (  endpointUrl  TEXT , remoteNodeId  INTEGER  NOT NULL , rsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      _stmtList.i1(element_109);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_110 = 'CREATE TABLE IF NOT EXISTS DoorNode (  auth  TEXT , nodeId  INTEGER  NOT NULL , rel  INTEGER  NOT NULL  DEFAULT 2 , PRIMARY KEY (nodeId) )';
      _stmtList.i1(element_110);
    } else if (tmp0_subject === 2) {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_111 = 'CREATE TABLE IF NOT EXISTS _doorwayinfo (dbVersion int primary key, dbHash varchar(255))';
      _stmtList.i1(element_111);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_112 = "INSERT INTO _doorwayinfo VALUES (204, '')";
      _stmtList.i1(element_112);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_113 = 'CREATE TABLE IF NOT EXISTS ClazzLog (  clazzLogClazzUid  BIGINT  NOT NULL , logDate  BIGINT  NOT NULL , timeRecorded  BIGINT  NOT NULL , clazzLogDone  BOOL  NOT NULL , cancellationNote  TEXT , clazzLogCancelled  BOOL  NOT NULL , clazzLogNumPresent  INTEGER  NOT NULL , clazzLogNumAbsent  INTEGER  NOT NULL , clazzLogNumPartial  INTEGER  NOT NULL , clazzLogScheduleUid  BIGINT  NOT NULL , clazzLogStatusFlag  INTEGER  NOT NULL , clazzLogMSQN  BIGINT  NOT NULL , clazzLogLCSN  BIGINT  NOT NULL , clazzLogLCB  INTEGER  NOT NULL , clazzLogLastChangedTime  BIGINT  NOT NULL , clazzLogUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_113);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_114 = 'CREATE TABLE IF NOT EXISTS ClazzLogAttendanceRecord (  clazzLogAttendanceRecordClazzLogUid  BIGINT  NOT NULL , clazzLogAttendanceRecordPersonUid  BIGINT  NOT NULL , attendanceStatus  INTEGER  NOT NULL , clazzLogAttendanceRecordMasterChangeSeqNum  BIGINT  NOT NULL , clazzLogAttendanceRecordLocalChangeSeqNum  BIGINT  NOT NULL , clazzLogAttendanceRecordLastChangedBy  INTEGER  NOT NULL , clazzLogAttendanceRecordLastChangedTime  BIGINT  NOT NULL , clazzLogAttendanceRecordUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_114);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_115 = 'CREATE TABLE IF NOT EXISTS Schedule (  sceduleStartTime  BIGINT  NOT NULL , scheduleEndTime  BIGINT  NOT NULL , scheduleDay  INTEGER  NOT NULL , scheduleMonth  INTEGER  NOT NULL , scheduleFrequency  INTEGER  NOT NULL , umCalendarUid  BIGINT  NOT NULL , scheduleClazzUid  BIGINT  NOT NULL , scheduleMasterChangeSeqNum  BIGINT  NOT NULL , scheduleLocalChangeSeqNum  BIGINT  NOT NULL , scheduleLastChangedBy  INTEGER  NOT NULL , scheduleLastChangedTime  BIGINT  NOT NULL , scheduleActive  BOOL  NOT NULL , scheduleUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_115);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_116 = 'CREATE TABLE IF NOT EXISTS HolidayCalendar (  umCalendarName  TEXT , umCalendarCategory  INTEGER  NOT NULL , umCalendarActive  BOOL  NOT NULL , umCalendarMasterChangeSeqNum  BIGINT  NOT NULL , umCalendarLocalChangeSeqNum  BIGINT  NOT NULL , umCalendarLastChangedBy  INTEGER  NOT NULL , umCalendarLct  BIGINT  NOT NULL , umCalendarUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_116);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_117 = 'CREATE TABLE IF NOT EXISTS Holiday (  holMasterCsn  BIGINT  NOT NULL , holLocalCsn  BIGINT  NOT NULL , holLastModBy  INTEGER  NOT NULL , holLct  BIGINT  NOT NULL , holActive  BOOL  NOT NULL , holHolidayCalendarUid  BIGINT  NOT NULL , holStartTime  BIGINT  NOT NULL , holEndTime  BIGINT  NOT NULL , holName  TEXT , holUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_117);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_118 = 'CREATE TABLE IF NOT EXISTS Person (  username  TEXT , firstNames  TEXT , lastName  TEXT , emailAddr  TEXT , phoneNum  TEXT , gender  INTEGER  NOT NULL , active  BOOL  NOT NULL , dateOfBirth  BIGINT  NOT NULL , personAddress  TEXT , personOrgId  TEXT , personGroupUid  BIGINT  NOT NULL , personLct  BIGINT  NOT NULL , personCountry  TEXT , personType  INTEGER  NOT NULL  DEFAULT 0 , personMasterChangeSeqNum  BIGINT  NOT NULL , personLocalChangeSeqNum  BIGINT  NOT NULL , personLastChangedBy  INTEGER  NOT NULL , admin  BOOL  NOT NULL , personNotes  TEXT , fatherName  TEXT , fatherNumber  TEXT , motherName  TEXT , motherNum  TEXT , personUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_118);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_119 = 'CREATE TABLE IF NOT EXISTS Clazz (  clazzName  TEXT , clazzDesc  TEXT , attendanceAverage  FLOAT  NOT NULL , clazzHolidayUMCalendarUid  BIGINT  NOT NULL , clazzScheuleUMCalendarUid  BIGINT  NOT NULL , isClazzActive  BOOL  NOT NULL , clazzLocationUid  BIGINT  NOT NULL , clazzStartTime  BIGINT  NOT NULL , clazzEndTime  BIGINT  NOT NULL , clazzFeatures  BIGINT  NOT NULL , clazzSchoolUid  BIGINT  NOT NULL , clazzEnrolmentPolicy  INTEGER  NOT NULL  DEFAULT 102 , clazzTerminologyUid  BIGINT  NOT NULL  DEFAULT 25966 , clazzMasterChangeSeqNum  BIGINT  NOT NULL , clazzLocalChangeSeqNum  BIGINT  NOT NULL , clazzLastChangedBy  INTEGER  NOT NULL , clazzLct  BIGINT  NOT NULL , clazzTimeZone  TEXT , clazzStudentsPersonGroupUid  BIGINT  NOT NULL , clazzTeachersPersonGroupUid  BIGINT  NOT NULL , clazzPendingStudentsPersonGroupUid  BIGINT  NOT NULL , clazzParentsPersonGroupUid  BIGINT  NOT NULL , clazzCode  TEXT , clazzOwnerPersonUid  BIGINT  NOT NULL  DEFAULT 0 , clazzUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_119);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_120 = 'CREATE TABLE IF NOT EXISTS ClazzEnrolment (  clazzEnrolmentPersonUid  BIGINT  NOT NULL , clazzEnrolmentClazzUid  BIGINT  NOT NULL , clazzEnrolmentDateJoined  BIGINT  NOT NULL , clazzEnrolmentDateLeft  BIGINT  NOT NULL , clazzEnrolmentRole  INTEGER  NOT NULL , clazzEnrolmentAttendancePercentage  FLOAT  NOT NULL , clazzEnrolmentActive  BOOL  NOT NULL , clazzEnrolmentLeavingReasonUid  BIGINT  NOT NULL , clazzEnrolmentOutcome  INTEGER  NOT NULL , clazzEnrolmentLocalChangeSeqNum  BIGINT  NOT NULL , clazzEnrolmentMasterChangeSeqNum  BIGINT  NOT NULL , clazzEnrolmentLastChangedBy  INTEGER  NOT NULL , clazzEnrolmentLct  BIGINT  NOT NULL , clazzEnrolmentUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_120);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_121 = 'CREATE INDEX index_ClazzEnrolment_clazzEnrolmentPersonUid_clazzEnrolmentClazzUid ON ClazzEnrolment (clazzEnrolmentPersonUid, clazzEnrolmentClazzUid)';
      _stmtList.i1(element_121);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_122 = 'CREATE INDEX index_ClazzEnrolment_clazzEnrolmentClazzUid_clazzEnrolmentPersonUid ON ClazzEnrolment (clazzEnrolmentClazzUid, clazzEnrolmentPersonUid)';
      _stmtList.i1(element_122);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_123 = 'CREATE INDEX index_ClazzEnrolment_clazzEnrolmentClazzUid_clazzEnrolmentRole ON ClazzEnrolment (clazzEnrolmentClazzUid, clazzEnrolmentRole)';
      _stmtList.i1(element_123);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_124 = 'CREATE TABLE IF NOT EXISTS LeavingReason (  leavingReasonTitle  TEXT , leavingReasonMCSN  BIGINT  NOT NULL , leavingReasonCSN  BIGINT  NOT NULL , leavingReasonLCB  INTEGER  NOT NULL , leavingReasonLct  BIGINT  NOT NULL , leavingReasonUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_124);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_125 = 'CREATE TABLE IF NOT EXISTS ContentEntry (  title  TEXT , description  TEXT , entryId  TEXT , author  TEXT , publisher  TEXT , licenseType  INTEGER  NOT NULL , licenseName  TEXT , licenseUrl  TEXT , sourceUrl  TEXT , thumbnailUrl  TEXT , lastModified  BIGINT  NOT NULL , primaryLanguageUid  BIGINT  NOT NULL , languageVariantUid  BIGINT  NOT NULL , contentFlags  INTEGER  NOT NULL , leaf  BOOL  NOT NULL , publik  BOOL  NOT NULL , ceInactive  BOOL  NOT NULL , completionCriteria  INTEGER  NOT NULL , minScore  INTEGER  NOT NULL , contentTypeFlag  INTEGER  NOT NULL , contentOwner  BIGINT  NOT NULL , contentOwnerType  INTEGER  NOT NULL  DEFAULT 1 , contentEntryLocalChangeSeqNum  BIGINT  NOT NULL , contentEntryMasterChangeSeqNum  BIGINT  NOT NULL , contentEntryLastChangedBy  INTEGER  NOT NULL , contentEntryLct  BIGINT  NOT NULL , contentEntryUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_125);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_126 = 'CREATE TABLE IF NOT EXISTS ContentEntryContentCategoryJoin (  ceccjContentEntryUid  BIGINT  NOT NULL , ceccjContentCategoryUid  BIGINT  NOT NULL , ceccjLocalChangeSeqNum  BIGINT  NOT NULL , ceccjMasterChangeSeqNum  BIGINT  NOT NULL , ceccjLastChangedBy  INTEGER  NOT NULL , ceccjLct  BIGINT  NOT NULL , ceccjUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_126);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_127 = 'CREATE TABLE IF NOT EXISTS ContentEntryParentChildJoin (  cepcjLocalChangeSeqNum  BIGINT  NOT NULL , cepcjMasterChangeSeqNum  BIGINT  NOT NULL , cepcjLastChangedBy  INTEGER  NOT NULL , cepcjLct  BIGINT  NOT NULL , cepcjDeleted  BOOL  NOT NULL  DEFAULT false, cepcjParentContentEntryUid  BIGINT  NOT NULL , cepcjChildContentEntryUid  BIGINT  NOT NULL , childIndex  INTEGER  NOT NULL , cepcjUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_127);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_128 = 'CREATE INDEX parent_child ON ContentEntryParentChildJoin (cepcjChildContentEntryUid, cepcjParentContentEntryUid)';
      _stmtList.i1(element_128);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_129 = 'CREATE TABLE IF NOT EXISTS ContentEntryRelatedEntryJoin (  cerejContentEntryUid  BIGINT  NOT NULL , cerejRelatedEntryUid  BIGINT  NOT NULL , cerejLastChangedBy  INTEGER  NOT NULL , relType  INTEGER  NOT NULL , comment  TEXT , cerejRelLanguageUid  BIGINT  NOT NULL , cerejLocalChangeSeqNum  BIGINT  NOT NULL , cerejMasterChangeSeqNum  BIGINT  NOT NULL , cerejLct  BIGINT  NOT NULL , cerejUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_129);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_130 = 'CREATE TABLE IF NOT EXISTS ContentCategorySchema (  schemaName  TEXT , schemaUrl  TEXT , contentCategorySchemaLocalChangeSeqNum  BIGINT  NOT NULL , contentCategorySchemaMasterChangeSeqNum  BIGINT  NOT NULL , contentCategorySchemaLastChangedBy  INTEGER  NOT NULL , contentCategorySchemaLct  BIGINT  NOT NULL , contentCategorySchemaUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_130);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_131 = 'CREATE TABLE IF NOT EXISTS ContentCategory (  ctnCatContentCategorySchemaUid  BIGINT  NOT NULL , name  TEXT , contentCategoryLocalChangeSeqNum  BIGINT  NOT NULL , contentCategoryMasterChangeSeqNum  BIGINT  NOT NULL , contentCategoryLastChangedBy  INTEGER  NOT NULL , contentCategoryLct  BIGINT  NOT NULL , contentCategoryUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_131);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_132 = 'CREATE TABLE IF NOT EXISTS Language (  name  TEXT , iso_639_1_standard  TEXT , iso_639_2_standard  TEXT , iso_639_3_standard  TEXT , Language_Type  TEXT , languageActive  BOOL  NOT NULL , langLocalChangeSeqNum  BIGINT  NOT NULL , langMasterChangeSeqNum  BIGINT  NOT NULL , langLastChangedBy  INTEGER  NOT NULL , langLct  BIGINT  NOT NULL , langUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_132);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_133 = 'CREATE TABLE IF NOT EXISTS LanguageVariant (  langUid  BIGINT  NOT NULL , countryCode  TEXT , name  TEXT , langVariantLocalChangeSeqNum  BIGINT  NOT NULL , langVariantMasterChangeSeqNum  BIGINT  NOT NULL , langVariantLastChangedBy  INTEGER  NOT NULL , langVariantLct  BIGINT  NOT NULL , langVariantUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_133);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_134 = 'CREATE TABLE IF NOT EXISTS PersonAuth (  passwordHash  TEXT , personAuthStatus  INTEGER  NOT NULL , personAuthUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_134);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_135 = 'CREATE TABLE IF NOT EXISTS PersonGroup (  groupMasterCsn  BIGINT  NOT NULL , groupLocalCsn  BIGINT  NOT NULL , groupLastChangedBy  INTEGER  NOT NULL , groupLct  BIGINT  NOT NULL , groupName  TEXT , groupActive  BOOL  NOT NULL , personGroupFlag  INTEGER  NOT NULL , groupUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_135);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_136 = 'CREATE TABLE IF NOT EXISTS PersonGroupMember (  groupMemberActive  BOOL  NOT NULL , groupMemberPersonUid  BIGINT  NOT NULL , groupMemberGroupUid  BIGINT  NOT NULL , groupMemberMasterCsn  BIGINT  NOT NULL , groupMemberLocalCsn  BIGINT  NOT NULL , groupMemberLastChangedBy  INTEGER  NOT NULL , groupMemberLct  BIGINT  NOT NULL , groupMemberUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_136);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_137 = 'CREATE TABLE IF NOT EXISTS PersonPicture (  personPictureLct  BIGINT  NOT NULL , personPictureUri  TEXT , personPictureThumbnailUri  TEXT , fileSize  INTEGER  NOT NULL , personPictureActive  BOOL  NOT NULL , personPictureUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_137);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_138 = 'CREATE TABLE IF NOT EXISTS VerbEntity (  verbUid  BIGINT  PRIMARY KEY  NOT NULL , verbUrlId  TEXT , verbDeleted  BOOL  NOT NULL , verbLct  BIGINT  NOT NULL )';
      _stmtList.i1(element_138);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_139 = 'CREATE TABLE IF NOT EXISTS ActivityEntity (  actUid  BIGINT  PRIMARY KEY  NOT NULL , actIdIri  TEXT , actType  TEXT , actMoreInfo  TEXT , actInteractionType  INTEGER  NOT NULL , actCorrectResponsePatterns  TEXT , actLct  BIGINT  NOT NULL )';
      _stmtList.i1(element_139);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_140 = 'CREATE TABLE IF NOT EXISTS StatementEntity (  statementIdHi  BIGINT  NOT NULL , statementIdLo  BIGINT  NOT NULL , statementActorPersonUid  BIGINT  NOT NULL , statementVerbUid  BIGINT  NOT NULL , statementObjectType  INTEGER  NOT NULL , statementObjectUid1  BIGINT  NOT NULL , statementObjectUid2  BIGINT  NOT NULL , statementActorUid  BIGINT  NOT NULL , authorityActorUid  BIGINT  NOT NULL , teamUid  BIGINT  NOT NULL , resultCompletion  BOOL , resultSuccess  BOOL , resultScoreScaled  FLOAT , resultScoreRaw  FLOAT , resultScoreMin  FLOAT , resultScoreMax  FLOAT , resultDuration  BIGINT , resultResponse  TEXT , timestamp  BIGINT  NOT NULL , stored  BIGINT  NOT NULL , contextRegistrationHi  BIGINT  NOT NULL , contextRegistrationLo  BIGINT  NOT NULL , contextPlatform  TEXT , contextStatementRefIdHi  BIGINT  NOT NULL , contextStatementRefIdLo  BIGINT  NOT NULL , contextInstructorActorUid  BIGINT  NOT NULL , statementLct  BIGINT  NOT NULL , extensionProgress  INTEGER , completionOrProgress  BOOL  NOT NULL , statementContentEntryUid  BIGINT  NOT NULL , statementLearnerGroupUid  BIGINT  NOT NULL , statementClazzUid  BIGINT  NOT NULL , statementCbUid  BIGINT  NOT NULL , statementDoorNode  BIGINT  NOT NULL , isSubStatement  BOOL  NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )';
      _stmtList.i1(element_140);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_141 = 'CREATE INDEX idx_stmt_actor_person ON StatementEntity (statementActorPersonUid)';
      _stmtList.i1(element_141);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_142 = 'CREATE INDEX idx_statement_clazz_person ON StatementEntity (statementClazzUid, statementActorPersonUid)';
      _stmtList.i1(element_142);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_143 = 'CREATE INDEX idx_statement_cbuid_actor ON StatementEntity (statementCbUid, statementActorUid)';
      _stmtList.i1(element_143);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_144 = 'CREATE TABLE IF NOT EXISTS ActorEntity (  actorPersonUid  BIGINT  NOT NULL , actorName  TEXT , actorMbox  TEXT , actorMbox_sha1sum  TEXT , actorOpenid  TEXT , actorAccountName  TEXT , actorAccountHomePage  TEXT , actorEtag  BIGINT  NOT NULL , actorLct  BIGINT  NOT NULL , actorObjectType  INTEGER  NOT NULL , actorUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_144);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_145 = 'CREATE INDEX idx_actorentity_uid_personuid ON ActorEntity (actorPersonUid)';
      _stmtList.i1(element_145);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_146 = 'CREATE INDEX idx_actorentity_actorobjecttype ON ActorEntity (actorObjectType)';
      _stmtList.i1(element_146);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_147 = 'CREATE TABLE IF NOT EXISTS SyncNode (  nodeClientId  BIGINT  NOT NULL , PRIMARY KEY (nodeClientId) )';
      _stmtList.i1(element_147);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_148 = 'CREATE TABLE IF NOT EXISTS Comments (  commentsText  TEXT , commentsEntityUid  BIGINT  NOT NULL , commentsStatus  INTEGER  NOT NULL , commentsFromPersonUid  BIGINT  NOT NULL , commentsForSubmitterUid  BIGINT  NOT NULL , commentsFromSubmitterUid  BIGINT  NOT NULL , commentsFlagged  BOOL  NOT NULL , commentsDeleted  BOOL  NOT NULL , commentsDateTimeAdded  BIGINT  NOT NULL , commentsLct  BIGINT  NOT NULL , commentsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_148);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_149 = 'CREATE INDEX idx_comments_entity_submitter ON Comments (commentsEntityUid, commentsForSubmitterUid)';
      _stmtList.i1(element_149);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_150 = 'CREATE TABLE IF NOT EXISTS Report (  reportOwnerUid  BIGINT  NOT NULL , xAxis  INTEGER  NOT NULL , reportDateRangeSelection  INTEGER  NOT NULL , fromDate  BIGINT  NOT NULL , fromRelTo  INTEGER  NOT NULL , fromRelOffSet  INTEGER  NOT NULL , fromRelUnit  INTEGER  NOT NULL , toDate  BIGINT  NOT NULL , toRelTo  INTEGER  NOT NULL , toRelOffSet  INTEGER  NOT NULL , toRelUnit  INTEGER  NOT NULL , reportTitle  TEXT , reportDescription  TEXT , reportSeries  TEXT , reportInactive  BOOL  NOT NULL , isTemplate  BOOL  NOT NULL , priority  INTEGER  NOT NULL , reportTitleId  INTEGER  NOT NULL , reportDescId  INTEGER  NOT NULL , reportMasterChangeSeqNum  BIGINT  NOT NULL , reportLocalChangeSeqNum  BIGINT  NOT NULL , reportLastChangedBy  INTEGER  NOT NULL , reportLct  BIGINT  NOT NULL , reportUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_150);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_151 = 'CREATE TABLE IF NOT EXISTS Site (  sitePcsn  BIGINT  NOT NULL , siteLcsn  BIGINT  NOT NULL , siteLcb  INTEGER  NOT NULL , siteLct  BIGINT  NOT NULL , siteName  TEXT , guestLogin  BOOL  NOT NULL , registrationAllowed  BOOL  NOT NULL , authSalt  TEXT , siteUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_151);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_152 = 'CREATE TABLE IF NOT EXISTS SiteTerms (  termsHtml  TEXT , sTermsLang  TEXT , sTermsLangUid  BIGINT  NOT NULL , sTermsActive  BOOL  NOT NULL , sTermsLastChangedBy  INTEGER  NOT NULL , sTermsPrimaryCsn  BIGINT  NOT NULL , sTermsLocalCsn  BIGINT  NOT NULL , sTermsLct  BIGINT  NOT NULL , sTermsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_152);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_153 = 'CREATE TABLE IF NOT EXISTS PersonParentJoin (  ppjPcsn  BIGINT  NOT NULL , ppjLcsn  BIGINT  NOT NULL , ppjLcb  INTEGER  NOT NULL , ppjLct  BIGINT  NOT NULL , ppjParentPersonUid  BIGINT  NOT NULL , ppjMinorPersonUid  BIGINT  NOT NULL , ppjRelationship  INTEGER  NOT NULL , ppjEmail  TEXT , ppjPhone  TEXT , ppjInactive  BOOL  NOT NULL , ppjStatus  INTEGER  NOT NULL , ppjApprovalTiemstamp  BIGINT  NOT NULL , ppjApprovalIpAddr  TEXT , ppjUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_153);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_154 = 'CREATE TABLE IF NOT EXISTS ScopedGrant (  sgPcsn  BIGINT  NOT NULL , sgLcsn  BIGINT  NOT NULL , sgLcb  INTEGER  NOT NULL , sgLct  BIGINT  NOT NULL , sgTableId  INTEGER  NOT NULL , sgEntityUid  BIGINT  NOT NULL , sgPermissions  BIGINT  NOT NULL , sgGroupUid  BIGINT  NOT NULL , sgIndex  INTEGER  NOT NULL , sgFlags  INTEGER  NOT NULL , sgUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_154);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_155 = 'CREATE INDEX idx_group_to_entity ON ScopedGrant (sgGroupUid, sgPermissions, sgTableId, sgEntityUid)';
      _stmtList.i1(element_155);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_156 = 'CREATE INDEX idx_entity_to_group ON ScopedGrant (sgTableId, sgEntityUid, sgPermissions, sgGroupUid)';
      _stmtList.i1(element_156);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_157 = 'CREATE TABLE IF NOT EXISTS ErrorReport (  errPcsn  BIGINT  NOT NULL , errLcsn  BIGINT  NOT NULL , errLcb  INTEGER  NOT NULL , errLct  BIGINT  NOT NULL , severity  INTEGER  NOT NULL , timestamp  BIGINT  NOT NULL , presenterUri  TEXT , appVersion  TEXT , versionCode  INTEGER  NOT NULL , errorCode  INTEGER  NOT NULL , operatingSys  TEXT , osVersion  TEXT , stackTrace  TEXT , message  TEXT , errUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_157);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_158 = 'CREATE TABLE IF NOT EXISTS ClazzAssignment (  caTitle  TEXT , caDescription  TEXT , caGroupUid  BIGINT  NOT NULL  DEFAULT 0 , caActive  BOOL  NOT NULL , caClassCommentEnabled  BOOL  NOT NULL , caPrivateCommentsEnabled  BOOL  NOT NULL  DEFAULT true, caCompletionCriteria  INTEGER  NOT NULL  DEFAULT 100 , caRequireFileSubmission  BOOL  NOT NULL  DEFAULT true, caFileType  INTEGER  NOT NULL  DEFAULT 0 , caSizeLimit  INTEGER  NOT NULL  DEFAULT 50 , caNumberOfFiles  INTEGER  NOT NULL  DEFAULT 1 , caSubmissionPolicy  INTEGER  NOT NULL  DEFAULT 1 , caMarkingType  INTEGER  NOT NULL  DEFAULT 1 , caRequireTextSubmission  BOOL  NOT NULL  DEFAULT true, caTextLimitType  INTEGER  NOT NULL  DEFAULT 1 , caTextLimit  INTEGER  NOT NULL  DEFAULT 500 , caXObjectUid  BIGINT  NOT NULL  DEFAULT 0 , caClazzUid  BIGINT  NOT NULL , caPeerReviewerCount  INTEGER  NOT NULL  DEFAULT 0 , caLocalChangeSeqNum  BIGINT  NOT NULL , caMasterChangeSeqNum  BIGINT  NOT NULL , caLastChangedBy  INTEGER  NOT NULL , caLct  BIGINT  NOT NULL , caUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_158);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_159 = 'CREATE TABLE IF NOT EXISTS CourseAssignmentSubmission (  casAssignmentUid  BIGINT  NOT NULL , casSubmitterUid  BIGINT  NOT NULL , casSubmitterPersonUid  BIGINT  NOT NULL , casText  TEXT , casType  INTEGER  NOT NULL , casTimestamp  BIGINT  NOT NULL , casClazzUid  BIGINT  NOT NULL  DEFAULT 0 , casUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_159);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_160 = 'CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile (  casaSubmissionUid  BIGINT  NOT NULL , casaSubmitterUid  BIGINT  NOT NULL  DEFAULT 0 , casaCaUid  BIGINT  NOT NULL , casaClazzUid  BIGINT  NOT NULL , casaMimeType  TEXT , casaFileName  TEXT , casaUri  TEXT , casaSize  INTEGER  NOT NULL , casaTimestamp  BIGINT  NOT NULL , casaDeleted  BOOL  NOT NULL  DEFAULT false, casaUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_160);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_161 = 'CREATE TABLE IF NOT EXISTS CourseAssignmentMark (  camAssignmentUid  BIGINT  NOT NULL , camSubmitterUid  BIGINT  NOT NULL , camMarkerSubmitterUid  BIGINT  NOT NULL  DEFAULT 0 , camMarkerPersonUid  BIGINT  NOT NULL  DEFAULT 0 , camMarkerComment  TEXT , camMark  FLOAT  NOT NULL , camMaxMark  FLOAT  NOT NULL  DEFAULT 1 , camPenalty  FLOAT  NOT NULL , camLct  BIGINT  NOT NULL , camClazzUid  BIGINT  NOT NULL  DEFAULT 0 , camUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_161);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_162 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (  praMarkerSubmitterUid  BIGINT  NOT NULL , praToMarkerSubmitterUid  BIGINT  NOT NULL , praAssignmentUid  BIGINT  NOT NULL , praActive  BOOL  NOT NULL , praLct  BIGINT  NOT NULL , praUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_162);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_163 = 'CREATE TABLE IF NOT EXISTS PersonAuth2 (  pauthUid  BIGINT  PRIMARY KEY  NOT NULL , pauthMechanism  TEXT , pauthAuth  TEXT , pauthLcsn  BIGINT  NOT NULL , pauthPcsn  BIGINT  NOT NULL , pauthLcb  BIGINT  NOT NULL , pauthLct  BIGINT  NOT NULL )';
      _stmtList.i1(element_163);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_164 = 'CREATE TABLE IF NOT EXISTS UserSession (  usPcsn  BIGINT  NOT NULL , usLcsn  BIGINT  NOT NULL , usLcb  BIGINT  NOT NULL , usLct  BIGINT  NOT NULL , usPersonUid  BIGINT  NOT NULL , usClientNodeId  BIGINT  NOT NULL , usStartTime  BIGINT  NOT NULL , usEndTime  BIGINT  NOT NULL , usStatus  INTEGER  NOT NULL , usReason  INTEGER  NOT NULL , usAuth  TEXT , usSessionType  INTEGER  NOT NULL , usUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_164);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_165 = 'CREATE INDEX person_status_node_idx ON UserSession (usPersonUid, usStatus, usClientNodeId)';
      _stmtList.i1(element_165);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_166 = 'CREATE INDEX node_status_person_idx ON UserSession (usClientNodeId, usStatus, usPersonUid)';
      _stmtList.i1(element_166);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_167 = 'CREATE TABLE IF NOT EXISTS ContentJob (  toUri  TEXT , cjProgress  BIGINT  NOT NULL , cjTotal  BIGINT  NOT NULL , cjNotificationTitle  TEXT , cjIsMeteredAllowed  BOOL  NOT NULL , params  TEXT , cjLct  BIGINT  NOT NULL , cjUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_167);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_168 = 'CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiCompressionLevel  INTEGER  NOT NULL  DEFAULT 3 , cjiError  TEXT , cjiErrorDismissed  BOOL  NOT NULL , cjiOwnerPersonUid  BIGINT  NOT NULL , cjiParams  TEXT , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_168);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_169 = 'CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)';
      _stmtList.i1(element_169);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_170 = 'CREATE TABLE IF NOT EXISTS CourseBlock (  cbType  INTEGER  NOT NULL , cbIndentLevel  INTEGER  NOT NULL , cbModuleParentBlockUid  BIGINT  NOT NULL , cbTitle  TEXT , cbDescription  TEXT , cbCompletionCriteria  INTEGER  NOT NULL , cbHideUntilDate  BIGINT  NOT NULL , cbDeadlineDate  BIGINT  NOT NULL , cbLateSubmissionPenalty  INTEGER  NOT NULL , cbGracePeriodDate  BIGINT  NOT NULL , cbMaxPoints  FLOAT , cbMinPoints  FLOAT , cbIndex  INTEGER  NOT NULL , cbClazzUid  BIGINT  NOT NULL , cbClazzSourcedId  TEXT , cbActive  BOOL  NOT NULL , cbHidden  BOOL  NOT NULL , cbEntityUid  BIGINT  NOT NULL , cbLct  BIGINT  NOT NULL , cbSourcedId  TEXT , cbMetadata  TEXT , cbCreatedByAppId  TEXT , cbUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_170);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_171 = 'CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)';
      _stmtList.i1(element_171);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_172 = 'CREATE TABLE IF NOT EXISTS CourseTerminology (  ctTitle  TEXT , ctTerminology  TEXT , ctLct  BIGINT  NOT NULL , ctUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_172);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_173 = 'CREATE TABLE IF NOT EXISTS CourseGroupSet (  cgsName  TEXT , cgsTotalGroups  INTEGER  NOT NULL , cgsActive  BOOL  NOT NULL , cgsClazzUid  BIGINT  NOT NULL , cgsLct  BIGINT  NOT NULL , cgsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_173);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_174 = 'CREATE TABLE IF NOT EXISTS CourseGroupMember (  cgmSetUid  BIGINT  NOT NULL , cgmGroupNumber  INTEGER  NOT NULL , cgmPersonUid  BIGINT  NOT NULL , cgmLct  BIGINT  NOT NULL , cgmUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_174);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_175 = 'CREATE TABLE IF NOT EXISTS ContentEntryPicture (  cepContentEntryUid  BIGINT  NOT NULL , cepUri  TEXT , cepMd5  TEXT , cepFileSize  INTEGER  NOT NULL , cepTimestamp  BIGINT  NOT NULL , cepMimeType  TEXT , cepActive  BOOL  NOT NULL , cepUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_175);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_176 = 'CREATE TABLE IF NOT EXISTS ActivityInteractionEntity (  aieActivityUid  BIGINT  NOT NULL , aieHash  BIGINT  NOT NULL , aieProp  INTEGER  NOT NULL , aieId  TEXT , aieLastMod  BIGINT  NOT NULL , aieIsDeleted  BOOL  NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )';
      _stmtList.i1(element_176);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_177 = 'CREATE TABLE IF NOT EXISTS CoursePicture (  coursePictureLct  BIGINT  NOT NULL , coursePictureUri  TEXT , coursePictureThumbnailUri  TEXT , coursePictureActive  BOOL  NOT NULL , coursePictureUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_177);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_178 = 'CREATE TABLE IF NOT EXISTS DiscussionPost (  discussionPostReplyToPostUid  BIGINT  NOT NULL , discussionPostTitle  TEXT , discussionPostMessage  TEXT , discussionPostStartDate  BIGINT  NOT NULL , discussionPostCourseBlockUid  BIGINT  NOT NULL , dpDeleted  BOOL  NOT NULL , discussionPostStartedPersonUid  BIGINT  NOT NULL , discussionPostClazzUid  BIGINT  NOT NULL , discussionPostLct  BIGINT  NOT NULL , discussionPostVisible  BOOL  NOT NULL , discussionPostArchive  BOOL  NOT NULL , discussionPostUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_178);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_179 = 'CREATE TABLE IF NOT EXISTS ExternalAppPermission (  eapPersonUid  BIGINT  NOT NULL , eapPackageId  TEXT , eapStartTime  BIGINT  NOT NULL , eapExpireTime  BIGINT  NOT NULL , eapAuthToken  TEXT , eapAndroidAccountName  TEXT , eapUid  SERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_179);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_180 = 'CREATE TABLE IF NOT EXISTS Message (  messageSenderPersonUid  BIGINT  NOT NULL , messageToPersonUid  BIGINT  NOT NULL , messageText  TEXT , messageTimestamp  BIGINT  NOT NULL , messageLct  BIGINT  NOT NULL , messageUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_180);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_181 = 'CREATE INDEX message_idx_send_to_time ON Message (messageSenderPersonUid, messageToPersonUid, messageTimestamp)';
      _stmtList.i1(element_181);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_182 = 'CREATE TABLE IF NOT EXISTS StudentResult (  srUid  BIGINT  PRIMARY KEY  NOT NULL , srSourcedId  TEXT , srCourseBlockUid  BIGINT  NOT NULL , srLineItemSourcedId  TEXT , srLineItemHref  TEXT , srClazzUid  BIGINT  NOT NULL , srAssignmentUid  BIGINT  NOT NULL , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  BIGINT  NOT NULL , srStudentPersonSourcedId  TEXT , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  BIGINT  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  FLOAT  NOT NULL , srScoreDate  BIGINT  NOT NULL , srLastModified  BIGINT  NOT NULL , srComment  TEXT , srAppId  TEXT , srDeleted  BOOL  NOT NULL )';
      _stmtList.i1(element_182);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_183 = 'CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  BIGINT  NOT NULL , cevOpenUri  TEXT , cevContentType  TEXT , cevManifestUrl  TEXT , cevSize  BIGINT  NOT NULL , cevInActive  BOOL  NOT NULL , cevLastModified  BIGINT  NOT NULL , cevLct  BIGINT  NOT NULL , cevStorageSize  BIGINT  NOT NULL  DEFAULT 0 , cevOriginalSize  BIGINT  NOT NULL  DEFAULT 0 , cevUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_183);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_184 = 'CREATE TABLE IF NOT EXISTS TransferJob (  tjType  INTEGER  NOT NULL , tjStatus  INTEGER  NOT NULL , tjName  TEXT , tjUuid  TEXT , tjTableId  INTEGER  NOT NULL  DEFAULT 0 , tjEntityUid  BIGINT  NOT NULL  DEFAULT 0 , tjTimeCreated  BIGINT  NOT NULL  DEFAULT 0 , tjCreationType  INTEGER  NOT NULL  DEFAULT 0 , tjOiUid  BIGINT  NOT NULL  DEFAULT 0 , tjUid  SERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_184);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_185 = 'CREATE INDEX TransferJob_idx_tjTableId_EntityUid ON TransferJob (tjTableId, tjEntityUid)';
      _stmtList.i1(element_185);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_186 = 'CREATE TABLE IF NOT EXISTS TransferJobItem (  tjiTjUid  INTEGER  NOT NULL , tjTotalSize  BIGINT  NOT NULL , tjTransferred  BIGINT  NOT NULL , tjAttemptCount  INTEGER  NOT NULL , tjiSrc  TEXT , tjiDest  TEXT , tjiType  INTEGER  NOT NULL , tjiStatus  INTEGER  NOT NULL , tjiTableId  INTEGER  NOT NULL , tjiEntityUid  BIGINT  NOT NULL , tjiEntityEtag  BIGINT  NOT NULL  DEFAULT 0 , tjiLockIdToRelease  BIGINT  NOT NULL  DEFAULT 0 , tjiPartialTmpFile  TEXT , tjiUid  SERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_186);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_187 = 'CREATE INDEX tji_table_entity_etag ON TransferJobItem (tjiTableId, tjiEntityUid, tjiEntityEtag)';
      _stmtList.i1(element_187);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_188 = 'CREATE INDEX transferjob_tjuid ON TransferJobItem (tjiTjUid)';
      _stmtList.i1(element_188);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_189 = 'CREATE TABLE IF NOT EXISTS CacheLockJoin (  cljTableId  INTEGER  NOT NULL , cljEntityUid  BIGINT  NOT NULL , cljUrl  TEXT , cljLockId  BIGINT  NOT NULL , cljStatus  INTEGER  NOT NULL , cljType  INTEGER  NOT NULL , cljOiUid  BIGINT  NOT NULL  DEFAULT 0 , cljId  SERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_189);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_190 = 'CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)';
      _stmtList.i1(element_190);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_191 = 'CREATE INDEX idx_clj_offline_item_uid ON CacheLockJoin (cljOiUid)';
      _stmtList.i1(element_191);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_192 = 'CREATE TABLE IF NOT EXISTS OfflineItem (  oiNodeId  BIGINT  NOT NULL , oiClazzUid  BIGINT  NOT NULL , oiCourseBlockUid  BIGINT  NOT NULL , oiContentEntryUid  BIGINT  NOT NULL , oiActive  BOOL  NOT NULL , oiLct  BIGINT  NOT NULL , oiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_192);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_193 = 'CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)';
      _stmtList.i1(element_193);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_194 = 'CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob (  oiptjOiUid  BIGINT  NOT NULL , oiptjTableId  INTEGER  NOT NULL , oiptjEntityUid  BIGINT  NOT NULL , oiptjUrl  TEXT , oiptjType  INTEGER  NOT NULL , oiptjId  SERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_194);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_195 = 'CREATE TABLE IF NOT EXISTS DeletedItem (  delItemName  TEXT , delItemIconUri  TEXT , delItemLastModTime  BIGINT  NOT NULL , delItemTimeDeleted  BIGINT  NOT NULL , delItemEntityTable  INTEGER  NOT NULL , delItemEntityUid  BIGINT  NOT NULL , delItemDeletedByPersonUid  BIGINT  NOT NULL , delItemStatus  INTEGER  NOT NULL , delItemIsFolder  BOOL  NOT NULL  DEFAULT false, delItemUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_195);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_196 = 'CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)';
      _stmtList.i1(element_196);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_197 = 'CREATE TABLE IF NOT EXISTS EnrolmentRequest (  erClazzUid  BIGINT  NOT NULL , erClazzName  TEXT , erPersonUid  BIGINT  NOT NULL , erPersonFullname  TEXT , erPersonPictureUri  TEXT , erPersonUsername  TEXT , erRole  INTEGER  NOT NULL , erRequestTime  BIGINT  NOT NULL , erStatus  INTEGER  NOT NULL , erStatusSetByPersonUid  BIGINT  NOT NULL , erDeleted  BOOL  NOT NULL , erStatusSetAuth  TEXT , erLastModified  BIGINT  NOT NULL , erUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_197);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_198 = 'CREATE INDEX idx_enrolmentrequest_by_clazz ON EnrolmentRequest (erClazzUid, erStatus)';
      _stmtList.i1(element_198);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_199 = 'CREATE INDEX idx_enrolmentrequest_by_person ON EnrolmentRequest (erPersonUid, erStatus)';
      _stmtList.i1(element_199);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_200 = 'CREATE TABLE IF NOT EXISTS CoursePermission (  cpLastModified  BIGINT  NOT NULL , cpClazzUid  BIGINT  NOT NULL , cpToEnrolmentRole  INTEGER  NOT NULL , cpToPersonUid  BIGINT  NOT NULL , cpToGroupUid  BIGINT  NOT NULL , cpPermissionsFlag  BIGINT  NOT NULL , cpIsDeleted  BOOL  NOT NULL , cpUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_200);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_201 = 'CREATE INDEX idx_coursepermission_clazzuid ON CoursePermission (cpClazzUid)';
      _stmtList.i1(element_201);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_202 = 'CREATE TABLE IF NOT EXISTS SystemPermission (  spToPersonUid  BIGINT  NOT NULL , spToGroupUid  BIGINT  NOT NULL , spPermissionsFlag  BIGINT  NOT NULL , spLastModified  BIGINT  NOT NULL , spIsDeleted  BOOL  NOT NULL , spUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_202);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_203 = 'CREATE INDEX idx_systempermission_personuid ON SystemPermission (spToPersonUid)';
      _stmtList.i1(element_203);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_204 = 'CREATE TABLE IF NOT EXISTS CourseBlockPicture (  cbpUid  BIGINT  PRIMARY KEY  NOT NULL , cbpLct  BIGINT  NOT NULL , cbpPictureUri  TEXT , cbpThumbnailUri  TEXT )';
      _stmtList.i1(element_204);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_205 = 'CREATE TABLE IF NOT EXISTS ContentEntryPicture2 (  cepUid  BIGINT  PRIMARY KEY  NOT NULL , cepLct  BIGINT  NOT NULL , cepPictureUri  TEXT , cepThumbnailUri  TEXT )';
      _stmtList.i1(element_205);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_206 = 'CREATE TABLE IF NOT EXISTS TransferJobError (  tjeTjUid  INTEGER  NOT NULL , tjeTime  BIGINT  NOT NULL , tjeErrorStr  TEXT , tjeDismissed  BOOL  NOT NULL , tjeId  SERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_206);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_207 = 'CREATE INDEX idx_transferjoberror_tjetjuid ON TransferJobError (tjeTjUid)';
      _stmtList.i1(element_207);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_208 = 'CREATE TABLE IF NOT EXISTS VerbLangMapEntry (  vlmeVerbUid  BIGINT  NOT NULL , vlmeLangHash  BIGINT  NOT NULL , vlmeLangCode  TEXT , vlmeEntryString  TEXT , vlmeLastModified  BIGINT  NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )';
      _stmtList.i1(element_208);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_209 = 'CREATE TABLE IF NOT EXISTS GroupMemberActorJoin (  gmajGroupActorUid  BIGINT  NOT NULL , gmajMemberActorUid  BIGINT  NOT NULL , gmajLastMod  BIGINT  NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )';
      _stmtList.i1(element_209);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_210 = 'CREATE INDEX idx_groupmemberactorjoin_gmajgroupactoruid ON GroupMemberActorJoin (gmajGroupActorUid)';
      _stmtList.i1(element_210);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_211 = 'CREATE INDEX idx_groupmemberactorjoin_gmajmemberactoruid ON GroupMemberActorJoin (gmajMemberActorUid)';
      _stmtList.i1(element_211);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_212 = 'CREATE TABLE IF NOT EXISTS ActivityLangMapEntry (  almeActivityUid  BIGINT  NOT NULL , almeHash  BIGINT  NOT NULL , almeLangCode  TEXT , almePropName  TEXT , almeValue  TEXT , almeAieHash  BIGINT  NOT NULL , almeLastMod  BIGINT  NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )';
      _stmtList.i1(element_212);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_213 = 'CREATE TABLE IF NOT EXISTS ActivityExtensionEntity (  aeeActivityUid  BIGINT  NOT NULL , aeeKeyHash  BIGINT  NOT NULL , aeeKey  TEXT , aeeJson  TEXT , aeeLastMod  BIGINT  NOT NULL , aeeIsDeleted  BOOL  NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )';
      _stmtList.i1(element_213);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_214 = 'CREATE TABLE IF NOT EXISTS StatementContextActivityJoin (  scajFromStatementIdHi  BIGINT  NOT NULL , scajFromStatementIdLo  BIGINT  NOT NULL , scajToHash  BIGINT  NOT NULL , scajContextType  INTEGER  NOT NULL , scajToActivityUid  BIGINT  NOT NULL , scajToActivityId  TEXT , scajEtag  BIGINT  NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )';
      _stmtList.i1(element_214);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_215 = 'CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseActorUid  BIGINT  NOT NULL , xseAccountUsername  TEXT  NOT NULL , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseContentEntryVersionUid  BIGINT  NOT NULL  DEFAULT 0 , xseRootActivityId  TEXT  NOT NULL , xseRootActivityUid  BIGINT  NOT NULL , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseCompleted  BOOL  NOT NULL  DEFAULT false, knownActorUidToPersonUids  TEXT  NOT NULL , xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_215);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_216 = 'CREATE TABLE IF NOT EXISTS StatementEntityJson (  stmtJsonIdHi  BIGINT  NOT NULL , stmtJsonIdLo  BIGINT  NOT NULL , stmtEtag  BIGINT  NOT NULL , fullStatement  TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )';
      _stmtList.i1(element_216);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_217 = 'CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  BIGINT  NOT NULL , seHash  BIGINT  NOT NULL , seActivityUid  BIGINT  NOT NULL , seStateId  TEXT  NOT NULL , seLastMod  BIGINT  NOT NULL , seTimeStored  BIGINT  NOT NULL , seContentType  TEXT  NOT NULL , seCompressed  INTEGER  NOT NULL , seContent  TEXT  NOT NULL , seDeleted  BOOL  NOT NULL , seRegistrationHi  BIGINT , seRegistrationLo  BIGINT , seH5PPreloaded  BOOL  NOT NULL , seH5PSubContentId  TEXT , PRIMARY KEY (seActorUid, seHash) )';
      _stmtList.i1(element_217);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_218 = 'CREATE TABLE IF NOT EXISTS StateDeleteCommand (  sdcActorUid  BIGINT  NOT NULL , sdcHash  BIGINT  NOT NULL , sdcActivityUid  BIGINT  NOT NULL , sdcStateId  TEXT , sdcLastMod  BIGINT  NOT NULL , sdcRegistrationHi  BIGINT , sdcRegistrationLo  BIGINT , PRIMARY KEY (sdcActorUid, sdcHash) )';
      _stmtList.i1(element_218);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_219 = 'CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  BIGINT  NOT NULL , orPk1  BIGINT  NOT NULL , orPk2  BIGINT  NOT NULL  DEFAULT 0 , orPk3  BIGINT  NOT NULL  DEFAULT 0 , orPk4  BIGINT  NOT NULL  DEFAULT 0 , orTableId  INTEGER  NOT NULL , orUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_219);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_220 = 'CREATE TABLE IF NOT EXISTS ReplicationOperation (  repOpRemoteNodeId  BIGINT  NOT NULL , repOpStatus  INTEGER  NOT NULL , repOpTableId  INTEGER  NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )';
      _stmtList.i1(element_220);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_221 = 'CREATE TABLE IF NOT EXISTS PendingRepositorySession (  endpointUrl  TEXT , remoteNodeId  BIGINT  NOT NULL , rsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      _stmtList.i1(element_221);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_222 = 'CREATE TABLE IF NOT EXISTS DoorNode (  auth  TEXT , nodeId  BIGINT  NOT NULL , rel  INTEGER  NOT NULL  DEFAULT 2 , PRIMARY KEY (nodeId) )';
      _stmtList.i1(element_222);
    }
    return _stmtList;
  };
  protoOf(UmAppDatabase_JdbcImpl).s7j = function () {
    return this.f7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).t7j = function () {
    return this.g7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).u7j = function () {
    return this.h7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).v7j = function () {
    return this.i7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).w7j = function () {
    return this.j7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).x7j = function () {
    return this.k7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).y7j = function () {
    return this.l7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).z7j = function () {
    return this.m7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).a7k = function () {
    return this.n7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).b7k = function () {
    return this.o7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).c7k = function () {
    return this.p7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).d7k = function () {
    return this.q7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).e7k = function () {
    return this.r7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).f7k = function () {
    return this.s7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).g7k = function () {
    return this.t7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).h7k = function () {
    return this.u7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).i7k = function () {
    return this.v7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).j7k = function () {
    return this.w7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).k7k = function () {
    return this.x7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).l7k = function () {
    return this.y7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).m7k = function () {
    return this.z7p();
  };
  protoOf(UmAppDatabase_JdbcImpl).n7k = function () {
    return this.a7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).o7k = function () {
    return this.b7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).p7k = function () {
    return this.c7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).q7k = function () {
    return this.d7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).r7k = function () {
    return this.e7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).s7k = function () {
    return this.f7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).t7k = function () {
    return this.g7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).u7k = function () {
    return this.h7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).v7k = function () {
    return this.i7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).w7k = function () {
    return this.j7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).x7k = function () {
    return this.k7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).y7k = function () {
    return this.l7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).z7k = function () {
    return this.m7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).a7l = function () {
    return this.n7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).b7l = function () {
    return this.o7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).c7l = function () {
    return this.p7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).d7l = function () {
    return this.q7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).e7l = function () {
    return this.r7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).f7l = function () {
    return this.s7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).g7l = function () {
    return this.t7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).h7l = function () {
    return this.u7u();
  };
  protoOf(UmAppDatabase_JdbcImpl).i7l = function () {
    return this.u7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).j7l = function () {
    return this.v7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).k7l = function () {
    return this.w7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).l7l = function () {
    return this.x7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).m7l = function () {
    return this.y7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).n7l = function () {
    return this.z7q();
  };
  protoOf(UmAppDatabase_JdbcImpl).o7l = function () {
    return this.v7u();
  };
  protoOf(UmAppDatabase_JdbcImpl).p7l = function () {
    return this.w7u();
  };
  protoOf(UmAppDatabase_JdbcImpl).q7l = function () {
    return this.a7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).r7l = function () {
    return this.x7u();
  };
  protoOf(UmAppDatabase_JdbcImpl).s7l = function () {
    return this.b7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).t7l = function () {
    return this.c7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).u7l = function () {
    return this.d7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).v7l = function () {
    return this.e7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).w7l = function () {
    return this.f7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).x7l = function () {
    return this.g7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).y7l = function () {
    return this.h7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).z7l = function () {
    return this.i7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).a7m = function () {
    return this.j7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).b7m = function () {
    return this.k7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).c7m = function () {
    return this.l7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).d7m = function () {
    return this.m7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).e7m = function () {
    return this.n7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).f7m = function () {
    return this.o7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).g7m = function () {
    return this.p7r();
  };
  protoOf(UmAppDatabase_JdbcImpl).h7m = function () {
    return this.q7r();
  };
  function realNodeIdAuthCache$factory() {
    return getPropertyCallableRef('realNodeIdAuthCache', 1, KProperty1, function (receiver) {
      return receiver.q5p();
    }, null);
  }
  function realPrimaryKeyManager$factory() {
    return getPropertyCallableRef('realPrimaryKeyManager', 1, KProperty1, function (receiver) {
      return receiver.a5p();
    }, null);
  }
  function _PersonDao$factory_0() {
    return getPropertyCallableRef('_PersonDao', 1, KProperty1, function (receiver) {
      return receiver.f7p();
    }, null);
  }
  function _ClazzDao$factory_0() {
    return getPropertyCallableRef('_ClazzDao', 1, KProperty1, function (receiver) {
      return receiver.g7p();
    }, null);
  }
  function _CourseBlockDao$factory_0() {
    return getPropertyCallableRef('_CourseBlockDao', 1, KProperty1, function (receiver) {
      return receiver.h7p();
    }, null);
  }
  function _CourseTerminologyDao$factory_0() {
    return getPropertyCallableRef('_CourseTerminologyDao', 1, KProperty1, function (receiver) {
      return receiver.i7p();
    }, null);
  }
  function _CourseGroupSetDao$factory_0() {
    return getPropertyCallableRef('_CourseGroupSetDao', 1, KProperty1, function (receiver) {
      return receiver.j7p();
    }, null);
  }
  function _CourseGroupMemberDao$factory_0() {
    return getPropertyCallableRef('_CourseGroupMemberDao', 1, KProperty1, function (receiver) {
      return receiver.k7p();
    }, null);
  }
  function _ClazzEnrolmentDao$factory_0() {
    return getPropertyCallableRef('_ClazzEnrolmentDao', 1, KProperty1, function (receiver) {
      return receiver.l7p();
    }, null);
  }
  function _LeavingReasonDao$factory_0() {
    return getPropertyCallableRef('_LeavingReasonDao', 1, KProperty1, function (receiver) {
      return receiver.m7p();
    }, null);
  }
  function _ContentEntryDao$factory_0() {
    return getPropertyCallableRef('_ContentEntryDao', 1, KProperty1, function (receiver) {
      return receiver.n7p();
    }, null);
  }
  function _ContentEntryContentCategoryJoinDao$factory_0() {
    return getPropertyCallableRef('_ContentEntryContentCategoryJoinDao', 1, KProperty1, function (receiver) {
      return receiver.o7p();
    }, null);
  }
  function _ContentEntryParentChildJoinDao$factory_0() {
    return getPropertyCallableRef('_ContentEntryParentChildJoinDao', 1, KProperty1, function (receiver) {
      return receiver.p7p();
    }, null);
  }
  function _ContentEntryRelatedEntryJoinDao$factory_0() {
    return getPropertyCallableRef('_ContentEntryRelatedEntryJoinDao', 1, KProperty1, function (receiver) {
      return receiver.q7p();
    }, null);
  }
  function _ContentCategorySchemaDao$factory_0() {
    return getPropertyCallableRef('_ContentCategorySchemaDao', 1, KProperty1, function (receiver) {
      return receiver.r7p();
    }, null);
  }
  function _ContentCategoryDao$factory_0() {
    return getPropertyCallableRef('_ContentCategoryDao', 1, KProperty1, function (receiver) {
      return receiver.s7p();
    }, null);
  }
  function _LanguageDao$factory_0() {
    return getPropertyCallableRef('_LanguageDao', 1, KProperty1, function (receiver) {
      return receiver.t7p();
    }, null);
  }
  function _LanguageVariantDao$factory_0() {
    return getPropertyCallableRef('_LanguageVariantDao', 1, KProperty1, function (receiver) {
      return receiver.u7p();
    }, null);
  }
  function _PersonGroupDao$factory_0() {
    return getPropertyCallableRef('_PersonGroupDao', 1, KProperty1, function (receiver) {
      return receiver.v7p();
    }, null);
  }
  function _PersonGroupMemberDao$factory_0() {
    return getPropertyCallableRef('_PersonGroupMemberDao', 1, KProperty1, function (receiver) {
      return receiver.w7p();
    }, null);
  }
  function _PersonPictureDao$factory_0() {
    return getPropertyCallableRef('_PersonPictureDao', 1, KProperty1, function (receiver) {
      return receiver.x7p();
    }, null);
  }
  function _VerbDao$factory_0() {
    return getPropertyCallableRef('_VerbDao', 1, KProperty1, function (receiver) {
      return receiver.y7p();
    }, null);
  }
  function _ActivityEntityDao$factory_0() {
    return getPropertyCallableRef('_ActivityEntityDao', 1, KProperty1, function (receiver) {
      return receiver.z7p();
    }, null);
  }
  function _ReportDao$factory_0() {
    return getPropertyCallableRef('_ReportDao', 1, KProperty1, function (receiver) {
      return receiver.a7q();
    }, null);
  }
  function _StatementDao$factory_0() {
    return getPropertyCallableRef('_StatementDao', 1, KProperty1, function (receiver) {
      return receiver.b7q();
    }, null);
  }
  function _ActorDao$factory_0() {
    return getPropertyCallableRef('_ActorDao', 1, KProperty1, function (receiver) {
      return receiver.c7q();
    }, null);
  }
  function _ClazzLogAttendanceRecordDao$factory_0() {
    return getPropertyCallableRef('_ClazzLogAttendanceRecordDao', 1, KProperty1, function (receiver) {
      return receiver.d7q();
    }, null);
  }
  function _ClazzLogDao$factory_0() {
    return getPropertyCallableRef('_ClazzLogDao', 1, KProperty1, function (receiver) {
      return receiver.e7q();
    }, null);
  }
  function _ScheduleDao$factory_0() {
    return getPropertyCallableRef('_ScheduleDao', 1, KProperty1, function (receiver) {
      return receiver.f7q();
    }, null);
  }
  function _HolidayCalendarDao$factory_0() {
    return getPropertyCallableRef('_HolidayCalendarDao', 1, KProperty1, function (receiver) {
      return receiver.g7q();
    }, null);
  }
  function _HolidayDao$factory_0() {
    return getPropertyCallableRef('_HolidayDao', 1, KProperty1, function (receiver) {
      return receiver.h7q();
    }, null);
  }
  function _ClazzAssignmentDao$factory_0() {
    return getPropertyCallableRef('_ClazzAssignmentDao', 1, KProperty1, function (receiver) {
      return receiver.i7q();
    }, null);
  }
  function _CourseAssignmentSubmissionDao$factory_0() {
    return getPropertyCallableRef('_CourseAssignmentSubmissionDao', 1, KProperty1, function (receiver) {
      return receiver.j7q();
    }, null);
  }
  function _CourseAssignmentSubmissionFileDao$factory_0() {
    return getPropertyCallableRef('_CourseAssignmentSubmissionFileDao', 1, KProperty1, function (receiver) {
      return receiver.k7q();
    }, null);
  }
  function _CourseAssignmentMarkDao$factory_0() {
    return getPropertyCallableRef('_CourseAssignmentMarkDao', 1, KProperty1, function (receiver) {
      return receiver.l7q();
    }, null);
  }
  function _CommentsDao$factory_0() {
    return getPropertyCallableRef('_CommentsDao', 1, KProperty1, function (receiver) {
      return receiver.m7q();
    }, null);
  }
  function _SiteDao$factory_0() {
    return getPropertyCallableRef('_SiteDao', 1, KProperty1, function (receiver) {
      return receiver.n7q();
    }, null);
  }
  function _SiteTermsDao$factory_0() {
    return getPropertyCallableRef('_SiteTermsDao', 1, KProperty1, function (receiver) {
      return receiver.o7q();
    }, null);
  }
  function _PersonParentJoinDao$factory_0() {
    return getPropertyCallableRef('_PersonParentJoinDao', 1, KProperty1, function (receiver) {
      return receiver.p7q();
    }, null);
  }
  function _ScopedGrantDao$factory_0() {
    return getPropertyCallableRef('_ScopedGrantDao', 1, KProperty1, function (receiver) {
      return receiver.q7q();
    }, null);
  }
  function _ErrorReportDao$factory_0() {
    return getPropertyCallableRef('_ErrorReportDao', 1, KProperty1, function (receiver) {
      return receiver.r7q();
    }, null);
  }
  function _PersonAuth2Dao$factory_0() {
    return getPropertyCallableRef('_PersonAuth2Dao', 1, KProperty1, function (receiver) {
      return receiver.s7q();
    }, null);
  }
  function _UserSessionDao$factory_0() {
    return getPropertyCallableRef('_UserSessionDao', 1, KProperty1, function (receiver) {
      return receiver.t7q();
    }, null);
  }
  function _ContentEntryImportJobDao$factory() {
    return getPropertyCallableRef('_ContentEntryImportJobDao', 1, KProperty1, function (receiver) {
      return receiver.u7u();
    }, null);
  }
  function _CoursePictureDao$factory_0() {
    return getPropertyCallableRef('_CoursePictureDao', 1, KProperty1, function (receiver) {
      return receiver.u7q();
    }, null);
  }
  function _ContentEntryPictureDao$factory_0() {
    return getPropertyCallableRef('_ContentEntryPictureDao', 1, KProperty1, function (receiver) {
      return receiver.v7q();
    }, null);
  }
  function _MessageDao$factory_0() {
    return getPropertyCallableRef('_MessageDao', 1, KProperty1, function (receiver) {
      return receiver.w7q();
    }, null);
  }
  function _PeerReviewerAllocationDao$factory_0() {
    return getPropertyCallableRef('_PeerReviewerAllocationDao', 1, KProperty1, function (receiver) {
      return receiver.x7q();
    }, null);
  }
  function _DiscussionPostDao$factory_0() {
    return getPropertyCallableRef('_DiscussionPostDao', 1, KProperty1, function (receiver) {
      return receiver.y7q();
    }, null);
  }
  function _ContentEntryVersionDao$factory_0() {
    return getPropertyCallableRef('_ContentEntryVersionDao', 1, KProperty1, function (receiver) {
      return receiver.z7q();
    }, null);
  }
  function _TransferJobDao$factory() {
    return getPropertyCallableRef('_TransferJobDao', 1, KProperty1, function (receiver) {
      return receiver.v7u();
    }, null);
  }
  function _TransferJobItemDao$factory() {
    return getPropertyCallableRef('_TransferJobItemDao', 1, KProperty1, function (receiver) {
      return receiver.w7u();
    }, null);
  }
  function _OfflineItemDao$factory_0() {
    return getPropertyCallableRef('_OfflineItemDao', 1, KProperty1, function (receiver) {
      return receiver.a7r();
    }, null);
  }
  function _DeletedItemDao$factory() {
    return getPropertyCallableRef('_DeletedItemDao', 1, KProperty1, function (receiver) {
      return receiver.x7u();
    }, null);
  }
  function _EnrolmentRequestDao$factory_0() {
    return getPropertyCallableRef('_EnrolmentRequestDao', 1, KProperty1, function (receiver) {
      return receiver.b7r();
    }, null);
  }
  function _CoursePermissionDao$factory_0() {
    return getPropertyCallableRef('_CoursePermissionDao', 1, KProperty1, function (receiver) {
      return receiver.c7r();
    }, null);
  }
  function _SystemPermissionDao$factory_0() {
    return getPropertyCallableRef('_SystemPermissionDao', 1, KProperty1, function (receiver) {
      return receiver.d7r();
    }, null);
  }
  function _CourseBlockPictureDao$factory_0() {
    return getPropertyCallableRef('_CourseBlockPictureDao', 1, KProperty1, function (receiver) {
      return receiver.e7r();
    }, null);
  }
  function _ContentEntryPicture2Dao$factory_0() {
    return getPropertyCallableRef('_ContentEntryPicture2Dao', 1, KProperty1, function (receiver) {
      return receiver.f7r();
    }, null);
  }
  function _StudentResultDao$factory_0() {
    return getPropertyCallableRef('_StudentResultDao', 1, KProperty1, function (receiver) {
      return receiver.g7r();
    }, null);
  }
  function _VerbLangMapEntryDao$factory_0() {
    return getPropertyCallableRef('_VerbLangMapEntryDao', 1, KProperty1, function (receiver) {
      return receiver.h7r();
    }, null);
  }
  function _GroupMemberActorJoinDao$factory_0() {
    return getPropertyCallableRef('_GroupMemberActorJoinDao', 1, KProperty1, function (receiver) {
      return receiver.i7r();
    }, null);
  }
  function _ActivityLangMapEntryDao$factory_0() {
    return getPropertyCallableRef('_ActivityLangMapEntryDao', 1, KProperty1, function (receiver) {
      return receiver.j7r();
    }, null);
  }
  function _ActivityInteractionDao$factory_0() {
    return getPropertyCallableRef('_ActivityInteractionDao', 1, KProperty1, function (receiver) {
      return receiver.k7r();
    }, null);
  }
  function _ActivityExtensionDao$factory_0() {
    return getPropertyCallableRef('_ActivityExtensionDao', 1, KProperty1, function (receiver) {
      return receiver.l7r();
    }, null);
  }
  function _StatementContextActivityJoinDao$factory_0() {
    return getPropertyCallableRef('_StatementContextActivityJoinDao', 1, KProperty1, function (receiver) {
      return receiver.m7r();
    }, null);
  }
  function _XapiSessionEntityDao$factory_0() {
    return getPropertyCallableRef('_XapiSessionEntityDao', 1, KProperty1, function (receiver) {
      return receiver.n7r();
    }, null);
  }
  function _StatementEntityJsonDao$factory_0() {
    return getPropertyCallableRef('_StatementEntityJsonDao', 1, KProperty1, function (receiver) {
      return receiver.o7r();
    }, null);
  }
  function _StateEntityDao$factory_0() {
    return getPropertyCallableRef('_StateEntityDao', 1, KProperty1, function (receiver) {
      return receiver.p7r();
    }, null);
  }
  function _StateDeleteCommandDao$factory_0() {
    return getPropertyCallableRef('_StateDeleteCommandDao', 1, KProperty1, function (receiver) {
      return receiver.q7r();
    }, null);
  }
  function _get__endpoint__5zlgkj($this) {
    return $this.z7u_1.y6b_1;
  }
  function _get__PersonDao__uzj2el($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.c7v_1;
    _PersonDao$factory_1();
    return this_0.t2();
  }
  function _get__ClazzDao__9uv608($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.d7v_1;
    _ClazzDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseBlockDao__4pp4mq($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.e7v_1;
    _CourseBlockDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseTerminologyDao__a6bld4($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.f7v_1;
    _CourseTerminologyDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseGroupSetDao__hfsuk6($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.g7v_1;
    _CourseGroupSetDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseGroupMemberDao__l3hcwy($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.h7v_1;
    _CourseGroupMemberDao$factory_1();
    return this_0.t2();
  }
  function _get__ClazzEnrolmentDao__q8nlvo($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.i7v_1;
    _ClazzEnrolmentDao$factory_1();
    return this_0.t2();
  }
  function _get__LeavingReasonDao__m21j14($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.j7v_1;
    _LeavingReasonDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryDao__asrab3($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.k7v_1;
    _ContentEntryDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryContentCategoryJoinDao__c8c5lk($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.l7v_1;
    _ContentEntryContentCategoryJoinDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryParentChildJoinDao__moxer($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.m7v_1;
    _ContentEntryParentChildJoinDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryRelatedEntryJoinDao__wdqzcu($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.n7v_1;
    _ContentEntryRelatedEntryJoinDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentCategorySchemaDao__95pyeg($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.o7v_1;
    _ContentCategorySchemaDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentCategoryDao__tsqjyv($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.p7v_1;
    _ContentCategoryDao$factory_1();
    return this_0.t2();
  }
  function _get__LanguageDao__1z90w($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.q7v_1;
    _LanguageDao$factory_1();
    return this_0.t2();
  }
  function _get__LanguageVariantDao__rxf1fx($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.r7v_1;
    _LanguageVariantDao$factory_1();
    return this_0.t2();
  }
  function _get__PersonGroupDao__hew8d2($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.s7v_1;
    _PersonGroupDao$factory_1();
    return this_0.t2();
  }
  function _get__PersonGroupMemberDao__mvnpb8($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.t7v_1;
    _PersonGroupMemberDao$factory_1();
    return this_0.t2();
  }
  function _get__PersonPictureDao__2gbg89($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.u7v_1;
    _PersonPictureDao$factory_1();
    return this_0.t2();
  }
  function _get__VerbDao__618h8p($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.v7v_1;
    _VerbDao$factory_1();
    return this_0.t2();
  }
  function _get__ActivityEntityDao__cj0phy($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.w7v_1;
    _ActivityEntityDao$factory_1();
    return this_0.t2();
  }
  function _get__ReportDao__jbr9h0($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.x7v_1;
    _ReportDao$factory_1();
    return this_0.t2();
  }
  function _get__StatementDao__fnw41b($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.y7v_1;
    _StatementDao$factory_1();
    return this_0.t2();
  }
  function _get__ActorDao__6yq8sr($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.z7v_1;
    _ActorDao$factory_1();
    return this_0.t2();
  }
  function _get__ClazzLogAttendanceRecordDao__r3qxzy($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.a7w_1;
    _ClazzLogAttendanceRecordDao$factory_1();
    return this_0.t2();
  }
  function _get__ClazzLogDao__xeo15w($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.b7w_1;
    _ClazzLogDao$factory_1();
    return this_0.t2();
  }
  function _get__ScheduleDao__h5s1ch($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.c7w_1;
    _ScheduleDao$factory_1();
    return this_0.t2();
  }
  function _get__HolidayCalendarDao__gbx0p6($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.d7w_1;
    _HolidayCalendarDao$factory_1();
    return this_0.t2();
  }
  function _get__HolidayDao__x92kh4($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.e7w_1;
    _HolidayDao$factory_1();
    return this_0.t2();
  }
  function _get__ClazzAssignmentDao__kc42th($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.f7w_1;
    _ClazzAssignmentDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseAssignmentSubmissionDao__ir2b4c($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.g7w_1;
    _CourseAssignmentSubmissionDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseAssignmentSubmissionFileDao__63r33c($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.h7w_1;
    _CourseAssignmentSubmissionFileDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseAssignmentMarkDao__yi6swd($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.i7w_1;
    _CourseAssignmentMarkDao$factory_1();
    return this_0.t2();
  }
  function _get__CommentsDao__mxkt84($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.j7w_1;
    _CommentsDao$factory_1();
    return this_0.t2();
  }
  function _get__SiteDao__wss4yp($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.k7w_1;
    _SiteDao$factory_1();
    return this_0.t2();
  }
  function _get__SiteTermsDao__f7rqww($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.l7w_1;
    _SiteTermsDao$factory_1();
    return this_0.t2();
  }
  function _get__PersonParentJoinDao__o0iclb($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.m7w_1;
    _PersonParentJoinDao$factory_1();
    return this_0.t2();
  }
  function _get__ScopedGrantDao__9w613o($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.n7w_1;
    _ScopedGrantDao$factory_1();
    return this_0.t2();
  }
  function _get__ErrorReportDao__d8e0x0($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.o7w_1;
    _ErrorReportDao$factory_1();
    return this_0.t2();
  }
  function _get__PersonAuth2Dao__uki6ut($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.p7w_1;
    _PersonAuth2Dao$factory_1();
    return this_0.t2();
  }
  function _get__UserSessionDao__wcreq3($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.q7w_1;
    _UserSessionDao$factory_1();
    return this_0.t2();
  }
  function _get__CoursePictureDao__qr47kz($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.r7w_1;
    _CoursePictureDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryPictureDao__hzeabf($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.s7w_1;
    _ContentEntryPictureDao$factory_1();
    return this_0.t2();
  }
  function _get__MessageDao__u7e9l3($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.t7w_1;
    _MessageDao$factory_1();
    return this_0.t2();
  }
  function _get__PeerReviewerAllocationDao__m08hnj($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.u7w_1;
    _PeerReviewerAllocationDao$factory_1();
    return this_0.t2();
  }
  function _get__DiscussionPostDao__bymsxs($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.v7w_1;
    _DiscussionPostDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryVersionDao__egjvvj($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.w7w_1;
    _ContentEntryVersionDao$factory_1();
    return this_0.t2();
  }
  function _get__OfflineItemDao__4yjkly($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.x7w_1;
    _OfflineItemDao$factory_1();
    return this_0.t2();
  }
  function _get__DeletedItemDao__4i3s1g($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.y7w_1;
    _DeletedItemDao$factory_0();
    return this_0.t2();
  }
  function _get__EnrolmentRequestDao__wkcqzn($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.z7w_1;
    _EnrolmentRequestDao$factory_1();
    return this_0.t2();
  }
  function _get__CoursePermissionDao__hib1jy($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.a7x_1;
    _CoursePermissionDao$factory_1();
    return this_0.t2();
  }
  function _get__SystemPermissionDao__c05myy($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.b7x_1;
    _SystemPermissionDao$factory_1();
    return this_0.t2();
  }
  function _get__CourseBlockPictureDao__hx4ubg($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.c7x_1;
    _CourseBlockPictureDao$factory_1();
    return this_0.t2();
  }
  function _get__ContentEntryPicture2Dao__ah6hid($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.d7x_1;
    _ContentEntryPicture2Dao$factory_1();
    return this_0.t2();
  }
  function _get__StudentResultDao__sr8vqw($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.e7x_1;
    _StudentResultDao$factory_1();
    return this_0.t2();
  }
  function _get__VerbLangMapEntryDao__oda6e3($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.f7x_1;
    _VerbLangMapEntryDao$factory_1();
    return this_0.t2();
  }
  function _get__GroupMemberActorJoinDao__jlmme6($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.g7x_1;
    _GroupMemberActorJoinDao$factory_1();
    return this_0.t2();
  }
  function _get__ActivityLangMapEntryDao__htpiob($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.h7x_1;
    _ActivityLangMapEntryDao$factory_1();
    return this_0.t2();
  }
  function _get__ActivityInteractionDao__x272ir($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.i7x_1;
    _ActivityInteractionDao$factory_1();
    return this_0.t2();
  }
  function _get__ActivityExtensionDao__cpvg5s($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.j7x_1;
    _ActivityExtensionDao$factory_1();
    return this_0.t2();
  }
  function _get__StatementContextActivityJoinDao__t5jinj($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.k7x_1;
    _StatementContextActivityJoinDao$factory_1();
    return this_0.t2();
  }
  function _get__XapiSessionEntityDao__tpjn2v($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.l7x_1;
    _XapiSessionEntityDao$factory_1();
    return this_0.t2();
  }
  function _get__StatementEntityJsonDao__4ym94q($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.m7x_1;
    _StatementEntityJsonDao$factory_1();
    return this_0.t2();
  }
  function _get__StateEntityDao__vtinv8($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.n7x_1;
    _StateEntityDao$factory_1();
    return this_0.t2();
  }
  function _get__StateDeleteCommandDao__s2ay7b($this) {
    // Inline function 'kotlin.getValue' call
    var this_0 = $this.o7x_1;
    _StateDeleteCommandDao$factory_1();
    return this_0.t2();
  }
  function Companion() {
    this.p7x_1 = 'UmAppDatabase';
  }
  var Companion_instance_0;
  function Companion_getInstance_2() {
    return Companion_instance_0;
  }
  function UmAppDatabase_Repo$_PersonDao$delegate$lambda(this$0) {
    return function () {
      return new PersonDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.s7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ClazzDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.t7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseBlockDao$delegate$lambda(this$0) {
    return function () {
      return new CourseBlockDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.u7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseTerminologyDao$delegate$lambda(this$0) {
    return function () {
      return new CourseTerminologyDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.v7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseGroupSetDao$delegate$lambda(this$0) {
    return function () {
      return new CourseGroupSetDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.w7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseGroupMemberDao$delegate$lambda(this$0) {
    return function () {
      return new CourseGroupMemberDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.x7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ClazzEnrolmentDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzEnrolmentDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.y7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_LeavingReasonDao$delegate$lambda(this$0) {
    return function () {
      return new LeavingReasonDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.z7j(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.a7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryContentCategoryJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryContentCategoryJoinDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.b7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryParentChildJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryParentChildJoinDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.c7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryRelatedEntryJoinDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryRelatedEntryJoinDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.d7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentCategorySchemaDao$delegate$lambda(this$0) {
    return function () {
      return new ContentCategorySchemaDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.e7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentCategoryDao$delegate$lambda(this$0) {
    return function () {
      return new ContentCategoryDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.f7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_LanguageDao$delegate$lambda(this$0) {
    return function () {
      return new LanguageDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.g7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_LanguageVariantDao$delegate$lambda(this$0) {
    return function () {
      return new LanguageVariantDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.h7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_PersonGroupDao$delegate$lambda(this$0) {
    return function () {
      return new PersonGroupDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.i7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_PersonGroupMemberDao$delegate$lambda(this$0) {
    return function () {
      return new PersonGroupMemberDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.j7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_PersonPictureDao$delegate$lambda(this$0) {
    return function () {
      return new PersonPictureDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.k7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_VerbDao$delegate$lambda(this$0) {
    return function () {
      return new VerbDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.l7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ActivityEntityDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityEntityDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.m7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ReportDao$delegate$lambda(this$0) {
    return function () {
      return new ReportDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.n7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_StatementDao$delegate$lambda(this$0) {
    return function () {
      return new StatementDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.o7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ActorDao$delegate$lambda(this$0) {
    return function () {
      return new ActorDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.p7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ClazzLogAttendanceRecordDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzLogAttendanceRecordDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.q7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ClazzLogDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzLogDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.r7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ScheduleDao$delegate$lambda(this$0) {
    return function () {
      return new ScheduleDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.s7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_HolidayCalendarDao$delegate$lambda(this$0) {
    return function () {
      return new HolidayCalendarDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.t7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_HolidayDao$delegate$lambda(this$0) {
    return function () {
      return new HolidayDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.u7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ClazzAssignmentDao$delegate$lambda(this$0) {
    return function () {
      return new ClazzAssignmentDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.v7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseAssignmentSubmissionDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentSubmissionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.w7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseAssignmentSubmissionFileDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentSubmissionFileDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.x7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseAssignmentMarkDao$delegate$lambda(this$0) {
    return function () {
      return new CourseAssignmentMarkDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.y7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CommentsDao$delegate$lambda(this$0) {
    return function () {
      return new CommentsDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.z7k(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_SiteDao$delegate$lambda(this$0) {
    return function () {
      return new SiteDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.a7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_SiteTermsDao$delegate$lambda(this$0) {
    return function () {
      return new SiteTermsDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.b7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_PersonParentJoinDao$delegate$lambda(this$0) {
    return function () {
      return new PersonParentJoinDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.c7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ScopedGrantDao$delegate$lambda(this$0) {
    return function () {
      return new ScopedGrantDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.d7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ErrorReportDao$delegate$lambda(this$0) {
    return function () {
      return new ErrorReportDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.e7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_PersonAuth2Dao$delegate$lambda(this$0) {
    return function () {
      return new PersonAuth2Dao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.f7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_UserSessionDao$delegate$lambda(this$0) {
    return function () {
      return new UserSessionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.g7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CoursePictureDao$delegate$lambda(this$0) {
    return function () {
      return new CoursePictureDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.i7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryPictureDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryPictureDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.j7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_MessageDao$delegate$lambda(this$0) {
    return function () {
      return new MessageDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.k7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_PeerReviewerAllocationDao$delegate$lambda(this$0) {
    return function () {
      return new PeerReviewerAllocationDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.l7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_DiscussionPostDao$delegate$lambda(this$0) {
    return function () {
      return new DiscussionPostDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.m7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryVersionDao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryVersionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.n7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_OfflineItemDao$delegate$lambda(this$0) {
    return function () {
      return new OfflineItemDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.q7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_DeletedItemDao$delegate$lambda(this$0) {
    return function () {
      return new DeletedItemDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.r7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_EnrolmentRequestDao$delegate$lambda(this$0) {
    return function () {
      return new EnrolmentRequestDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.s7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CoursePermissionDao$delegate$lambda(this$0) {
    return function () {
      return new CoursePermissionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.t7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_SystemPermissionDao$delegate$lambda(this$0) {
    return function () {
      return new SystemPermissionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.u7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_CourseBlockPictureDao$delegate$lambda(this$0) {
    return function () {
      return new CourseBlockPictureDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.v7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ContentEntryPicture2Dao$delegate$lambda(this$0) {
    return function () {
      return new ContentEntryPicture2Dao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.w7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_StudentResultDao$delegate$lambda(this$0) {
    return function () {
      return new StudentResultDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.x7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_VerbLangMapEntryDao$delegate$lambda(this$0) {
    return function () {
      return new VerbLangMapEntryDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.y7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_GroupMemberActorJoinDao$delegate$lambda(this$0) {
    return function () {
      return new GroupMemberActorJoinDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.z7l(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ActivityLangMapEntryDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityLangMapEntryDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.a7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ActivityInteractionDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityInteractionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.b7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_ActivityExtensionDao$delegate$lambda(this$0) {
    return function () {
      return new ActivityExtensionDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.c7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_StatementContextActivityJoinDao$delegate$lambda(this$0) {
    return function () {
      return new StatementContextActivityJoinDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.d7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_XapiSessionEntityDao$delegate$lambda(this$0) {
    return function () {
      return new XapiSessionEntityDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.e7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_StatementEntityJsonDao$delegate$lambda(this$0) {
    return function () {
      return new StatementEntityJsonDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.f7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_StateEntityDao$delegate$lambda(this$0) {
    return function () {
      return new StateEntityDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.g7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo$_StateDeleteCommandDao$delegate$lambda(this$0) {
    return function () {
      return new StateDeleteCommandDao_Repo(this$0.y7u_1, this$0, this$0.y7u_1.h7m(), this$0.q7x(), this$0.r7x(), _get__endpoint__5zlgkj(this$0));
    };
  }
  function UmAppDatabase_Repo(db, dbUnwrapped, config) {
    UmAppDatabase.call(this);
    this.y7u_1 = db;
    this.z7u_1 = config;
    this.a7v_1 = dbUnwrapped;
    this.b7v_1 = new RepositoryHelper(this.y7u_1, this.z7u_1);
    var tmp = this;
    tmp.c7v_1 = lazy_0(UmAppDatabase_Repo$_PersonDao$delegate$lambda(this));
    var tmp_0 = this;
    tmp_0.d7v_1 = lazy_0(UmAppDatabase_Repo$_ClazzDao$delegate$lambda(this));
    var tmp_1 = this;
    tmp_1.e7v_1 = lazy_0(UmAppDatabase_Repo$_CourseBlockDao$delegate$lambda(this));
    var tmp_2 = this;
    tmp_2.f7v_1 = lazy_0(UmAppDatabase_Repo$_CourseTerminologyDao$delegate$lambda(this));
    var tmp_3 = this;
    tmp_3.g7v_1 = lazy_0(UmAppDatabase_Repo$_CourseGroupSetDao$delegate$lambda(this));
    var tmp_4 = this;
    tmp_4.h7v_1 = lazy_0(UmAppDatabase_Repo$_CourseGroupMemberDao$delegate$lambda(this));
    var tmp_5 = this;
    tmp_5.i7v_1 = lazy_0(UmAppDatabase_Repo$_ClazzEnrolmentDao$delegate$lambda(this));
    var tmp_6 = this;
    tmp_6.j7v_1 = lazy_0(UmAppDatabase_Repo$_LeavingReasonDao$delegate$lambda(this));
    var tmp_7 = this;
    tmp_7.k7v_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryDao$delegate$lambda(this));
    var tmp_8 = this;
    tmp_8.l7v_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryContentCategoryJoinDao$delegate$lambda(this));
    var tmp_9 = this;
    tmp_9.m7v_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryParentChildJoinDao$delegate$lambda(this));
    var tmp_10 = this;
    tmp_10.n7v_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryRelatedEntryJoinDao$delegate$lambda(this));
    var tmp_11 = this;
    tmp_11.o7v_1 = lazy_0(UmAppDatabase_Repo$_ContentCategorySchemaDao$delegate$lambda(this));
    var tmp_12 = this;
    tmp_12.p7v_1 = lazy_0(UmAppDatabase_Repo$_ContentCategoryDao$delegate$lambda(this));
    var tmp_13 = this;
    tmp_13.q7v_1 = lazy_0(UmAppDatabase_Repo$_LanguageDao$delegate$lambda(this));
    var tmp_14 = this;
    tmp_14.r7v_1 = lazy_0(UmAppDatabase_Repo$_LanguageVariantDao$delegate$lambda(this));
    var tmp_15 = this;
    tmp_15.s7v_1 = lazy_0(UmAppDatabase_Repo$_PersonGroupDao$delegate$lambda(this));
    var tmp_16 = this;
    tmp_16.t7v_1 = lazy_0(UmAppDatabase_Repo$_PersonGroupMemberDao$delegate$lambda(this));
    var tmp_17 = this;
    tmp_17.u7v_1 = lazy_0(UmAppDatabase_Repo$_PersonPictureDao$delegate$lambda(this));
    var tmp_18 = this;
    tmp_18.v7v_1 = lazy_0(UmAppDatabase_Repo$_VerbDao$delegate$lambda(this));
    var tmp_19 = this;
    tmp_19.w7v_1 = lazy_0(UmAppDatabase_Repo$_ActivityEntityDao$delegate$lambda(this));
    var tmp_20 = this;
    tmp_20.x7v_1 = lazy_0(UmAppDatabase_Repo$_ReportDao$delegate$lambda(this));
    var tmp_21 = this;
    tmp_21.y7v_1 = lazy_0(UmAppDatabase_Repo$_StatementDao$delegate$lambda(this));
    var tmp_22 = this;
    tmp_22.z7v_1 = lazy_0(UmAppDatabase_Repo$_ActorDao$delegate$lambda(this));
    var tmp_23 = this;
    tmp_23.a7w_1 = lazy_0(UmAppDatabase_Repo$_ClazzLogAttendanceRecordDao$delegate$lambda(this));
    var tmp_24 = this;
    tmp_24.b7w_1 = lazy_0(UmAppDatabase_Repo$_ClazzLogDao$delegate$lambda(this));
    var tmp_25 = this;
    tmp_25.c7w_1 = lazy_0(UmAppDatabase_Repo$_ScheduleDao$delegate$lambda(this));
    var tmp_26 = this;
    tmp_26.d7w_1 = lazy_0(UmAppDatabase_Repo$_HolidayCalendarDao$delegate$lambda(this));
    var tmp_27 = this;
    tmp_27.e7w_1 = lazy_0(UmAppDatabase_Repo$_HolidayDao$delegate$lambda(this));
    var tmp_28 = this;
    tmp_28.f7w_1 = lazy_0(UmAppDatabase_Repo$_ClazzAssignmentDao$delegate$lambda(this));
    var tmp_29 = this;
    tmp_29.g7w_1 = lazy_0(UmAppDatabase_Repo$_CourseAssignmentSubmissionDao$delegate$lambda(this));
    var tmp_30 = this;
    tmp_30.h7w_1 = lazy_0(UmAppDatabase_Repo$_CourseAssignmentSubmissionFileDao$delegate$lambda(this));
    var tmp_31 = this;
    tmp_31.i7w_1 = lazy_0(UmAppDatabase_Repo$_CourseAssignmentMarkDao$delegate$lambda(this));
    var tmp_32 = this;
    tmp_32.j7w_1 = lazy_0(UmAppDatabase_Repo$_CommentsDao$delegate$lambda(this));
    var tmp_33 = this;
    tmp_33.k7w_1 = lazy_0(UmAppDatabase_Repo$_SiteDao$delegate$lambda(this));
    var tmp_34 = this;
    tmp_34.l7w_1 = lazy_0(UmAppDatabase_Repo$_SiteTermsDao$delegate$lambda(this));
    var tmp_35 = this;
    tmp_35.m7w_1 = lazy_0(UmAppDatabase_Repo$_PersonParentJoinDao$delegate$lambda(this));
    var tmp_36 = this;
    tmp_36.n7w_1 = lazy_0(UmAppDatabase_Repo$_ScopedGrantDao$delegate$lambda(this));
    var tmp_37 = this;
    tmp_37.o7w_1 = lazy_0(UmAppDatabase_Repo$_ErrorReportDao$delegate$lambda(this));
    var tmp_38 = this;
    tmp_38.p7w_1 = lazy_0(UmAppDatabase_Repo$_PersonAuth2Dao$delegate$lambda(this));
    var tmp_39 = this;
    tmp_39.q7w_1 = lazy_0(UmAppDatabase_Repo$_UserSessionDao$delegate$lambda(this));
    var tmp_40 = this;
    tmp_40.r7w_1 = lazy_0(UmAppDatabase_Repo$_CoursePictureDao$delegate$lambda(this));
    var tmp_41 = this;
    tmp_41.s7w_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryPictureDao$delegate$lambda(this));
    var tmp_42 = this;
    tmp_42.t7w_1 = lazy_0(UmAppDatabase_Repo$_MessageDao$delegate$lambda(this));
    var tmp_43 = this;
    tmp_43.u7w_1 = lazy_0(UmAppDatabase_Repo$_PeerReviewerAllocationDao$delegate$lambda(this));
    var tmp_44 = this;
    tmp_44.v7w_1 = lazy_0(UmAppDatabase_Repo$_DiscussionPostDao$delegate$lambda(this));
    var tmp_45 = this;
    tmp_45.w7w_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryVersionDao$delegate$lambda(this));
    var tmp_46 = this;
    tmp_46.x7w_1 = lazy_0(UmAppDatabase_Repo$_OfflineItemDao$delegate$lambda(this));
    var tmp_47 = this;
    tmp_47.y7w_1 = lazy_0(UmAppDatabase_Repo$_DeletedItemDao$delegate$lambda(this));
    var tmp_48 = this;
    tmp_48.z7w_1 = lazy_0(UmAppDatabase_Repo$_EnrolmentRequestDao$delegate$lambda(this));
    var tmp_49 = this;
    tmp_49.a7x_1 = lazy_0(UmAppDatabase_Repo$_CoursePermissionDao$delegate$lambda(this));
    var tmp_50 = this;
    tmp_50.b7x_1 = lazy_0(UmAppDatabase_Repo$_SystemPermissionDao$delegate$lambda(this));
    var tmp_51 = this;
    tmp_51.c7x_1 = lazy_0(UmAppDatabase_Repo$_CourseBlockPictureDao$delegate$lambda(this));
    var tmp_52 = this;
    tmp_52.d7x_1 = lazy_0(UmAppDatabase_Repo$_ContentEntryPicture2Dao$delegate$lambda(this));
    var tmp_53 = this;
    tmp_53.e7x_1 = lazy_0(UmAppDatabase_Repo$_StudentResultDao$delegate$lambda(this));
    var tmp_54 = this;
    tmp_54.f7x_1 = lazy_0(UmAppDatabase_Repo$_VerbLangMapEntryDao$delegate$lambda(this));
    var tmp_55 = this;
    tmp_55.g7x_1 = lazy_0(UmAppDatabase_Repo$_GroupMemberActorJoinDao$delegate$lambda(this));
    var tmp_56 = this;
    tmp_56.h7x_1 = lazy_0(UmAppDatabase_Repo$_ActivityLangMapEntryDao$delegate$lambda(this));
    var tmp_57 = this;
    tmp_57.i7x_1 = lazy_0(UmAppDatabase_Repo$_ActivityInteractionDao$delegate$lambda(this));
    var tmp_58 = this;
    tmp_58.j7x_1 = lazy_0(UmAppDatabase_Repo$_ActivityExtensionDao$delegate$lambda(this));
    var tmp_59 = this;
    tmp_59.k7x_1 = lazy_0(UmAppDatabase_Repo$_StatementContextActivityJoinDao$delegate$lambda(this));
    var tmp_60 = this;
    tmp_60.l7x_1 = lazy_0(UmAppDatabase_Repo$_XapiSessionEntityDao$delegate$lambda(this));
    var tmp_61 = this;
    tmp_61.m7x_1 = lazy_0(UmAppDatabase_Repo$_StatementEntityJsonDao$delegate$lambda(this));
    var tmp_62 = this;
    tmp_62.n7x_1 = lazy_0(UmAppDatabase_Repo$_StateEntityDao$delegate$lambda(this));
    var tmp_63 = this;
    tmp_63.o7x_1 = lazy_0(UmAppDatabase_Repo$_StateDeleteCommandDao$delegate$lambda(this));
  }
  protoOf(UmAppDatabase_Repo).c5p = function () {
    return this.y7u_1;
  };
  protoOf(UmAppDatabase_Repo).a3d = function () {
    return this.z7u_1;
  };
  protoOf(UmAppDatabase_Repo).q7x = function () {
    return this.z7u_1.b6c_1;
  };
  protoOf(UmAppDatabase_Repo).r7x = function () {
    return this.z7u_1.a6c_1;
  };
  protoOf(UmAppDatabase_Repo).b5s = function () {
    return this.a7v_1.b5s();
  };
  protoOf(UmAppDatabase_Repo).p78 = function () {
    return 204;
  };
  protoOf(UmAppDatabase_Repo).r67 = function () {
    return this.b7v_1.r67();
  };
  protoOf(UmAppDatabase_Repo).v77 = function () {
    throw IllegalStateException_init_$Create$('Cannot use a repository to createAllTables!');
  };
  protoOf(UmAppDatabase_Repo).s7j = function () {
    return _get__PersonDao__uzj2el(this);
  };
  protoOf(UmAppDatabase_Repo).t7j = function () {
    return _get__ClazzDao__9uv608(this);
  };
  protoOf(UmAppDatabase_Repo).u7j = function () {
    return _get__CourseBlockDao__4pp4mq(this);
  };
  protoOf(UmAppDatabase_Repo).v7j = function () {
    return _get__CourseTerminologyDao__a6bld4(this);
  };
  protoOf(UmAppDatabase_Repo).w7j = function () {
    return _get__CourseGroupSetDao__hfsuk6(this);
  };
  protoOf(UmAppDatabase_Repo).x7j = function () {
    return _get__CourseGroupMemberDao__l3hcwy(this);
  };
  protoOf(UmAppDatabase_Repo).y7j = function () {
    return _get__ClazzEnrolmentDao__q8nlvo(this);
  };
  protoOf(UmAppDatabase_Repo).z7j = function () {
    return _get__LeavingReasonDao__m21j14(this);
  };
  protoOf(UmAppDatabase_Repo).a7k = function () {
    return _get__ContentEntryDao__asrab3(this);
  };
  protoOf(UmAppDatabase_Repo).b7k = function () {
    return _get__ContentEntryContentCategoryJoinDao__c8c5lk(this);
  };
  protoOf(UmAppDatabase_Repo).c7k = function () {
    return _get__ContentEntryParentChildJoinDao__moxer(this);
  };
  protoOf(UmAppDatabase_Repo).d7k = function () {
    return _get__ContentEntryRelatedEntryJoinDao__wdqzcu(this);
  };
  protoOf(UmAppDatabase_Repo).e7k = function () {
    return _get__ContentCategorySchemaDao__95pyeg(this);
  };
  protoOf(UmAppDatabase_Repo).f7k = function () {
    return _get__ContentCategoryDao__tsqjyv(this);
  };
  protoOf(UmAppDatabase_Repo).g7k = function () {
    return _get__LanguageDao__1z90w(this);
  };
  protoOf(UmAppDatabase_Repo).h7k = function () {
    return _get__LanguageVariantDao__rxf1fx(this);
  };
  protoOf(UmAppDatabase_Repo).i7k = function () {
    return _get__PersonGroupDao__hew8d2(this);
  };
  protoOf(UmAppDatabase_Repo).j7k = function () {
    return _get__PersonGroupMemberDao__mvnpb8(this);
  };
  protoOf(UmAppDatabase_Repo).k7k = function () {
    return _get__PersonPictureDao__2gbg89(this);
  };
  protoOf(UmAppDatabase_Repo).l7k = function () {
    return _get__VerbDao__618h8p(this);
  };
  protoOf(UmAppDatabase_Repo).m7k = function () {
    return _get__ActivityEntityDao__cj0phy(this);
  };
  protoOf(UmAppDatabase_Repo).n7k = function () {
    return _get__ReportDao__jbr9h0(this);
  };
  protoOf(UmAppDatabase_Repo).o7k = function () {
    return _get__StatementDao__fnw41b(this);
  };
  protoOf(UmAppDatabase_Repo).p7k = function () {
    return _get__ActorDao__6yq8sr(this);
  };
  protoOf(UmAppDatabase_Repo).q7k = function () {
    return _get__ClazzLogAttendanceRecordDao__r3qxzy(this);
  };
  protoOf(UmAppDatabase_Repo).r7k = function () {
    return _get__ClazzLogDao__xeo15w(this);
  };
  protoOf(UmAppDatabase_Repo).s7k = function () {
    return _get__ScheduleDao__h5s1ch(this);
  };
  protoOf(UmAppDatabase_Repo).t7k = function () {
    return _get__HolidayCalendarDao__gbx0p6(this);
  };
  protoOf(UmAppDatabase_Repo).u7k = function () {
    return _get__HolidayDao__x92kh4(this);
  };
  protoOf(UmAppDatabase_Repo).v7k = function () {
    return _get__ClazzAssignmentDao__kc42th(this);
  };
  protoOf(UmAppDatabase_Repo).w7k = function () {
    return _get__CourseAssignmentSubmissionDao__ir2b4c(this);
  };
  protoOf(UmAppDatabase_Repo).x7k = function () {
    return _get__CourseAssignmentSubmissionFileDao__63r33c(this);
  };
  protoOf(UmAppDatabase_Repo).y7k = function () {
    return _get__CourseAssignmentMarkDao__yi6swd(this);
  };
  protoOf(UmAppDatabase_Repo).z7k = function () {
    return _get__CommentsDao__mxkt84(this);
  };
  protoOf(UmAppDatabase_Repo).a7l = function () {
    return _get__SiteDao__wss4yp(this);
  };
  protoOf(UmAppDatabase_Repo).b7l = function () {
    return _get__SiteTermsDao__f7rqww(this);
  };
  protoOf(UmAppDatabase_Repo).c7l = function () {
    return _get__PersonParentJoinDao__o0iclb(this);
  };
  protoOf(UmAppDatabase_Repo).d7l = function () {
    return _get__ScopedGrantDao__9w613o(this);
  };
  protoOf(UmAppDatabase_Repo).e7l = function () {
    return _get__ErrorReportDao__d8e0x0(this);
  };
  protoOf(UmAppDatabase_Repo).f7l = function () {
    return _get__PersonAuth2Dao__uki6ut(this);
  };
  protoOf(UmAppDatabase_Repo).g7l = function () {
    return _get__UserSessionDao__wcreq3(this);
  };
  protoOf(UmAppDatabase_Repo).h7l = function () {
    throw IllegalStateException_init_$Create$('ContentEntryImportJobDao is not annotated with @Repository');
  };
  protoOf(UmAppDatabase_Repo).i7l = function () {
    return _get__CoursePictureDao__qr47kz(this);
  };
  protoOf(UmAppDatabase_Repo).j7l = function () {
    return _get__ContentEntryPictureDao__hzeabf(this);
  };
  protoOf(UmAppDatabase_Repo).k7l = function () {
    return _get__MessageDao__u7e9l3(this);
  };
  protoOf(UmAppDatabase_Repo).l7l = function () {
    return _get__PeerReviewerAllocationDao__m08hnj(this);
  };
  protoOf(UmAppDatabase_Repo).m7l = function () {
    return _get__DiscussionPostDao__bymsxs(this);
  };
  protoOf(UmAppDatabase_Repo).n7l = function () {
    return _get__ContentEntryVersionDao__egjvvj(this);
  };
  protoOf(UmAppDatabase_Repo).o7l = function () {
    throw IllegalStateException_init_$Create$('TransferJobDao is not annotated with @Repository');
  };
  protoOf(UmAppDatabase_Repo).p7l = function () {
    throw IllegalStateException_init_$Create$('TransferJobItemDao is not annotated with @Repository');
  };
  protoOf(UmAppDatabase_Repo).q7l = function () {
    return _get__OfflineItemDao__4yjkly(this);
  };
  protoOf(UmAppDatabase_Repo).r7l = function () {
    return _get__DeletedItemDao__4i3s1g(this);
  };
  protoOf(UmAppDatabase_Repo).s7l = function () {
    return _get__EnrolmentRequestDao__wkcqzn(this);
  };
  protoOf(UmAppDatabase_Repo).t7l = function () {
    return _get__CoursePermissionDao__hib1jy(this);
  };
  protoOf(UmAppDatabase_Repo).u7l = function () {
    return _get__SystemPermissionDao__c05myy(this);
  };
  protoOf(UmAppDatabase_Repo).v7l = function () {
    return _get__CourseBlockPictureDao__hx4ubg(this);
  };
  protoOf(UmAppDatabase_Repo).w7l = function () {
    return _get__ContentEntryPicture2Dao__ah6hid(this);
  };
  protoOf(UmAppDatabase_Repo).x7l = function () {
    return _get__StudentResultDao__sr8vqw(this);
  };
  protoOf(UmAppDatabase_Repo).y7l = function () {
    return _get__VerbLangMapEntryDao__oda6e3(this);
  };
  protoOf(UmAppDatabase_Repo).z7l = function () {
    return _get__GroupMemberActorJoinDao__jlmme6(this);
  };
  protoOf(UmAppDatabase_Repo).a7m = function () {
    return _get__ActivityLangMapEntryDao__htpiob(this);
  };
  protoOf(UmAppDatabase_Repo).b7m = function () {
    return _get__ActivityInteractionDao__x272ir(this);
  };
  protoOf(UmAppDatabase_Repo).c7m = function () {
    return _get__ActivityExtensionDao__cpvg5s(this);
  };
  protoOf(UmAppDatabase_Repo).d7m = function () {
    return _get__StatementContextActivityJoinDao__t5jinj(this);
  };
  protoOf(UmAppDatabase_Repo).e7m = function () {
    return _get__XapiSessionEntityDao__tpjn2v(this);
  };
  protoOf(UmAppDatabase_Repo).f7m = function () {
    return _get__StatementEntityJsonDao__4ym94q(this);
  };
  protoOf(UmAppDatabase_Repo).g7m = function () {
    return _get__StateEntityDao__vtinv8(this);
  };
  protoOf(UmAppDatabase_Repo).h7m = function () {
    return _get__StateDeleteCommandDao__s2ay7b(this);
  };
  function _PersonDao$factory_1() {
    return getPropertyCallableRef('_PersonDao', 1, KProperty1, function (receiver) {
      return _get__PersonDao__uzj2el(receiver);
    }, null);
  }
  function _ClazzDao$factory_1() {
    return getPropertyCallableRef('_ClazzDao', 1, KProperty1, function (receiver) {
      return _get__ClazzDao__9uv608(receiver);
    }, null);
  }
  function _CourseBlockDao$factory_1() {
    return getPropertyCallableRef('_CourseBlockDao', 1, KProperty1, function (receiver) {
      return _get__CourseBlockDao__4pp4mq(receiver);
    }, null);
  }
  function _CourseTerminologyDao$factory_1() {
    return getPropertyCallableRef('_CourseTerminologyDao', 1, KProperty1, function (receiver) {
      return _get__CourseTerminologyDao__a6bld4(receiver);
    }, null);
  }
  function _CourseGroupSetDao$factory_1() {
    return getPropertyCallableRef('_CourseGroupSetDao', 1, KProperty1, function (receiver) {
      return _get__CourseGroupSetDao__hfsuk6(receiver);
    }, null);
  }
  function _CourseGroupMemberDao$factory_1() {
    return getPropertyCallableRef('_CourseGroupMemberDao', 1, KProperty1, function (receiver) {
      return _get__CourseGroupMemberDao__l3hcwy(receiver);
    }, null);
  }
  function _ClazzEnrolmentDao$factory_1() {
    return getPropertyCallableRef('_ClazzEnrolmentDao', 1, KProperty1, function (receiver) {
      return _get__ClazzEnrolmentDao__q8nlvo(receiver);
    }, null);
  }
  function _LeavingReasonDao$factory_1() {
    return getPropertyCallableRef('_LeavingReasonDao', 1, KProperty1, function (receiver) {
      return _get__LeavingReasonDao__m21j14(receiver);
    }, null);
  }
  function _ContentEntryDao$factory_1() {
    return getPropertyCallableRef('_ContentEntryDao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryDao__asrab3(receiver);
    }, null);
  }
  function _ContentEntryContentCategoryJoinDao$factory_1() {
    return getPropertyCallableRef('_ContentEntryContentCategoryJoinDao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryContentCategoryJoinDao__c8c5lk(receiver);
    }, null);
  }
  function _ContentEntryParentChildJoinDao$factory_1() {
    return getPropertyCallableRef('_ContentEntryParentChildJoinDao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryParentChildJoinDao__moxer(receiver);
    }, null);
  }
  function _ContentEntryRelatedEntryJoinDao$factory_1() {
    return getPropertyCallableRef('_ContentEntryRelatedEntryJoinDao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryRelatedEntryJoinDao__wdqzcu(receiver);
    }, null);
  }
  function _ContentCategorySchemaDao$factory_1() {
    return getPropertyCallableRef('_ContentCategorySchemaDao', 1, KProperty1, function (receiver) {
      return _get__ContentCategorySchemaDao__95pyeg(receiver);
    }, null);
  }
  function _ContentCategoryDao$factory_1() {
    return getPropertyCallableRef('_ContentCategoryDao', 1, KProperty1, function (receiver) {
      return _get__ContentCategoryDao__tsqjyv(receiver);
    }, null);
  }
  function _LanguageDao$factory_1() {
    return getPropertyCallableRef('_LanguageDao', 1, KProperty1, function (receiver) {
      return _get__LanguageDao__1z90w(receiver);
    }, null);
  }
  function _LanguageVariantDao$factory_1() {
    return getPropertyCallableRef('_LanguageVariantDao', 1, KProperty1, function (receiver) {
      return _get__LanguageVariantDao__rxf1fx(receiver);
    }, null);
  }
  function _PersonGroupDao$factory_1() {
    return getPropertyCallableRef('_PersonGroupDao', 1, KProperty1, function (receiver) {
      return _get__PersonGroupDao__hew8d2(receiver);
    }, null);
  }
  function _PersonGroupMemberDao$factory_1() {
    return getPropertyCallableRef('_PersonGroupMemberDao', 1, KProperty1, function (receiver) {
      return _get__PersonGroupMemberDao__mvnpb8(receiver);
    }, null);
  }
  function _PersonPictureDao$factory_1() {
    return getPropertyCallableRef('_PersonPictureDao', 1, KProperty1, function (receiver) {
      return _get__PersonPictureDao__2gbg89(receiver);
    }, null);
  }
  function _VerbDao$factory_1() {
    return getPropertyCallableRef('_VerbDao', 1, KProperty1, function (receiver) {
      return _get__VerbDao__618h8p(receiver);
    }, null);
  }
  function _ActivityEntityDao$factory_1() {
    return getPropertyCallableRef('_ActivityEntityDao', 1, KProperty1, function (receiver) {
      return _get__ActivityEntityDao__cj0phy(receiver);
    }, null);
  }
  function _ReportDao$factory_1() {
    return getPropertyCallableRef('_ReportDao', 1, KProperty1, function (receiver) {
      return _get__ReportDao__jbr9h0(receiver);
    }, null);
  }
  function _StatementDao$factory_1() {
    return getPropertyCallableRef('_StatementDao', 1, KProperty1, function (receiver) {
      return _get__StatementDao__fnw41b(receiver);
    }, null);
  }
  function _ActorDao$factory_1() {
    return getPropertyCallableRef('_ActorDao', 1, KProperty1, function (receiver) {
      return _get__ActorDao__6yq8sr(receiver);
    }, null);
  }
  function _ClazzLogAttendanceRecordDao$factory_1() {
    return getPropertyCallableRef('_ClazzLogAttendanceRecordDao', 1, KProperty1, function (receiver) {
      return _get__ClazzLogAttendanceRecordDao__r3qxzy(receiver);
    }, null);
  }
  function _ClazzLogDao$factory_1() {
    return getPropertyCallableRef('_ClazzLogDao', 1, KProperty1, function (receiver) {
      return _get__ClazzLogDao__xeo15w(receiver);
    }, null);
  }
  function _ScheduleDao$factory_1() {
    return getPropertyCallableRef('_ScheduleDao', 1, KProperty1, function (receiver) {
      return _get__ScheduleDao__h5s1ch(receiver);
    }, null);
  }
  function _HolidayCalendarDao$factory_1() {
    return getPropertyCallableRef('_HolidayCalendarDao', 1, KProperty1, function (receiver) {
      return _get__HolidayCalendarDao__gbx0p6(receiver);
    }, null);
  }
  function _HolidayDao$factory_1() {
    return getPropertyCallableRef('_HolidayDao', 1, KProperty1, function (receiver) {
      return _get__HolidayDao__x92kh4(receiver);
    }, null);
  }
  function _ClazzAssignmentDao$factory_1() {
    return getPropertyCallableRef('_ClazzAssignmentDao', 1, KProperty1, function (receiver) {
      return _get__ClazzAssignmentDao__kc42th(receiver);
    }, null);
  }
  function _CourseAssignmentSubmissionDao$factory_1() {
    return getPropertyCallableRef('_CourseAssignmentSubmissionDao', 1, KProperty1, function (receiver) {
      return _get__CourseAssignmentSubmissionDao__ir2b4c(receiver);
    }, null);
  }
  function _CourseAssignmentSubmissionFileDao$factory_1() {
    return getPropertyCallableRef('_CourseAssignmentSubmissionFileDao', 1, KProperty1, function (receiver) {
      return _get__CourseAssignmentSubmissionFileDao__63r33c(receiver);
    }, null);
  }
  function _CourseAssignmentMarkDao$factory_1() {
    return getPropertyCallableRef('_CourseAssignmentMarkDao', 1, KProperty1, function (receiver) {
      return _get__CourseAssignmentMarkDao__yi6swd(receiver);
    }, null);
  }
  function _CommentsDao$factory_1() {
    return getPropertyCallableRef('_CommentsDao', 1, KProperty1, function (receiver) {
      return _get__CommentsDao__mxkt84(receiver);
    }, null);
  }
  function _SiteDao$factory_1() {
    return getPropertyCallableRef('_SiteDao', 1, KProperty1, function (receiver) {
      return _get__SiteDao__wss4yp(receiver);
    }, null);
  }
  function _SiteTermsDao$factory_1() {
    return getPropertyCallableRef('_SiteTermsDao', 1, KProperty1, function (receiver) {
      return _get__SiteTermsDao__f7rqww(receiver);
    }, null);
  }
  function _PersonParentJoinDao$factory_1() {
    return getPropertyCallableRef('_PersonParentJoinDao', 1, KProperty1, function (receiver) {
      return _get__PersonParentJoinDao__o0iclb(receiver);
    }, null);
  }
  function _ScopedGrantDao$factory_1() {
    return getPropertyCallableRef('_ScopedGrantDao', 1, KProperty1, function (receiver) {
      return _get__ScopedGrantDao__9w613o(receiver);
    }, null);
  }
  function _ErrorReportDao$factory_1() {
    return getPropertyCallableRef('_ErrorReportDao', 1, KProperty1, function (receiver) {
      return _get__ErrorReportDao__d8e0x0(receiver);
    }, null);
  }
  function _PersonAuth2Dao$factory_1() {
    return getPropertyCallableRef('_PersonAuth2Dao', 1, KProperty1, function (receiver) {
      return _get__PersonAuth2Dao__uki6ut(receiver);
    }, null);
  }
  function _UserSessionDao$factory_1() {
    return getPropertyCallableRef('_UserSessionDao', 1, KProperty1, function (receiver) {
      return _get__UserSessionDao__wcreq3(receiver);
    }, null);
  }
  function _CoursePictureDao$factory_1() {
    return getPropertyCallableRef('_CoursePictureDao', 1, KProperty1, function (receiver) {
      return _get__CoursePictureDao__qr47kz(receiver);
    }, null);
  }
  function _ContentEntryPictureDao$factory_1() {
    return getPropertyCallableRef('_ContentEntryPictureDao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryPictureDao__hzeabf(receiver);
    }, null);
  }
  function _MessageDao$factory_1() {
    return getPropertyCallableRef('_MessageDao', 1, KProperty1, function (receiver) {
      return _get__MessageDao__u7e9l3(receiver);
    }, null);
  }
  function _PeerReviewerAllocationDao$factory_1() {
    return getPropertyCallableRef('_PeerReviewerAllocationDao', 1, KProperty1, function (receiver) {
      return _get__PeerReviewerAllocationDao__m08hnj(receiver);
    }, null);
  }
  function _DiscussionPostDao$factory_1() {
    return getPropertyCallableRef('_DiscussionPostDao', 1, KProperty1, function (receiver) {
      return _get__DiscussionPostDao__bymsxs(receiver);
    }, null);
  }
  function _ContentEntryVersionDao$factory_1() {
    return getPropertyCallableRef('_ContentEntryVersionDao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryVersionDao__egjvvj(receiver);
    }, null);
  }
  function _OfflineItemDao$factory_1() {
    return getPropertyCallableRef('_OfflineItemDao', 1, KProperty1, function (receiver) {
      return _get__OfflineItemDao__4yjkly(receiver);
    }, null);
  }
  function _DeletedItemDao$factory_0() {
    return getPropertyCallableRef('_DeletedItemDao', 1, KProperty1, function (receiver) {
      return _get__DeletedItemDao__4i3s1g(receiver);
    }, null);
  }
  function _EnrolmentRequestDao$factory_1() {
    return getPropertyCallableRef('_EnrolmentRequestDao', 1, KProperty1, function (receiver) {
      return _get__EnrolmentRequestDao__wkcqzn(receiver);
    }, null);
  }
  function _CoursePermissionDao$factory_1() {
    return getPropertyCallableRef('_CoursePermissionDao', 1, KProperty1, function (receiver) {
      return _get__CoursePermissionDao__hib1jy(receiver);
    }, null);
  }
  function _SystemPermissionDao$factory_1() {
    return getPropertyCallableRef('_SystemPermissionDao', 1, KProperty1, function (receiver) {
      return _get__SystemPermissionDao__c05myy(receiver);
    }, null);
  }
  function _CourseBlockPictureDao$factory_1() {
    return getPropertyCallableRef('_CourseBlockPictureDao', 1, KProperty1, function (receiver) {
      return _get__CourseBlockPictureDao__hx4ubg(receiver);
    }, null);
  }
  function _ContentEntryPicture2Dao$factory_1() {
    return getPropertyCallableRef('_ContentEntryPicture2Dao', 1, KProperty1, function (receiver) {
      return _get__ContentEntryPicture2Dao__ah6hid(receiver);
    }, null);
  }
  function _StudentResultDao$factory_1() {
    return getPropertyCallableRef('_StudentResultDao', 1, KProperty1, function (receiver) {
      return _get__StudentResultDao__sr8vqw(receiver);
    }, null);
  }
  function _VerbLangMapEntryDao$factory_1() {
    return getPropertyCallableRef('_VerbLangMapEntryDao', 1, KProperty1, function (receiver) {
      return _get__VerbLangMapEntryDao__oda6e3(receiver);
    }, null);
  }
  function _GroupMemberActorJoinDao$factory_1() {
    return getPropertyCallableRef('_GroupMemberActorJoinDao', 1, KProperty1, function (receiver) {
      return _get__GroupMemberActorJoinDao__jlmme6(receiver);
    }, null);
  }
  function _ActivityLangMapEntryDao$factory_1() {
    return getPropertyCallableRef('_ActivityLangMapEntryDao', 1, KProperty1, function (receiver) {
      return _get__ActivityLangMapEntryDao__htpiob(receiver);
    }, null);
  }
  function _ActivityInteractionDao$factory_1() {
    return getPropertyCallableRef('_ActivityInteractionDao', 1, KProperty1, function (receiver) {
      return _get__ActivityInteractionDao__x272ir(receiver);
    }, null);
  }
  function _ActivityExtensionDao$factory_1() {
    return getPropertyCallableRef('_ActivityExtensionDao', 1, KProperty1, function (receiver) {
      return _get__ActivityExtensionDao__cpvg5s(receiver);
    }, null);
  }
  function _StatementContextActivityJoinDao$factory_1() {
    return getPropertyCallableRef('_StatementContextActivityJoinDao', 1, KProperty1, function (receiver) {
      return _get__StatementContextActivityJoinDao__t5jinj(receiver);
    }, null);
  }
  function _XapiSessionEntityDao$factory_1() {
    return getPropertyCallableRef('_XapiSessionEntityDao', 1, KProperty1, function (receiver) {
      return _get__XapiSessionEntityDao__tpjn2v(receiver);
    }, null);
  }
  function _StatementEntityJsonDao$factory_1() {
    return getPropertyCallableRef('_StatementEntityJsonDao', 1, KProperty1, function (receiver) {
      return _get__StatementEntityJsonDao__4ym94q(receiver);
    }, null);
  }
  function _StateEntityDao$factory_1() {
    return getPropertyCallableRef('_StateEntityDao', 1, KProperty1, function (receiver) {
      return _get__StateEntityDao__vtinv8(receiver);
    }, null);
  }
  function _StateDeleteCommandDao$factory_1() {
    return getPropertyCallableRef('_StateDeleteCommandDao', 1, KProperty1, function (receiver) {
      return _get__StateDeleteCommandDao__s2ay7b(receiver);
    }, null);
  }
  function CacheLockJoinDao() {
  }
  function CacheLockJoinDao_JdbcImpl$_insertAdapterCacheLockJoin_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.s7x_1);
  }
  protoOf(CacheLockJoinDao_JdbcImpl$_insertAdapterCacheLockJoin_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CacheLockJoin (cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CacheLockJoinDao_JdbcImpl$_insertAdapterCacheLockJoin_abort$1).w7x = function (stmt, entity) {
    if (entity.x7x_1 === 0) {
      stmt.f5o(1, null);
    } else {
      stmt.z5n(1, entity.x7x_1);
    }
    stmt.z5n(2, entity.y7x_1);
    stmt.a5o(3, entity.z7x_1);
    stmt.d5o(4, entity.a7y_1);
    stmt.a5o(5, entity.b7y_1);
    stmt.z5n(6, entity.c7y_1);
    stmt.z5n(7, entity.d7y_1);
    stmt.a5o(8, entity.e7y_1);
  };
  protoOf(CacheLockJoinDao_JdbcImpl$_insertAdapterCacheLockJoin_abort$1).u5l = function (stmt, entity) {
    return this.w7x(stmt, entity instanceof CacheLockJoin ? entity : THROW_CCE());
  };
  function CacheLockJoinDao_JdbcImpl(_db) {
    CacheLockJoinDao.call(this);
    this.s7x_1 = _db;
    var tmp = this;
    tmp.t7x_1 = new CacheLockJoinDao_JdbcImpl$_insertAdapterCacheLockJoin_abort$1(this);
  }
  function ClazzAssignmentDao() {
  }
  function $upsertListAsyncCOROUTINE$1(_this__u8e3s4, entities, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.x7y_1 = _this__u8e3s4;
    this.y7y_1 = entities;
  }
  protoOf($upsertListAsyncCOROUTINE$1).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.z7y_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.x7y_1.g7z_1));
            var tmp_0 = this;
            tmp_0.a7z_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.b7z_1 = this.y7y_1.w();
            var tmp_2 = this;
            tmp_2.c7z_1 = this.b7z_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.c7z_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.d7z_1 = this.c7z_1.e();
            var tmp_3 = this;
            tmp_3.e7z_1 = this.d7z_1;
            if (this.e7z_1.i7z_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.z7y_1.t68(520, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.f7z_1 = suspendResult;
            this.e7z_1.i7z_1 = this.f7z_1;
            var this_0 = this.a7z_1;
            var element = this.f7z_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.e7z_1.f80_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.x7y_1.h7z_1.m7y(this.y7y_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$2(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o80_1 = _this__u8e3s4;
    this.p80_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$2).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.q80_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.o80_1.g7z_1));
            if (this.p80_1.i7z_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.q80_1.t68(520, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.r80_1 = suspendResult;
            this.p80_1.i7z_1 = this.r80_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.p80_1.f80_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.o80_1.h7z_1.insertAsync(this.p80_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.p80_1.i7z_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzAssignmentDao_DoorWrapper(_db, _dao) {
    ClazzAssignmentDao.call(this);
    this.g7z_1 = _db;
    this.h7z_1 = _dao;
  }
  protoOf(ClazzAssignmentDao_DoorWrapper).f7y = function (assignmentUid, clazzUid, accountPersonUid, group) {
    return this.h7z_1.f7y(assignmentUid, clazzUid, accountPersonUid, group);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).g7y = function (assignmentUid, clazzUid, accountPersonUid, group, searchText, sortOption) {
    return this.h7z_1.g7y(assignmentUid, clazzUid, accountPersonUid, group, searchText, sortOption);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).h7y = function (clazzUid, groupSetUid, time, $completion) {
    return this.h7z_1.h7y(clazzUid, groupSetUid, time, $completion);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).i7y = function (clazzUid, groupSetUid, date, groupStr, $completion) {
    return this.h7z_1.i7y(clazzUid, groupSetUid, date, groupStr, $completion);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).j7y = function (assignmentUid, clazzUid, accountPersonUid, $completion) {
    return this.h7z_1.j7y(assignmentUid, clazzUid, accountPersonUid, $completion);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).k7y = function (uid, clazzUid) {
    return this.h7z_1.k7y(uid, clazzUid);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).l7y = function (uid, $completion) {
    return this.h7z_1.l7y(uid, $completion);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).m7y = function (entities, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$1(this, entities, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).n7y = function (uidList, active, changeTime, $completion) {
    return this.h7z_1.n7y(uidList, active, changeTime, $completion);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).o7y = function (assignmentUid, clazzUid, accountPersonUid) {
    return this.h7z_1.o7y(assignmentUid, clazzUid, accountPersonUid);
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).s80 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$2(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.s80(entity instanceof ClazzAssignment ? entity : THROW_CCE(), $completion);
  };
  function ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_submittedStudents = $_result.c5t('submittedStudents');
      var _tmp_totalStudents = $_result.c5t('totalStudents');
      var _tmp_markedStudents = $_result.c5t('markedStudents');
      var _tmp_activeUserHasViewLearnerRecordsPermission = $_result.o6c('activeUserHasViewLearnerRecordsPermission');
      var _tmp_isGroupAssignment = $_result.o6c('isGroupAssignment');
      // Inline function 'kotlin.apply' call
      var this_0 = new AssignmentProgressSummary();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.getProgressSummaryForAssignment.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.t80_1 = _tmp_submittedStudents;
      this_0.u80_1 = _tmp_totalStudents;
      this_0.v80_1 = _tmp_markedStudents;
      this_0.w80_1 = _tmp_activeUserHasViewLearnerRecordsPermission;
      this_0.x80_1 = _tmp_isGroupAssignment;
      return this_0;
    };
  }
  function ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda($clazzUid, $accountPersonUid, $assignmentUid, $group, resultContinuation) {
    this.g81_1 = $clazzUid;
    this.h81_1 = $accountPersonUid;
    this.i81_1 = $assignmentUid;
    this.j81_1 = $group;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda).l81 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda).he = function (p1, $completion) {
    return this.l81((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.k81_1.a5o(1, this.g81_1);
            this.k81_1.a5o(2, this.h81_1);
            this.k81_1.a5o(3, this.h81_1);
            this.k81_1.a5o(4, this.g81_1);
            this.k81_1.a5o(5, this.h81_1);
            this.k81_1.a5o(6, this.h81_1);
            this.k81_1.a5o(7, this.i81_1);
            this.k81_1.a5o(8, this.i81_1);
            this.k81_1.a5o(9, this.g81_1);
            this.k81_1.a5o(10, this.i81_1);
            this.k81_1.a5o(11, this.i81_1);
            this.k81_1.a5o(12, this.h81_1);
            this.k81_1.d5o(13, this.j81_1);
            this.k81_1.a5o(14, this.i81_1);
            this.k81_1.a5o(15, this.i81_1);
            this.k81_1.a5o(16, this.i81_1);
            this.k81_1.a5o(17, this.i81_1);
            this.k81_1.a5o(18, this.i81_1);
            this.k81_1.a5o(19, this.h81_1);
            this.k81_1.a5o(20, this.i81_1);
            this.k81_1.a5o(21, this.i81_1);
            this.k81_1.a5o(22, this.i81_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.k81_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda(this.g81_1, this.h81_1, this.i81_1, this.j81_1, completion);
    i.k81_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda_0($clazzUid, $accountPersonUid, $assignmentUid, $group, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda($clazzUid, $accountPersonUid, $assignmentUid, $group, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.l81(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_submitterUid = $_result.d5t('submitterUid');
      var _tmp_name = $_result.rz('name');
      var _tmp_pictureUri = $_result.rz('pictureUri');
      var _tmp_latestPrivateComment = $_result.rz('latestPrivateComment');
      var _tmp_fileSubmissionStatus = $_result.c5t('fileSubmissionStatus');
      // Inline function 'kotlin.apply' call
      var this_0 = new AssignmentSubmitterSummary();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.m81_1 = _tmp_submitterUid;
      this_0.n81_1 = _tmp_name;
      this_0.o81_1 = _tmp_pictureUri;
      this_0.p81_1 = _tmp_latestPrivateComment;
      this_0.q81_1 = _tmp_fileSubmissionStatus;
      return this_0;
    };
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda($clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption, $_limit, $_offset, resultContinuation) {
    this.z81_1 = $clazzUid;
    this.a82_1 = $accountPersonUid;
    this.b82_1 = $assignmentUid;
    this.c82_1 = $group;
    this.d82_1 = $searchText;
    this.e82_1 = $sortOption;
    this.f82_1 = $_limit;
    this.g82_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda).i82 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda).he = function (p1, $completion) {
    return this.i82((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.h82_1.a5o(1, this.z81_1);
            this.h82_1.a5o(2, this.a82_1);
            this.h82_1.a5o(3, this.a82_1);
            this.h82_1.a5o(4, this.z81_1);
            this.h82_1.a5o(5, this.a82_1);
            this.h82_1.a5o(6, this.a82_1);
            this.h82_1.a5o(7, this.b82_1);
            this.h82_1.a5o(8, this.b82_1);
            this.h82_1.a5o(9, this.z81_1);
            this.h82_1.a5o(10, this.b82_1);
            this.h82_1.a5o(11, this.b82_1);
            this.h82_1.a5o(12, this.a82_1);
            this.h82_1.d5o(13, this.c82_1);
            this.h82_1.a5o(14, this.b82_1);
            this.h82_1.a5o(15, this.b82_1);
            this.h82_1.a5o(16, this.b82_1);
            this.h82_1.a5o(17, this.b82_1);
            this.h82_1.a5o(18, this.b82_1);
            this.h82_1.a5o(19, this.a82_1);
            this.h82_1.a5o(20, this.b82_1);
            this.h82_1.a5o(21, this.b82_1);
            this.h82_1.a5o(22, this.b82_1);
            this.h82_1.d5o(23, this.d82_1);
            this.h82_1.d5o(24, this.d82_1);
            this.h82_1.z5n(25, this.e82_1);
            this.h82_1.z5n(26, this.e82_1);
            this.h82_1.z5n(27, this.f82_1);
            this.h82_1.z5n(28, this.g82_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.h82_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda(this.z81_1, this.a82_1, this.b82_1, this.c82_1, this.d82_1, this.e82_1, this.f82_1, this.g82_1, completion);
    i.h82_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda_0($clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption, $_limit, $_offset, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda($clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.i82(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda($clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption, resultContinuation) {
    this.r82_1 = $clazzUid;
    this.s82_1 = $accountPersonUid;
    this.t82_1 = $assignmentUid;
    this.u82_1 = $group;
    this.v82_1 = $searchText;
    this.w82_1 = $sortOption;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.x82_1.a5o(1, this.r82_1);
            this.x82_1.a5o(2, this.s82_1);
            this.x82_1.a5o(3, this.s82_1);
            this.x82_1.a5o(4, this.r82_1);
            this.x82_1.a5o(5, this.s82_1);
            this.x82_1.a5o(6, this.s82_1);
            this.x82_1.a5o(7, this.t82_1);
            this.x82_1.a5o(8, this.t82_1);
            this.x82_1.a5o(9, this.r82_1);
            this.x82_1.a5o(10, this.t82_1);
            this.x82_1.a5o(11, this.t82_1);
            this.x82_1.a5o(12, this.s82_1);
            this.x82_1.d5o(13, this.u82_1);
            this.x82_1.a5o(14, this.t82_1);
            this.x82_1.a5o(15, this.t82_1);
            this.x82_1.a5o(16, this.t82_1);
            this.x82_1.a5o(17, this.t82_1);
            this.x82_1.a5o(18, this.t82_1);
            this.x82_1.a5o(19, this.s82_1);
            this.x82_1.a5o(20, this.t82_1);
            this.x82_1.a5o(21, this.t82_1);
            this.x82_1.a5o(22, this.t82_1);
            this.x82_1.d5o(23, this.v82_1);
            this.x82_1.d5o(24, this.v82_1);
            this.x82_1.z5n(25, this.w82_1);
            this.x82_1.z5n(26, this.w82_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.x82_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda(this.r82_1, this.s82_1, this.t82_1, this.u82_1, this.v82_1, this.w82_1, completion);
    i.x82_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda_0($clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda($clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda$lambda(_result) {
    return mapRows(_result, ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.e5l(1);
    };
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda$lambda(_result) {
    return mapRows(_result, ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_name = $_result.rz('name');
      var _tmp_submitterUid = $_result.d5t('submitterUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new AssignmentSubmitterUidAndName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.getSubmitterUidsAndNameByClazzOrGroupSetUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.y82_1 = _tmp_name;
      this_0.z82_1 = _tmp_submitterUid;
      return this_0;
    };
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda$lambda(_result) {
    var tmp = new Long(0, 0);
    return mapNextRow(_result, tmp, ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.e5l(1);
    };
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_caUid = $_result.d5t('caUid');
      var _tmp_caTitle = $_result.rz('caTitle');
      var _tmp_caDescription = $_result.rz('caDescription');
      var _tmp_caGroupUid = $_result.d5t('caGroupUid');
      var _tmp_caActive = $_result.o6c('caActive');
      var _tmp_caClassCommentEnabled = $_result.o6c('caClassCommentEnabled');
      var _tmp_caPrivateCommentsEnabled = $_result.o6c('caPrivateCommentsEnabled');
      var _tmp_caCompletionCriteria = $_result.c5t('caCompletionCriteria');
      var _tmp_caRequireFileSubmission = $_result.o6c('caRequireFileSubmission');
      var _tmp_caFileType = $_result.c5t('caFileType');
      var _tmp_caSizeLimit = $_result.c5t('caSizeLimit');
      var _tmp_caNumberOfFiles = $_result.c5t('caNumberOfFiles');
      var _tmp_caSubmissionPolicy = $_result.c5t('caSubmissionPolicy');
      var _tmp_caMarkingType = $_result.c5t('caMarkingType');
      var _tmp_caRequireTextSubmission = $_result.o6c('caRequireTextSubmission');
      var _tmp_caTextLimitType = $_result.c5t('caTextLimitType');
      var _tmp_caTextLimit = $_result.c5t('caTextLimit');
      var _tmp_caXObjectUid = $_result.d5t('caXObjectUid');
      var _tmp_caClazzUid = $_result.d5t('caClazzUid');
      var _tmp_caPeerReviewerCount = $_result.c5t('caPeerReviewerCount');
      var _tmp_caLocalChangeSeqNum = $_result.d5t('caLocalChangeSeqNum');
      var _tmp_caMasterChangeSeqNum = $_result.d5t('caMasterChangeSeqNum');
      var _tmp_caLastChangedBy = $_result.c5t('caLastChangedBy');
      var _tmp_caLct = $_result.d5t('caLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzAssignment();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findByUidAndClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.i7z_1 = _tmp_caUid;
      this_0.j7z_1 = _tmp_caTitle;
      this_0.k7z_1 = _tmp_caDescription;
      this_0.l7z_1 = _tmp_caGroupUid;
      this_0.m7z_1 = _tmp_caActive;
      this_0.n7z_1 = _tmp_caClassCommentEnabled;
      this_0.o7z_1 = _tmp_caPrivateCommentsEnabled;
      this_0.p7z_1 = _tmp_caCompletionCriteria;
      this_0.q7z_1 = _tmp_caRequireFileSubmission;
      this_0.r7z_1 = _tmp_caFileType;
      this_0.s7z_1 = _tmp_caSizeLimit;
      this_0.t7z_1 = _tmp_caNumberOfFiles;
      this_0.u7z_1 = _tmp_caSubmissionPolicy;
      this_0.v7z_1 = _tmp_caMarkingType;
      this_0.w7z_1 = _tmp_caRequireTextSubmission;
      this_0.x7z_1 = _tmp_caTextLimitType;
      this_0.y7z_1 = _tmp_caTextLimit;
      this_0.z7z_1 = _tmp_caXObjectUid;
      this_0.a80_1 = _tmp_caClazzUid;
      this_0.b80_1 = _tmp_caPeerReviewerCount;
      this_0.c80_1 = _tmp_caLocalChangeSeqNum;
      this_0.d80_1 = _tmp_caMasterChangeSeqNum;
      this_0.e80_1 = _tmp_caLastChangedBy;
      this_0.f80_1 = _tmp_caLct;
      return this_0;
    };
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda($uid, $clazzUid, resultContinuation) {
    this.i83_1 = $uid;
    this.j83_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).l83 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.l83((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.k83_1.a5o(1, this.i83_1);
            this.k83_1.a5o(2, this.j83_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.k83_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda(this.i83_1, this.j83_1, completion);
    i.k83_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda_0($uid, $clazzUid, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda($uid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.l83(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ClazzAssignment_nullCount = 0;
      var _tmp_caUid = $_result.d5t('caUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_caTitle = $_result.rz('caTitle');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_caDescription = $_result.rz('caDescription');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_caGroupUid = $_result.d5t('caGroupUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_caActive = $_result.o6c('caActive');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_caClassCommentEnabled = $_result.o6c('caClassCommentEnabled');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_caPrivateCommentsEnabled = $_result.o6c('caPrivateCommentsEnabled');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_caCompletionCriteria = $_result.c5t('caCompletionCriteria');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_caRequireFileSubmission = $_result.o6c('caRequireFileSubmission');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_caFileType = $_result.c5t('caFileType');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_caSizeLimit = $_result.c5t('caSizeLimit');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_caNumberOfFiles = $_result.c5t('caNumberOfFiles');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_caSubmissionPolicy = $_result.c5t('caSubmissionPolicy');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_caMarkingType = $_result.c5t('caMarkingType');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_caRequireTextSubmission = $_result.o6c('caRequireTextSubmission');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_caTextLimitType = $_result.c5t('caTextLimitType');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_caTextLimit = $_result.c5t('caTextLimit');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_caXObjectUid = $_result.d5t('caXObjectUid');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_caClazzUid = $_result.d5t('caClazzUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_caPeerReviewerCount = $_result.c5t('caPeerReviewerCount');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_caLocalChangeSeqNum = $_result.d5t('caLocalChangeSeqNum');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_caMasterChangeSeqNum = $_result.d5t('caMasterChangeSeqNum');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_caLastChangedBy = $_result.c5t('caLastChangedBy');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_caLct = $_result.d5t('caLct');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_ClazzAssignment_isAllNull = _tmp_ClazzAssignment_nullCount === 24;
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzAssignmentAndBlock();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findByUidWithBlockAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ClazzAssignment_isAllNull) {
        var tmp_46 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ClazzAssignment();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findByUidWithBlockAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.i7z_1 = _tmp_caUid;
        this_1.j7z_1 = _tmp_caTitle;
        this_1.k7z_1 = _tmp_caDescription;
        this_1.l7z_1 = _tmp_caGroupUid;
        this_1.m7z_1 = _tmp_caActive;
        this_1.n7z_1 = _tmp_caClassCommentEnabled;
        this_1.o7z_1 = _tmp_caPrivateCommentsEnabled;
        this_1.p7z_1 = _tmp_caCompletionCriteria;
        this_1.q7z_1 = _tmp_caRequireFileSubmission;
        this_1.r7z_1 = _tmp_caFileType;
        this_1.s7z_1 = _tmp_caSizeLimit;
        this_1.t7z_1 = _tmp_caNumberOfFiles;
        this_1.u7z_1 = _tmp_caSubmissionPolicy;
        this_1.v7z_1 = _tmp_caMarkingType;
        this_1.w7z_1 = _tmp_caRequireTextSubmission;
        this_1.x7z_1 = _tmp_caTextLimitType;
        this_1.y7z_1 = _tmp_caTextLimit;
        this_1.z7z_1 = _tmp_caXObjectUid;
        this_1.a80_1 = _tmp_caClazzUid;
        this_1.b80_1 = _tmp_caPeerReviewerCount;
        this_1.c80_1 = _tmp_caLocalChangeSeqNum;
        this_1.d80_1 = _tmp_caMasterChangeSeqNum;
        this_1.e80_1 = _tmp_caLastChangedBy;
        this_1.f80_1 = _tmp_caLct;
        tmp_46.m83_1 = this_1;
      }
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_47 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findByUidWithBlockAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.o83_1 = _tmp_cbUid;
        this_2.p83_1 = _tmp_cbType;
        this_2.q83_1 = _tmp_cbIndentLevel;
        this_2.r83_1 = _tmp_cbModuleParentBlockUid;
        this_2.s83_1 = _tmp_cbTitle;
        this_2.t83_1 = _tmp_cbDescription;
        this_2.u83_1 = _tmp_cbCompletionCriteria;
        this_2.v83_1 = _tmp_cbHideUntilDate;
        this_2.w83_1 = _tmp_cbDeadlineDate;
        this_2.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_2.y83_1 = _tmp_cbGracePeriodDate;
        this_2.z83_1 = _tmp_cbMaxPoints;
        this_2.a84_1 = _tmp_cbMinPoints;
        this_2.b84_1 = _tmp_cbIndex;
        this_2.c84_1 = _tmp_cbClazzUid;
        this_2.d84_1 = _tmp_cbClazzSourcedId;
        this_2.e84_1 = _tmp_cbActive;
        this_2.f84_1 = _tmp_cbHidden;
        this_2.g84_1 = _tmp_cbEntityUid;
        this_2.h84_1 = _tmp_cbLct;
        this_2.i84_1 = _tmp_cbSourcedId;
        this_2.j84_1 = _tmp_cbMetadata;
        this_2.k84_1 = _tmp_cbCreatedByAppId;
        tmp_47.n83_1 = this_2;
      }
      return this_0;
    };
  }
  function ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_submitterUid = $_result.d5t('submitterUid');
      var _tmp_hasModeratePermission = $_result.o6c('hasModeratePermission');
      var _tmp_ClazzAssignment_nullCount = 0;
      var _tmp_caUid = $_result.d5t('caUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_caTitle = $_result.rz('caTitle');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_caDescription = $_result.rz('caDescription');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_caGroupUid = $_result.d5t('caGroupUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_caActive = $_result.o6c('caActive');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_caClassCommentEnabled = $_result.o6c('caClassCommentEnabled');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_caPrivateCommentsEnabled = $_result.o6c('caPrivateCommentsEnabled');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_caCompletionCriteria = $_result.c5t('caCompletionCriteria');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_caRequireFileSubmission = $_result.o6c('caRequireFileSubmission');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_caFileType = $_result.c5t('caFileType');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_caSizeLimit = $_result.c5t('caSizeLimit');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_caNumberOfFiles = $_result.c5t('caNumberOfFiles');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_caSubmissionPolicy = $_result.c5t('caSubmissionPolicy');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_caMarkingType = $_result.c5t('caMarkingType');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_caRequireTextSubmission = $_result.o6c('caRequireTextSubmission');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_caTextLimitType = $_result.c5t('caTextLimitType');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_caTextLimit = $_result.c5t('caTextLimit');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_caXObjectUid = $_result.d5t('caXObjectUid');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_caClazzUid = $_result.d5t('caClazzUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_caPeerReviewerCount = $_result.c5t('caPeerReviewerCount');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_caLocalChangeSeqNum = $_result.d5t('caLocalChangeSeqNum');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_caMasterChangeSeqNum = $_result.d5t('caMasterChangeSeqNum');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_caLastChangedBy = $_result.c5t('caLastChangedBy');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_caLct = $_result.d5t('caLct');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_ClazzAssignment_isAllNull = _tmp_ClazzAssignment_nullCount === 24;
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      var _tmp_CourseBlockPicture_nullCount = 0;
      var _tmp_cbpUid = $_result.d5t('cbpUid');
      var tmp_46;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_46 = Unit_instance;
      }
      var _tmp_cbpLct = $_result.d5t('cbpLct');
      var tmp_47;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_47 = Unit_instance;
      }
      var _tmp_cbpPictureUri = $_result.rz('cbpPictureUri');
      var tmp_48;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_48 = Unit_instance;
      }
      var _tmp_cbpThumbnailUri = $_result.rz('cbpThumbnailUri');
      var tmp_49;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_49 = Unit_instance;
      }
      var _tmp_CourseBlockPicture_isAllNull = _tmp_CourseBlockPicture_nullCount === 4;
      var _tmp_CourseGroupSet_nullCount = 0;
      var _tmp_cgsUid = $_result.d5t('cgsUid');
      var tmp_50;
      if ($_result.v6d()) {
        _tmp_CourseGroupSet_nullCount = _tmp_CourseGroupSet_nullCount + 1 | 0;
        tmp_50 = Unit_instance;
      }
      var _tmp_cgsName = $_result.rz('cgsName');
      var tmp_51;
      if ($_result.v6d()) {
        _tmp_CourseGroupSet_nullCount = _tmp_CourseGroupSet_nullCount + 1 | 0;
        tmp_51 = Unit_instance;
      }
      var _tmp_cgsTotalGroups = $_result.c5t('cgsTotalGroups');
      var tmp_52;
      if ($_result.v6d()) {
        _tmp_CourseGroupSet_nullCount = _tmp_CourseGroupSet_nullCount + 1 | 0;
        tmp_52 = Unit_instance;
      }
      var _tmp_cgsActive = $_result.o6c('cgsActive');
      var tmp_53;
      if ($_result.v6d()) {
        _tmp_CourseGroupSet_nullCount = _tmp_CourseGroupSet_nullCount + 1 | 0;
        tmp_53 = Unit_instance;
      }
      var _tmp_cgsClazzUid = $_result.d5t('cgsClazzUid');
      var tmp_54;
      if ($_result.v6d()) {
        _tmp_CourseGroupSet_nullCount = _tmp_CourseGroupSet_nullCount + 1 | 0;
        tmp_54 = Unit_instance;
      }
      var _tmp_cgsLct = $_result.d5t('cgsLct');
      var tmp_55;
      if ($_result.v6d()) {
        _tmp_CourseGroupSet_nullCount = _tmp_CourseGroupSet_nullCount + 1 | 0;
        tmp_55 = Unit_instance;
      }
      var _tmp_CourseGroupSet_isAllNull = _tmp_CourseGroupSet_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzAssignmentCourseBlockAndSubmitterUid();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findAssignmentCourseBlockAndSubmitterUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.p84_1 = _tmp_submitterUid;
      this_0.q84_1 = _tmp_hasModeratePermission;
      if (!_tmp_ClazzAssignment_isAllNull) {
        var tmp_56 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ClazzAssignment();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findAssignmentCourseBlockAndSubmitterUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.i7z_1 = _tmp_caUid;
        this_1.j7z_1 = _tmp_caTitle;
        this_1.k7z_1 = _tmp_caDescription;
        this_1.l7z_1 = _tmp_caGroupUid;
        this_1.m7z_1 = _tmp_caActive;
        this_1.n7z_1 = _tmp_caClassCommentEnabled;
        this_1.o7z_1 = _tmp_caPrivateCommentsEnabled;
        this_1.p7z_1 = _tmp_caCompletionCriteria;
        this_1.q7z_1 = _tmp_caRequireFileSubmission;
        this_1.r7z_1 = _tmp_caFileType;
        this_1.s7z_1 = _tmp_caSizeLimit;
        this_1.t7z_1 = _tmp_caNumberOfFiles;
        this_1.u7z_1 = _tmp_caSubmissionPolicy;
        this_1.v7z_1 = _tmp_caMarkingType;
        this_1.w7z_1 = _tmp_caRequireTextSubmission;
        this_1.x7z_1 = _tmp_caTextLimitType;
        this_1.y7z_1 = _tmp_caTextLimit;
        this_1.z7z_1 = _tmp_caXObjectUid;
        this_1.a80_1 = _tmp_caClazzUid;
        this_1.b80_1 = _tmp_caPeerReviewerCount;
        this_1.c80_1 = _tmp_caLocalChangeSeqNum;
        this_1.d80_1 = _tmp_caMasterChangeSeqNum;
        this_1.e80_1 = _tmp_caLastChangedBy;
        this_1.f80_1 = _tmp_caLct;
        tmp_56.l84_1 = this_1;
      }
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_57 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findAssignmentCourseBlockAndSubmitterUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.o83_1 = _tmp_cbUid;
        this_2.p83_1 = _tmp_cbType;
        this_2.q83_1 = _tmp_cbIndentLevel;
        this_2.r83_1 = _tmp_cbModuleParentBlockUid;
        this_2.s83_1 = _tmp_cbTitle;
        this_2.t83_1 = _tmp_cbDescription;
        this_2.u83_1 = _tmp_cbCompletionCriteria;
        this_2.v83_1 = _tmp_cbHideUntilDate;
        this_2.w83_1 = _tmp_cbDeadlineDate;
        this_2.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_2.y83_1 = _tmp_cbGracePeriodDate;
        this_2.z83_1 = _tmp_cbMaxPoints;
        this_2.a84_1 = _tmp_cbMinPoints;
        this_2.b84_1 = _tmp_cbIndex;
        this_2.c84_1 = _tmp_cbClazzUid;
        this_2.d84_1 = _tmp_cbClazzSourcedId;
        this_2.e84_1 = _tmp_cbActive;
        this_2.f84_1 = _tmp_cbHidden;
        this_2.g84_1 = _tmp_cbEntityUid;
        this_2.h84_1 = _tmp_cbLct;
        this_2.i84_1 = _tmp_cbSourcedId;
        this_2.j84_1 = _tmp_cbMetadata;
        this_2.k84_1 = _tmp_cbCreatedByAppId;
        tmp_57.m84_1 = this_2;
      }
      if (!_tmp_CourseBlockPicture_isAllNull) {
        var tmp_58 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new CourseBlockPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findAssignmentCourseBlockAndSubmitterUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.r84_1 = _tmp_cbpUid;
        this_3.s84_1 = _tmp_cbpLct;
        this_3.t84_1 = _tmp_cbpPictureUri;
        this_3.u84_1 = _tmp_cbpThumbnailUri;
        tmp_58.n84_1 = this_3;
      }
      if (!_tmp_CourseGroupSet_isAllNull) {
        var tmp_59 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new CourseGroupSet();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzAssignmentDao_JdbcImpl.findAssignmentCourseBlockAndSubmitterUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.v84_1 = _tmp_cgsUid;
        this_4.w84_1 = _tmp_cgsName;
        this_4.x84_1 = _tmp_cgsTotalGroups;
        this_4.y84_1 = _tmp_cgsActive;
        this_4.z84_1 = _tmp_cgsClazzUid;
        this_4.a85_1 = _tmp_cgsLct;
        tmp_59.o84_1 = this_4;
      }
      return this_0;
    };
  }
  function ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda($accountPersonUid, $clazzUid, $assignmentUid, resultContinuation) {
    this.j85_1 = $accountPersonUid;
    this.k85_1 = $clazzUid;
    this.l85_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda).n85 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.n85((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.m85_1.a5o(1, this.j85_1);
            this.m85_1.a5o(2, this.k85_1);
            this.m85_1.a5o(3, this.l85_1);
            this.m85_1.a5o(4, this.j85_1);
            this.m85_1.a5o(5, this.l85_1);
            this.m85_1.a5o(6, this.l85_1);
            this.m85_1.a5o(7, this.j85_1);
            this.m85_1.a5o(8, this.l85_1);
            this.m85_1.a5o(9, this.j85_1);
            this.m85_1.a5o(10, this.l85_1);
            this.m85_1.a5o(11, this.l85_1);
            this.m85_1.a5o(12, this.j85_1);
            this.m85_1.a5o(13, this.k85_1);
            this.m85_1.a5o(14, this.j85_1);
            this.m85_1.a5o(15, this.j85_1);
            this.m85_1.a5o(16, this.k85_1);
            this.m85_1.a5o(17, this.j85_1);
            this.m85_1.a5o(18, this.j85_1);
            this.m85_1.a5o(19, this.l85_1);
            this.m85_1.a5o(20, this.k85_1);
            this.m85_1.a5o(21, this.k85_1);
            this.m85_1.a5o(22, this.j85_1);
            this.m85_1.a5o(23, this.j85_1);
            this.m85_1.a5o(24, this.k85_1);
            this.m85_1.a5o(25, this.j85_1);
            this.m85_1.a5o(26, this.j85_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.m85_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda(this.j85_1, this.k85_1, this.l85_1, completion);
    i.m85_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda_0($accountPersonUid, $clazzUid, $assignmentUid, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda($accountPersonUid, $clazzUid, $assignmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.n85(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.o85_1);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_upsert$1).t85 = function (stmt, entity) {
    if (entity.i7z_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.i7z_1);
    }
    stmt.d5o(2, entity.j7z_1);
    stmt.d5o(3, entity.k7z_1);
    stmt.a5o(4, entity.l7z_1);
    stmt.n5n(5, entity.m7z_1);
    stmt.n5n(6, entity.n7z_1);
    stmt.n5n(7, entity.o7z_1);
    stmt.z5n(8, entity.p7z_1);
    stmt.n5n(9, entity.q7z_1);
    stmt.z5n(10, entity.r7z_1);
    stmt.z5n(11, entity.s7z_1);
    stmt.z5n(12, entity.t7z_1);
    stmt.z5n(13, entity.u7z_1);
    stmt.z5n(14, entity.v7z_1);
    stmt.n5n(15, entity.w7z_1);
    stmt.z5n(16, entity.x7z_1);
    stmt.z5n(17, entity.y7z_1);
    stmt.a5o(18, entity.z7z_1);
    stmt.a5o(19, entity.a80_1);
    stmt.z5n(20, entity.b80_1);
    stmt.a5o(21, entity.c80_1);
    stmt.a5o(22, entity.d80_1);
    stmt.z5n(23, entity.e80_1);
    stmt.a5o(24, entity.f80_1);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_upsert$1).u5l = function (stmt, entity) {
    return this.t85(stmt, entity instanceof ClazzAssignment ? entity : THROW_CCE());
  };
  function ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.o85_1);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_abort$1).t85 = function (stmt, entity) {
    if (entity.i7z_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.i7z_1);
    }
    stmt.d5o(2, entity.j7z_1);
    stmt.d5o(3, entity.k7z_1);
    stmt.a5o(4, entity.l7z_1);
    stmt.n5n(5, entity.m7z_1);
    stmt.n5n(6, entity.n7z_1);
    stmt.n5n(7, entity.o7z_1);
    stmt.z5n(8, entity.p7z_1);
    stmt.n5n(9, entity.q7z_1);
    stmt.z5n(10, entity.r7z_1);
    stmt.z5n(11, entity.s7z_1);
    stmt.z5n(12, entity.t7z_1);
    stmt.z5n(13, entity.u7z_1);
    stmt.z5n(14, entity.v7z_1);
    stmt.n5n(15, entity.w7z_1);
    stmt.z5n(16, entity.x7z_1);
    stmt.z5n(17, entity.y7z_1);
    stmt.a5o(18, entity.z7z_1);
    stmt.a5o(19, entity.a80_1);
    stmt.z5n(20, entity.b80_1);
    stmt.a5o(21, entity.c80_1);
    stmt.a5o(22, entity.d80_1);
    stmt.z5n(23, entity.e80_1);
    stmt.a5o(24, entity.f80_1);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_abort$1).u5l = function (stmt, entity) {
    return this.t85(stmt, entity instanceof ClazzAssignment ? entity : THROW_CCE());
  };
  function ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda(this$0, $clazzUid, $accountPersonUid, $assignmentUid, $group, resultContinuation) {
    this.e86_1 = this$0;
    this.f86_1 = $clazzUid;
    this.g86_1 = $accountPersonUid;
    this.h86_1 = $assignmentUid;
    this.i86_1 = $group;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda).j86 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda).r7e = function ($completion) {
    return this.j86($completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig("\n        WITH \n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ,\n        \n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))  \n    ,\n        \n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT)))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                ? || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT)\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    \n        \n        SELECT \n              -- whether or not the active user has permission to view learner records \n              (SELECT hasPermission\n                 FROM HasLearningRecordSelectPermission) AS activeUserHasViewLearnerRecordsPermission,\n        \n              (SELECT COUNT(*)\n                 FROM SubmitterList) AS totalStudents,\n              \n              -- Total marked students\n              (SELECT COUNT(*)\n                 FROM SubmitterList\n                WHERE EXISTS(\n                      SELECT CourseAssignmentMark.camUid\n                        FROM CourseAssignmentMark\n                       WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT)\n                         AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId) \n                ) AS markedStudents,\n              \n              -- Total who have submitted  \n              (SELECT COUNT(*)\n                 FROM SubmitterList\n                WHERE EXISTS(\n                      SELECT CourseAssignmentSubmission.casUid\n                        FROM CourseAssignmentSubmission\n                       WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n                         AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId)\n                ) AS submittedStudents,\n              \n              (SELECT (ClazzAssignment.caGroupUid != 0)\n                 FROM ClazzAssignment\n                WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) AS isGroupAssignment\n    ", VOID, VOID, VOID, "\n        WITH \n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ,\n        \n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?)  \n    ,\n        \n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = ?\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = ?))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                ? || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = ?\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    \n        \n        SELECT \n              -- whether or not the active user has permission to view learner records \n              (SELECT hasPermission\n                 FROM HasLearningRecordSelectPermission) AS activeUserHasViewLearnerRecordsPermission,\n        \n              (SELECT COUNT(*)\n                 FROM SubmitterList) AS totalStudents,\n              \n              -- Total marked students\n              (SELECT COUNT(*)\n                 FROM SubmitterList\n                WHERE EXISTS(\n                      SELECT CourseAssignmentMark.camUid\n                        FROM CourseAssignmentMark\n                       WHERE CourseAssignmentMark.camAssignmentUid = ?\n                         AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId) \n                ) AS markedStudents,\n              \n              -- Total who have submitted  \n              (SELECT COUNT(*)\n                 FROM SubmitterList\n                WHERE EXISTS(\n                      SELECT CourseAssignmentSubmission.casUid\n                        FROM CourseAssignmentSubmission\n                       WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n                         AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId)\n                ) AS submittedStudents,\n              \n              (SELECT (ClazzAssignment.caGroupUid != 0)\n                 FROM ClazzAssignment\n                WHERE ClazzAssignment.caUid = ?) AS isGroupAssignment\n    \n", true);
            suspendResult = prepareAndUseStatementAsync(this.e86_1.o85_1, tmp_0, ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda$slambda_0(this.f86_1, this.g86_1, this.h86_1, this.i86_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda(this.e86_1, this.f86_1, this.g86_1, this.h86_1, this.i86_1, completion);
  };
  function ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda_0(this$0, $clazzUid, $accountPersonUid, $assignmentUid, $group, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda(this$0, $clazzUid, $accountPersonUid, $assignmentUid, $group, resultContinuation);
    var l = function ($completion) {
      return i.j86($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$1(this$0, $clazzUid, $accountPersonUid, $assignmentUid, $group, $searchText, $sortOption) {
    this.q86_1 = this$0;
    this.r86_1 = $clazzUid;
    this.s86_1 = $accountPersonUid;
    this.t86_1 = $assignmentUid;
    this.u86_1 = $group;
    this.v86_1 = $searchText;
    this.w86_1 = $sortOption;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['SystemPermission', 'CoursePermission', 'ClazzAssignment', 'ClazzEnrolment', 'PeerReviewerAllocation', 'Person', 'CourseGroupMember', 'CourseAssignmentSubmission', 'CourseAssignmentMark', 'Comments', 'PersonPicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.o85_1, tmp$ret$2);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$1).x86 = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        WITH \n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ,\n             \n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))  \n    ,\n             \n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT)))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                ? || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT)\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    \n        \n        SELECT SubmitterList.name AS name,\n               SubmitterList.submitterId AS submitterUid,\n               Comments.commentsText AS latestPrivateComment,\n               CASE \n               WHEN SubmitterList.submitterId >= 10000 THEN\n                    (SELECT PersonPicture.personPictureThumbnailUri\n                       FROM PersonPicture\n                      WHERE PersonPicture.personPictureUid =  SubmitterList.submitterId)\n               ELSE NULL\n               END AS pictureUri,       \n               -- Determine submission status - marked, submitted, or not yet submitted\n               CASE \n               WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2\n               WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1\n               ELSE 0 \n               END AS fileSubmissionStatus\n               \n          FROM SubmitterList\n               LEFT JOIN Comments \n                         ON Comments.commentsUid = \n                            (SELECT Comments.commentsUid \n                               FROM Comments\n                              WHERE Comments.commentsEntityUid = CAST(? AS BIGINT)\n                                AND Comments.commentsForSubmitterUid = SubmitterList.submitterId\n                                AND NOT Comments.commentsDeleted\n                           ORDER BY Comments.commentsDateTimeAdded DESC     \n                              LIMIT 1) \n               LEFT JOIN CourseAssignmentMark\n                         ON CourseAssignmentMark.camUid = \n                            (SELECT camUid\n                               FROM CourseAssignmentMark\n                              WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT)\n                                AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId\n                              LIMIT 1)\n               LEFT JOIN CourseAssignmentSubmission\n                         ON CourseAssignmentSubmission.casUid = \n                            (SELECT casUid\n                               FROM CourseAssignmentSubmission\n                              WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n                                AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId \n                              LIMIT 1)\n         WHERE (? = '%' OR SubmitterList.name LIKE ?)\n      ORDER BY CASE(?)\n               WHEN 5 THEN SubmitterList.name\n               ELSE '' END ASC,\n               CASE(?)\n               WHEN 6 THEN SubmitterList.name\n               ELSE '' END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n        WITH \n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ,\n             \n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?)  \n    ,\n             \n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = ?\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = ?))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                ? || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = ?\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    \n        \n        SELECT SubmitterList.name AS name,\n               SubmitterList.submitterId AS submitterUid,\n               Comments.commentsText AS latestPrivateComment,\n               CASE \n               WHEN SubmitterList.submitterId >= 10000 THEN\n                    (SELECT PersonPicture.personPictureThumbnailUri\n                       FROM PersonPicture\n                      WHERE PersonPicture.personPictureUid =  SubmitterList.submitterId)\n               ELSE NULL\n               END AS pictureUri,       \n               -- Determine submission status - marked, submitted, or not yet submitted\n               CASE \n               WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2\n               WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1\n               ELSE 0 \n               END AS fileSubmissionStatus\n               \n          FROM SubmitterList\n               LEFT JOIN Comments \n                         ON Comments.commentsUid = \n                            (SELECT Comments.commentsUid \n                               FROM Comments\n                              WHERE Comments.commentsEntityUid = ?\n                                AND Comments.commentsForSubmitterUid = SubmitterList.submitterId\n                                AND NOT Comments.commentsDeleted\n                           ORDER BY Comments.commentsDateTimeAdded DESC     \n                              LIMIT 1) \n               LEFT JOIN CourseAssignmentMark\n                         ON CourseAssignmentMark.camUid = \n                            (SELECT camUid\n                               FROM CourseAssignmentMark\n                              WHERE CourseAssignmentMark.camAssignmentUid = ?\n                                AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId\n                              LIMIT 1)\n               LEFT JOIN CourseAssignmentSubmission\n                         ON CourseAssignmentSubmission.casUid = \n                            (SELECT casUid\n                               FROM CourseAssignmentSubmission\n                              WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n                                AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId \n                              LIMIT 1)\n         WHERE (? = '%' OR SubmitterList.name LIKE ?)\n      ORDER BY CASE(?)\n               WHEN 5 THEN SubmitterList.name\n               ELSE '' END ASC,\n               CASE(?)\n               WHEN 6 THEN SubmitterList.name\n               ELSE '' END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.q86_1.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$loadRows$slambda_0(this.r86_1, this.s86_1, this.t86_1, this.u86_1, this.v86_1, this.w86_1, _limit, _offset, null), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$1).b5w = function (_limit, _offset, $completion) {
    return this.x86(_limit, _offset, $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        WITH \n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ,\n             \n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))  \n    ,\n             \n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT)))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                ? || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT)\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    \n        \n        SELECT SubmitterList.name AS name,\n               SubmitterList.submitterId AS submitterUid,\n               Comments.commentsText AS latestPrivateComment,\n               CASE \n               WHEN SubmitterList.submitterId >= 10000 THEN\n                    (SELECT PersonPicture.personPictureThumbnailUri\n                       FROM PersonPicture\n                      WHERE PersonPicture.personPictureUid =  SubmitterList.submitterId)\n               ELSE NULL\n               END AS pictureUri,       \n               -- Determine submission status - marked, submitted, or not yet submitted\n               CASE \n               WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2\n               WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1\n               ELSE 0 \n               END AS fileSubmissionStatus\n               \n          FROM SubmitterList\n               LEFT JOIN Comments \n                         ON Comments.commentsUid = \n                            (SELECT Comments.commentsUid \n                               FROM Comments\n                              WHERE Comments.commentsEntityUid = CAST(? AS BIGINT)\n                                AND Comments.commentsForSubmitterUid = SubmitterList.submitterId\n                                AND NOT Comments.commentsDeleted\n                           ORDER BY Comments.commentsDateTimeAdded DESC     \n                              LIMIT 1) \n               LEFT JOIN CourseAssignmentMark\n                         ON CourseAssignmentMark.camUid = \n                            (SELECT camUid\n                               FROM CourseAssignmentMark\n                              WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT)\n                                AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId\n                              LIMIT 1)\n               LEFT JOIN CourseAssignmentSubmission\n                         ON CourseAssignmentSubmission.casUid = \n                            (SELECT casUid\n                               FROM CourseAssignmentSubmission\n                              WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n                                AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId \n                              LIMIT 1)\n         WHERE (? = '%' OR SubmitterList.name LIKE ?)\n      ORDER BY CASE(?)\n               WHEN 5 THEN SubmitterList.name\n               ELSE '' END ASC,\n               CASE(?)\n               WHEN 6 THEN SubmitterList.name\n               ELSE '' END DESC\n    ) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n        WITH \n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ,\n             \n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?)  \n    ,\n             \n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = ?\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = ?))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                ? || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = ?) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = ?\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = ?\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    \n        \n        SELECT SubmitterList.name AS name,\n               SubmitterList.submitterId AS submitterUid,\n               Comments.commentsText AS latestPrivateComment,\n               CASE \n               WHEN SubmitterList.submitterId >= 10000 THEN\n                    (SELECT PersonPicture.personPictureThumbnailUri\n                       FROM PersonPicture\n                      WHERE PersonPicture.personPictureUid =  SubmitterList.submitterId)\n               ELSE NULL\n               END AS pictureUri,       \n               -- Determine submission status - marked, submitted, or not yet submitted\n               CASE \n               WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2\n               WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1\n               ELSE 0 \n               END AS fileSubmissionStatus\n               \n          FROM SubmitterList\n               LEFT JOIN Comments \n                         ON Comments.commentsUid = \n                            (SELECT Comments.commentsUid \n                               FROM Comments\n                              WHERE Comments.commentsEntityUid = ?\n                                AND Comments.commentsForSubmitterUid = SubmitterList.submitterId\n                                AND NOT Comments.commentsDeleted\n                           ORDER BY Comments.commentsDateTimeAdded DESC     \n                              LIMIT 1) \n               LEFT JOIN CourseAssignmentMark\n                         ON CourseAssignmentMark.camUid = \n                            (SELECT camUid\n                               FROM CourseAssignmentMark\n                              WHERE CourseAssignmentMark.camAssignmentUid = ?\n                                AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId\n                              LIMIT 1)\n               LEFT JOIN CourseAssignmentSubmission\n                         ON CourseAssignmentSubmission.casUid = \n                            (SELECT casUid\n                               FROM CourseAssignmentSubmission\n                              WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n                                AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId \n                              LIMIT 1)\n         WHERE (? = '%' OR SubmitterList.name LIKE ?)\n      ORDER BY CASE(?)\n               WHEN 5 THEN SubmitterList.name\n               ELSE '' END ASC,\n               CASE(?)\n               WHEN 6 THEN SubmitterList.name\n               ELSE '' END DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.q86_1.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$o$countRows$slambda_0(this.r86_1, this.s86_1, this.t86_1, this.u86_1, this.v86_1, this.w86_1, null), $completion);
  };
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda($groupSetUid, $clazzUid, $time, resultContinuation) {
    this.g87_1 = $groupSetUid;
    this.h87_1 = $clazzUid;
    this.i87_1 = $time;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda).k87 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda).he = function (p1, $completion) {
    return this.k87((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.j87_1.a5o(1, this.g87_1);
            this.j87_1.a5o(2, this.h87_1);
            this.j87_1.a5o(3, this.i87_1);
            this.j87_1.a5o(4, this.g87_1);
            this.j87_1.a5o(5, this.g87_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.j87_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda(this.g87_1, this.h87_1, this.i87_1, completion);
    i.j87_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda_0($groupSetUid, $clazzUid, $time, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda($groupSetUid, $clazzUid, $time, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.k87(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda($groupSetUid, $clazzUid, $date, $groupStr, resultContinuation) {
    this.t87_1 = $groupSetUid;
    this.u87_1 = $clazzUid;
    this.v87_1 = $date;
    this.w87_1 = $groupStr;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda).y87 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda).he = function (p1, $completion) {
    return this.y87((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.x87_1.a5o(1, this.t87_1);
            this.x87_1.a5o(2, this.u87_1);
            this.x87_1.a5o(3, this.v87_1);
            this.x87_1.a5o(4, this.t87_1);
            this.x87_1.a5o(5, this.t87_1);
            this.x87_1.a5o(6, this.t87_1);
            this.x87_1.d5o(7, this.w87_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.x87_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda(this.t87_1, this.u87_1, this.v87_1, this.w87_1, completion);
    i.x87_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda_0($groupSetUid, $clazzUid, $date, $groupStr, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda($groupSetUid, $clazzUid, $date, $groupStr, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.y87(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda($clazzUid, $assignmentUid, $accountPersonUid, resultContinuation) {
    this.h88_1 = $clazzUid;
    this.i88_1 = $assignmentUid;
    this.j88_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda).g5m = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda).he = function (p1, $completion) {
    return this.g5m((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.k88_1.a5o(1, this.h88_1);
            this.k88_1.a5o(2, this.i88_1);
            this.k88_1.a5o(3, this.j88_1);
            this.k88_1.a5o(4, this.i88_1);
            this.k88_1.a5o(5, this.i88_1);
            this.k88_1.a5o(6, this.j88_1);
            this.k88_1.a5o(7, this.i88_1);
            this.k88_1.a5o(8, this.j88_1);
            this.k88_1.a5o(9, this.i88_1);
            this.k88_1.a5o(10, this.i88_1);
            this.k88_1.a5o(11, this.j88_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.k88_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda(this.h88_1, this.i88_1, this.j88_1, completion);
    i.k88_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda_0($clazzUid, $assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda($clazzUid, $assignmentUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.g5m(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation) {
    this.t88_1 = this$0;
    this.u88_1 = $uid;
    this.v88_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).w88 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.w88($completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT * \n          FROM ClazzAssignment \n         WHERE caUid = CAST(? AS BIGINT)\n           AND caClazzUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT * \n          FROM ClazzAssignment \n         WHERE caUid = ?\n           AND caClazzUid = ?\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.t88_1.o85_1, tmp_0, ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda_0(this.u88_1, this.v88_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda(this.t88_1, this.u88_1, this.v88_1, completion);
  };
  function ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda_0(this$0, $uid, $clazzUid, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.w88($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda($uid, resultContinuation) {
    this.f89_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda).h89 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda).he = function (p1, $completion) {
    return this.h89((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.g89_1.a5o(1, this.f89_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.g89_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda(this.f89_1, completion);
    i.g89_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda_0($uid, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.h89(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda($active, $changeTime, $uidList, resultContinuation) {
    this.q89_1 = $active;
    this.r89_1 = $changeTime;
    this.s89_1 = $uidList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.t89_1.n5n(1, this.q89_1);
            this.t89_1.a5o(2, this.r89_1);
            var tmp_0 = this.t89_1.w5m();
            var this_0 = this.s89_1;
            this.t89_1.e5o(3, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.t89_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda(this.q89_1, this.r89_1, this.s89_1, completion);
    i.t89_1 = _stmt;
    return i;
  };
  function ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda_0($active, $changeTime, $uidList, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda($active, $changeTime, $uidList, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, $assignmentUid, resultContinuation) {
    this.c8a_1 = this$0;
    this.d8a_1 = $accountPersonUid;
    this.e8a_1 = $clazzUid;
    this.f8a_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).g8a = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).r7e = function ($completion) {
    return this.g8a($completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        WITH PersonIsStudent(isStudent)\n             AS (SELECT EXISTS(\n                        SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                           FROM ClazzEnrolment\n                          WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                            AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n                            AND ClazzEnrolment.clazzEnrolmentRole = 1000))\n                        \n        SELECT ClazzAssignment.*,\n               CourseBlock.*,\n               CourseBlockPicture.*,\n               CourseGroupSet.*,\n               (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    ) AS submitterUid,\n               \n               ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         4\n                \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     4\n                \n        ) > 0)\n               )\n    ) AS hasModeratePermission\n                   \n          FROM ClazzAssignment\n               JOIN CourseBlock\n                    ON CourseBlock.cbEntityUid = ClazzAssignment.caUid\n               LEFT JOIN CourseBlockPicture\n                    ON CourseBlockPicture.cbpUid = CourseBlock.cbUid\n               LEFT JOIN CourseGroupSet\n                    ON CourseGroupSet.cgsUid = ClazzAssignment.caGroupUid\n         WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n           AND ClazzAssignment.caClazzUid = CAST(? AS BIGINT)\n           AND (\n                (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         1\n                \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     1\n                \n        ) > 0)\n               )\n    )\n    ', VOID, VOID, VOID, '\n        WITH PersonIsStudent(isStudent)\n             AS (SELECT EXISTS(\n                        SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                           FROM ClazzEnrolment\n                          WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                            AND ClazzEnrolment.clazzEnrolmentClazzUid = ?\n                            AND ClazzEnrolment.clazzEnrolmentRole = 1000))\n                        \n        SELECT ClazzAssignment.*,\n               CourseBlock.*,\n               CourseBlockPicture.*,\n               CourseGroupSet.*,\n               (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    ) AS submitterUid,\n               \n               ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         4\n                \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     4\n                \n        ) > 0)\n               )\n    ) AS hasModeratePermission\n                   \n          FROM ClazzAssignment\n               JOIN CourseBlock\n                    ON CourseBlock.cbEntityUid = ClazzAssignment.caUid\n               LEFT JOIN CourseBlockPicture\n                    ON CourseBlockPicture.cbpUid = CourseBlock.cbUid\n               LEFT JOIN CourseGroupSet\n                    ON CourseGroupSet.cgsUid = ClazzAssignment.caGroupUid\n         WHERE ClazzAssignment.caUid = ?\n           AND ClazzAssignment.caClazzUid = ?\n           AND (\n                (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         1\n                \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     1\n                \n        ) > 0)\n               )\n    )\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.c8a_1.o85_1, tmp_0, ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$slambda_0(this.d8a_1, this.e8a_1, this.f8a_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda(this.c8a_1, this.d8a_1, this.e8a_1, this.f8a_1, completion);
  };
  function ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda_0(this$0, $accountPersonUid, $clazzUid, $assignmentUid, resultContinuation) {
    var i = new ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.g8a($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$4(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.p8a_1 = _this__u8e3s4;
    this.q8a_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$4).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.p8a_1.q85_1.b5n(this.q8a_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateActiveByListCOROUTINE$7(_this__u8e3s4, uidList, active, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.z8a_1 = _this__u8e3s4;
    this.a8b_1 = uidList;
    this.b8b_1 = active;
    this.c8b_1 = changeTime;
  }
  protoOf($updateActiveByListCOROUTINE$7).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ClazzAssignment\n           SET caActive = ?,\n               caLct = CAST(? AS BIGINT)\n         WHERE caUid IN (?)   \n    ', true, VOID, VOID, '\n        UPDATE ClazzAssignment\n           SET caActive = ?,\n               caLct = ?\n         WHERE caUid IN (?)   \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.z8a_1.o85_1, tmp_0, ClazzAssignmentDao_JdbcImpl$updateActiveByList$slambda_0(this.b8b_1, this.c8b_1, this.a8b_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzAssignmentDao_JdbcImpl(_db) {
    ClazzAssignmentDao.call(this);
    this.o85_1 = _db;
    var tmp = this;
    tmp.p85_1 = new ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_upsert$1(this);
    var tmp_0 = this;
    tmp_0.q85_1 = new ClazzAssignmentDao_JdbcImpl$_insertAdapterClazzAssignment_abort$1(this);
  }
  protoOf(ClazzAssignmentDao_JdbcImpl).m7y = function (entities, $completion) {
    return this.p85_1.e5n(entities, $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).s80 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$4(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.s80(entity instanceof ClazzAssignment ? entity : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).f7y = function (assignmentUid, clazzUid, accountPersonUid, group) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['SystemPermission', 'CoursePermission', 'ClazzAssignment', 'ClazzEnrolment', 'PeerReviewerAllocation', 'Person', 'CourseGroupMember', 'CourseAssignmentSubmission', 'CourseAssignmentMark', 'Comments', 'PersonPicture'];
    return doorFlow(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$getProgressSummaryForAssignment$slambda_0(this, clazzUid, accountPersonUid, assignmentUid, group, null));
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).g7y = function (assignmentUid, clazzUid, accountPersonUid, group, searchText, sortOption) {
    return new ClazzAssignmentDao_JdbcImpl$getAssignmentSubmitterSummaryListForAssignment$1(this, clazzUid, accountPersonUid, assignmentUid, group, searchText, sortOption);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).h7y = function (clazzUid, groupSetUid, time, $completion) {
    var tmp = new PreparedStatementConfig('\n         -- Submitter UIDs for individual assignment the list of personuids enrolled in the course\n         SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid\n           FROM ClazzEnrolment\n          WHERE (CAST(? AS BIGINT) = 0)\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft\n          \n         UNION\n         \n        SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid\n          FROM CourseGroupMember\n         WHERE CAST(? AS BIGINT) != 0\n           AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT)         \n    ', VOID, VOID, VOID, '\n         -- Submitter UIDs for individual assignment the list of personuids enrolled in the course\n         SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid\n           FROM ClazzEnrolment\n          WHERE (? = 0)\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = ?\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft\n          \n         UNION\n         \n        SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid\n          FROM CourseGroupMember\n         WHERE ? != 0\n           AND CourseGroupMember.cgmSetUid = ?         \n    \n', true);
    return prepareAndUseStatementAsync(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$getSubmitterUidsByClazzOrGroupSetUid$slambda_0(groupSetUid, clazzUid, time, null), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).i7y = function (clazzUid, groupSetUid, date, groupStr, $completion) {
    var tmp = new PreparedStatementConfig("\n        WITH SubmitterUids(submitterUid) AS (\n            SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid\n               FROM ClazzEnrolment\n              WHERE (CAST(? AS BIGINT) = 0)\n                AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n                AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft\n              \n             UNION\n             \n            SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid\n              FROM CourseGroupMember\n             WHERE CAST(? AS BIGINT) != 0\n               AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT)    \n        )\n        \n        SELECT SubmitterUids.submitterUid AS submitterUid,\n               CASE CAST(? AS BIGINT)\n               WHEN 0 THEN\n                      (SELECT Person.firstNames || ' ' || Person.lastName\n                         FROM Person\n                        WHERE Person.personUid = SubmitterUids.submitterUid)\n               ELSE (? || ' ' || SubmitterUids.submitterUid)   \n               END AS name\n          FROM SubmitterUids                  \n    ", VOID, VOID, VOID, "\n        WITH SubmitterUids(submitterUid) AS (\n            SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid\n               FROM ClazzEnrolment\n              WHERE (? = 0)\n                AND ClazzEnrolment.clazzEnrolmentClazzUid = ?\n                AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft\n              \n             UNION\n             \n            SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid\n              FROM CourseGroupMember\n             WHERE ? != 0\n               AND CourseGroupMember.cgmSetUid = ?    \n        )\n        \n        SELECT SubmitterUids.submitterUid AS submitterUid,\n               CASE ?\n               WHEN 0 THEN\n                      (SELECT Person.firstNames || ' ' || Person.lastName\n                         FROM Person\n                        WHERE Person.personUid = SubmitterUids.submitterUid)\n               ELSE (? || ' ' || SubmitterUids.submitterUid)   \n               END AS name\n          FROM SubmitterUids                  \n    \n", true);
    return prepareAndUseStatementAsync(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$getSubmitterUidsAndNameByClazzOrGroupSetUid$slambda_0(groupSetUid, clazzUid, date, groupStr, null), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).j7y = function (assignmentUid, clazzUid, accountPersonUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        WITH ClazzUidDummy(clazzUid) AS\n             (SELECT CAST(? AS BIGINT))\n             \n        \n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    \n    ', VOID, VOID, VOID, '\n        WITH ClazzUidDummy(clazzUid) AS\n             (SELECT ?)\n             \n        \n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    \n    \n', true);
    return prepareAndUseStatementAsync(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$getSubmitterUid$slambda_0(clazzUid, assignmentUid, accountPersonUid, null), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).k7y = function (uid, clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ClazzAssignment'];
    return doorFlow(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda_0(this, uid, clazzUid, null));
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).l7y = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT * \n          FROM ClazzAssignment\n               LEFT JOIN CourseBlock\n               ON CourseBlock.cbEntityUid = ClazzAssignment.caUid\n               AND CourseBlock.cbType = 103\n         WHERE caUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT * \n          FROM ClazzAssignment\n               LEFT JOIN CourseBlock\n               ON CourseBlock.cbEntityUid = ClazzAssignment.caUid\n               AND CourseBlock.cbType = 103\n         WHERE caUid = ?\n    \n', true);
    return prepareAndUseStatementAsync(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$findByUidWithBlockAsync$slambda_0(uid, null), $completion);
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).n7y = function (uidList, active, changeTime, $completion) {
    var tmp = new $updateActiveByListCOROUTINE$7(this, uidList, active, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_JdbcImpl).o7y = function (assignmentUid, clazzUid, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Person', 'ClazzAssignment', 'CourseBlock', 'CourseGroupMember', 'ClazzEnrolment', 'CoursePermission', 'SystemPermission', 'CourseBlockPicture'];
    return doorFlow(this.o85_1, tmp, ClazzAssignmentDao_JdbcImpl$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda_0(this, accountPersonUid, clazzUid, assignmentUid, null));
  };
  function ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda(this$0, $assignmentUid, $clazzUid, $accountPersonUid, $group, $searchText, $sortOption, resultContinuation) {
    this.l8b_1 = this$0;
    this.m8b_1 = $assignmentUid;
    this.n8b_1 = $clazzUid;
    this.o8b_1 = $accountPersonUid;
    this.p8b_1 = $group;
    this.q8b_1 = $searchText;
    this.r8b_1 = $sortOption;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.u8b_1 = this.l8b_1.f8c_1;
            var tmp_1 = this;
            tmp_1.v8b_1 = 'ClazzAssignmentDao/getAssignmentSubmitterSummaryListForAssignment';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.w8b_1 = this.l8b_1.h8c_1;
            var tmp_3 = this;
            tmp_3.x8b_1 = this.w8b_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.l8b_1.f8c_1.a3d(), 'ClazzAssignmentDao/getAssignmentSubmitterSummaryListForAssignment');
            doorNodeIdHeader(this_0, this.l8b_1.f8c_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'assignmentUid', this.l8b_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.m8b_1));
            parameter(this_0, 'clazzUid', this.l8b_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.n8b_1));
            parameter(this_0, 'accountPersonUid', this.l8b_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.o8b_1));
            parameter(this_0, 'group', this.l8b_1.f8c_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.p8b_1));
            parameter(this_0, 'searchText', this.l8b_1.f8c_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.q8b_1));
            parameter(this_0, 'sortOption', this.l8b_1.f8c_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.r8b_1));
            pagingSourceLoadParameters(this_0, this.l8b_1.f8c_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.s8b_1);
            tmp_4.y8b_1 = this_0;
            this.y8b_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.z8b_1 = this.x8b_1;
            var tmp_6 = this;
            tmp_6.a8c_1 = this.y8b_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.a8c_1, this.z8b_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.b8c_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.l8b_1.e8c_1, this.b8c_1, this.l8b_1.f8c_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.t8b_1 = endOfPaginationReached(this.b8c_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda$lambda(this.u8b_1, this.v8b_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.t8b_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda).d8c = function (_pagingParams, completion) {
    var i = new ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda(this.l8b_1, this.m8b_1, this.n8b_1, this.o8b_1, this.p8b_1, this.q8b_1, this.r8b_1, completion);
    i.s8b_1 = _pagingParams;
    return i;
  };
  function ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda_0(this$0, $assignmentUid, $clazzUid, $accountPersonUid, $group, $searchText, $sortOption, resultContinuation) {
    var i = new ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda(this$0, $assignmentUid, $clazzUid, $accountPersonUid, $group, $searchText, $sortOption, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzAssignmentDao_Repo$getSubmitterUidsAndNameByClazzOrGroupSetUid$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzAssignmentDao_Repo$getSubmitterUid$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation) {
    this.t8c_1 = this$0;
    this.u8c_1 = $uid;
    this.v8c_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.w8c_1 = this.t8c_1.f8c_1;
            var tmp_1 = this;
            tmp_1.x8c_1 = 'ClazzAssignmentDao/findByUidAndClazzUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.y8c_1 = this.t8c_1.h8c_1;
            var tmp_3 = this;
            tmp_3.z8c_1 = this.y8c_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.t8c_1.f8c_1.a3d(), 'ClazzAssignmentDao/findByUidAndClazzUidAsFlow');
            doorNodeIdHeader(this_0, this.t8c_1.f8c_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.t8c_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.u8c_1));
            parameter(this_0, 'clazzUid', this.t8c_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.v8c_1));
            tmp_4.a8d_1 = this_0;
            this.a8d_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.b8d_1 = this.z8c_1;
            var tmp_6 = this;
            tmp_6.c8d_1 = this.a8d_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.c8d_1, this.b8d_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.d8d_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.t8c_1.e8c_1, this.d8d_1, this.t8c_1.f8c_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda$lambda(this.w8c_1, this.x8c_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda(this.t8c_1, this.u8c_1, this.v8c_1, completion);
  };
  function ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda_0(this$0, $uid, $clazzUid, resultContinuation) {
    var i = new ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzAssignmentDao_Repo$findByUidWithBlockAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzAssignmentDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.n8d_1 = this$0;
    this.o8d_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzAssignmentDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.n8d_1.g8c_1.m7y(this.o8d_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_Repo$upsertListAsync$slambda(this.n8d_1, this.o8d_1, completion);
  };
  function ClazzAssignmentDao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ClazzAssignmentDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzAssignmentDao_Repo$updateActiveByList$slambda(this$0, $uidList, $active, $changeTime, resultContinuation) {
    this.x8d_1 = this$0;
    this.y8d_1 = $uidList;
    this.z8d_1 = $active;
    this.a8e_1 = $changeTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_Repo$updateActiveByList$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo$updateActiveByList$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzAssignmentDao_Repo$updateActiveByList$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.x8d_1.g8c_1.n7y(this.y8d_1, this.z8d_1, this.a8e_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_Repo$updateActiveByList$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_Repo$updateActiveByList$slambda(this.x8d_1, this.y8d_1, this.z8d_1, this.a8e_1, completion);
  };
  function ClazzAssignmentDao_Repo$updateActiveByList$slambda_0(this$0, $uidList, $active, $changeTime, resultContinuation) {
    var i = new ClazzAssignmentDao_Repo$updateActiveByList$slambda(this$0, $uidList, $active, $changeTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda(this$0, $assignmentUid, $clazzUid, $accountPersonUid, resultContinuation) {
    this.j8e_1 = this$0;
    this.k8e_1 = $assignmentUid;
    this.l8e_1 = $clazzUid;
    this.m8e_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.n8e_1 = this.j8e_1.f8c_1;
            var tmp_1 = this;
            tmp_1.o8e_1 = 'ClazzAssignmentDao/findAssignmentCourseBlockAndSubmitterUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.p8e_1 = this.j8e_1.h8c_1;
            var tmp_3 = this;
            tmp_3.q8e_1 = this.p8e_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.j8e_1.f8c_1.a3d(), 'ClazzAssignmentDao/findAssignmentCourseBlockAndSubmitterUidAsFlow');
            doorNodeIdHeader(this_0, this.j8e_1.f8c_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'assignmentUid', this.j8e_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.k8e_1));
            parameter(this_0, 'clazzUid', this.j8e_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.l8e_1));
            parameter(this_0, 'accountPersonUid', this.j8e_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.m8e_1));
            tmp_4.r8e_1 = this_0;
            this.r8e_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.s8e_1 = this.q8e_1;
            var tmp_6 = this;
            tmp_6.t8e_1 = this.r8e_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.t8e_1, this.s8e_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.u8e_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.j8e_1.e8c_1, this.u8e_1, this.j8e_1.f8c_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda$lambda(this.n8e_1, this.o8e_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda(this.j8e_1, this.k8e_1, this.l8e_1, this.m8e_1, completion);
  };
  function ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda_0(this$0, $assignmentUid, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda(this$0, $assignmentUid, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzAssignmentDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.d8f_1 = this$0;
    this.e8f_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzAssignmentDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ClazzAssignmentDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.d8f_1.g8c_1.insertAsync(this.e8f_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzAssignmentDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ClazzAssignmentDao_Repo$insertAsync$slambda(this.d8f_1, this.e8f_1, completion);
  };
  function ClazzAssignmentDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzAssignmentDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $getSubmitterUidsByClazzOrGroupSetUidCOROUTINE$14(_this__u8e3s4, clazzUid, groupSetUid, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o8f_1 = _this__u8e3s4;
    this.p8f_1 = clazzUid;
    this.q8f_1 = groupSetUid;
    this.r8f_1 = time;
  }
  protoOf($getSubmitterUidsByClazzOrGroupSetUidCOROUTINE$14).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.o8f_1.g8c_1.h7y(this.p8f_1, this.q8f_1, this.r8f_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getSubmitterUidsAndNameByClazzOrGroupSetUidCOROUTINE$15(_this__u8e3s4, clazzUid, groupSetUid, date, groupStr, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.a8g_1 = _this__u8e3s4;
    this.b8g_1 = clazzUid;
    this.c8g_1 = groupSetUid;
    this.d8g_1 = date;
    this.e8g_1 = groupStr;
  }
  protoOf($getSubmitterUidsAndNameByClazzOrGroupSetUidCOROUTINE$15).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.f8g_1 = this.a8g_1.f8c_1;
            var tmp_1 = this;
            tmp_1.g8g_1 = 'ClazzAssignmentDao/getSubmitterUidsAndNameByClazzOrGroupSetUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.h8g_1 = this.a8g_1.h8c_1;
            var tmp_3 = this;
            tmp_3.i8g_1 = this.h8g_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.a8g_1.f8c_1.a3d(), 'ClazzAssignmentDao/getSubmitterUidsAndNameByClazzOrGroupSetUid');
            doorNodeIdHeader(this_0, this.a8g_1.f8c_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.a8g_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.b8g_1));
            parameter(this_0, 'groupSetUid', this.a8g_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.c8g_1));
            parameter(this_0, 'date', this.a8g_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.d8g_1));
            parameter(this_0, 'groupStr', this.a8g_1.f8c_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.e8g_1));
            tmp_4.j8g_1 = this_0;
            this.j8g_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.k8g_1 = this.i8g_1;
            var tmp_6 = this;
            tmp_6.l8g_1 = this.j8g_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.l8g_1, this.k8g_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.m8g_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.a8g_1.e8c_1, this.m8g_1, this.a8g_1.f8c_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.n8g_1 = this.kd_1;
              Napier_getInstance().i5k(this.n8g_1, 'DoorLog', ClazzAssignmentDao_Repo$getSubmitterUidsAndNameByClazzOrGroupSetUid$lambda(this.f8g_1, this.g8g_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.a8g_1.g8c_1.i7y(this.b8g_1, this.c8g_1, this.d8g_1, this.e8g_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getSubmitterUidCOROUTINE$17(_this__u8e3s4, assignmentUid, clazzUid, accountPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w8g_1 = _this__u8e3s4;
    this.x8g_1 = assignmentUid;
    this.y8g_1 = clazzUid;
    this.z8g_1 = accountPersonUid;
  }
  protoOf($getSubmitterUidCOROUTINE$17).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.a8h_1 = this.w8g_1.f8c_1;
            var tmp_1 = this;
            tmp_1.b8h_1 = 'ClazzAssignmentDao/getSubmitterUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.c8h_1 = this.w8g_1.h8c_1;
            var tmp_3 = this;
            tmp_3.d8h_1 = this.c8h_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.w8g_1.f8c_1.a3d(), 'ClazzAssignmentDao/getSubmitterUid');
            doorNodeIdHeader(this_0, this.w8g_1.f8c_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'assignmentUid', this.w8g_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.x8g_1));
            parameter(this_0, 'clazzUid', this.w8g_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.y8g_1));
            parameter(this_0, 'accountPersonUid', this.w8g_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.z8g_1));
            tmp_4.e8h_1 = this_0;
            this.e8h_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.f8h_1 = this.d8h_1;
            var tmp_6 = this;
            tmp_6.g8h_1 = this.e8h_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.g8h_1, this.f8h_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.h8h_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.w8g_1.e8c_1, this.h8h_1, this.w8g_1.f8c_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.i8h_1 = this.kd_1;
              Napier_getInstance().i5k(this.i8h_1, 'DoorLog', ClazzAssignmentDao_Repo$getSubmitterUid$lambda(this.a8h_1, this.b8h_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.w8g_1.g8c_1.j7y(this.x8g_1, this.y8g_1, this.z8g_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidWithBlockAsyncCOROUTINE$22(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.r8h_1 = _this__u8e3s4;
    this.s8h_1 = uid;
  }
  protoOf($findByUidWithBlockAsyncCOROUTINE$22).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.t8h_1 = this.r8h_1.f8c_1;
            var tmp_1 = this;
            tmp_1.u8h_1 = 'ClazzAssignmentDao/findByUidWithBlockAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.v8h_1 = this.r8h_1.h8c_1;
            var tmp_3 = this;
            tmp_3.w8h_1 = this.v8h_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.r8h_1.f8c_1.a3d(), 'ClazzAssignmentDao/findByUidWithBlockAsync');
            doorNodeIdHeader(this_0, this.r8h_1.f8c_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.r8h_1.f8c_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.s8h_1));
            tmp_4.x8h_1 = this_0;
            this.x8h_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.y8h_1 = this.w8h_1;
            var tmp_6 = this;
            tmp_6.z8h_1 = this.x8h_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.z8h_1, this.y8h_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.a8i_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.r8h_1.e8c_1, this.a8i_1, this.r8h_1.f8c_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.b8i_1 = this.kd_1;
              Napier_getInstance().i5k(this.b8i_1, 'DoorLog', ClazzAssignmentDao_Repo$findByUidWithBlockAsync$lambda(this.t8h_1, this.u8h_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.r8h_1.g8c_1.l7y(this.s8h_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$27(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k8i_1 = _this__u8e3s4;
    this.l8i_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$27).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.k8i_1.f8c_1, 'ClazzAssignment', ClazzAssignmentDao_Repo$insertAsync$slambda_0(this.k8i_1, this.l8i_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzAssignmentDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ClazzAssignmentDao.call(this);
    this.e8c_1 = _db;
    this.f8c_1 = _repo;
    this.g8c_1 = _dao;
    this.h8c_1 = _httpClient;
    this.i8c_1 = _clientId;
    this.j8c_1 = _endpoint;
    this.k8c_1 = new RepoDaoFlowHelper(this.f8c_1);
  }
  protoOf(ClazzAssignmentDao_Repo).f7y = function (assignmentUid, clazzUid, accountPersonUid, group) {
    var _result = this.g8c_1.f7y(assignmentUid, clazzUid, accountPersonUid, group);
    return _result;
  };
  protoOf(ClazzAssignmentDao_Repo).g7y = function (assignmentUid, clazzUid, accountPersonUid, group, searchText, sortOption) {
    var tmp = this.g8c_1.g7y(assignmentUid, clazzUid, accountPersonUid, group, searchText, sortOption);
    return new DoorRepositoryReplicatePullPagingSource(this.f8c_1, 'ClazzAssignmentDao/getAssignmentSubmitterSummaryListForAssignment', tmp, ClazzAssignmentDao_Repo$getAssignmentSubmitterSummaryListForAssignment$slambda_0(this, assignmentUid, clazzUid, accountPersonUid, group, searchText, sortOption, null));
  };
  protoOf(ClazzAssignmentDao_Repo).h7y = function (clazzUid, groupSetUid, time, $completion) {
    var tmp = new $getSubmitterUidsByClazzOrGroupSetUidCOROUTINE$14(this, clazzUid, groupSetUid, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo).i7y = function (clazzUid, groupSetUid, date, groupStr, $completion) {
    var tmp = new $getSubmitterUidsAndNameByClazzOrGroupSetUidCOROUTINE$15(this, clazzUid, groupSetUid, date, groupStr, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo).j7y = function (assignmentUid, clazzUid, accountPersonUid, $completion) {
    var tmp = new $getSubmitterUidCOROUTINE$17(this, assignmentUid, clazzUid, accountPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo).k7y = function (uid, clazzUid) {
    var tmp = this.g8c_1.k7y(uid, clazzUid);
    return this.k8c_1.t6d(tmp, ClazzAssignmentDao_Repo$findByUidAndClazzUidAsFlow$slambda_0(this, uid, clazzUid, null));
  };
  protoOf(ClazzAssignmentDao_Repo).l7y = function (uid, $completion) {
    var tmp = new $findByUidWithBlockAsyncCOROUTINE$22(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo).m7y = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.f8c_1, 'ClazzAssignment', ClazzAssignmentDao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ClazzAssignmentDao_Repo).n7y = function (uidList, active, changeTime, $completion) {
    return withRepoChangeMonitorAsync(this.f8c_1, 'ClazzAssignment', ClazzAssignmentDao_Repo$updateActiveByList$slambda_0(this, uidList, active, changeTime, null), $completion);
  };
  protoOf(ClazzAssignmentDao_Repo).o7y = function (assignmentUid, clazzUid, accountPersonUid) {
    var tmp = this.g8c_1.o7y(assignmentUid, clazzUid, accountPersonUid);
    return this.k8c_1.t6d(tmp, ClazzAssignmentDao_Repo$findAssignmentCourseBlockAndSubmitterUidAsFlow$slambda_0(this, assignmentUid, clazzUid, accountPersonUid, null));
  };
  protoOf(ClazzAssignmentDao_Repo).s80 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$27(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzAssignmentDao_Repo).insertAsync = function (entity, $completion) {
    return this.s80(entity instanceof ClazzAssignment ? entity : THROW_CCE(), $completion);
  };
  function ClazzDao() {
  }
  function $insertAsyncCOROUTINE$28(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.g8j_1 = _this__u8e3s4;
    this.h8j_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$28).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.i8j_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.g8j_1.k8j_1));
            if (this.h8j_1.m8j_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.i8j_1.t68(6, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.j8j_1 = suspendResult;
            this.h8j_1.m8j_1 = this.j8j_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.h8j_1.d8k_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.g8j_1.l8j_1.insertAsync(this.h8j_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.h8j_1.m8j_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzDao_DoorWrapper(_db, _dao) {
    ClazzDao.call(this);
    this.k8j_1 = _db;
    this.l8j_1 = _dao;
  }
  protoOf(ClazzDao_DoorWrapper).m8i = function (code, $completion) {
    return this.l8j_1.m8i(code, $completion);
  };
  protoOf(ClazzDao_DoorWrapper).n8i = function (clazzUid, $completion) {
    return this.l8j_1.n8i(clazzUid, $completion);
  };
  protoOf(ClazzDao_DoorWrapper).o8i = function (uid) {
    return this.l8j_1.o8i(uid);
  };
  protoOf(ClazzDao_DoorWrapper).p8i = function (uid, $completion) {
    return this.l8j_1.p8i(uid, $completion);
  };
  protoOf(ClazzDao_DoorWrapper).q8i = function (entity, $completion) {
    entity.d8k_1 = systemTimeInMillis();
    return this.l8j_1.q8i(entity, $completion);
  };
  protoOf(ClazzDao_DoorWrapper).r8i = function (searchQuery, accountPersonUid, excludeSelectedClazzList, sortOrder, filter, currentTime, permission) {
    return this.l8j_1.r8i(searchQuery, accountPersonUid, excludeSelectedClazzList, sortOrder, filter, currentTime, permission);
  };
  protoOf(ClazzDao_DoorWrapper).s8i = function (accountPersonUid, clazzUid) {
    return this.l8j_1.s8i(accountPersonUid, clazzUid);
  };
  protoOf(ClazzDao_DoorWrapper).t8i = function (clazzUid, currentTime, accountPersonUid) {
    return this.l8j_1.t8i(clazzUid, currentTime, accountPersonUid);
  };
  protoOf(ClazzDao_DoorWrapper).u8i = function (clazzUid) {
    return this.l8j_1.u8i(clazzUid);
  };
  protoOf(ClazzDao_DoorWrapper).v8i = function (clazzUid) {
    return this.l8j_1.v8i(clazzUid);
  };
  protoOf(ClazzDao_DoorWrapper).w8i = function (clazzUid) {
    return this.l8j_1.w8i(clazzUid);
  };
  protoOf(ClazzDao_DoorWrapper).x8i = function (clazzUid, $completion) {
    return this.l8j_1.x8i(clazzUid, $completion);
  };
  protoOf(ClazzDao_DoorWrapper).l8k = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$28(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.l8k(entity instanceof Clazz ? entity : THROW_CCE(), $completion);
  };
  function ClazzDao_JdbcImpl$findByClazzCode$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$findByClazzCode$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$findByClazzCode$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new Clazz();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByClazzCode.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.m8j_1 = _tmp_clazzUid;
      this_0.n8j_1 = _tmp_clazzName;
      this_0.o8j_1 = _tmp_clazzDesc;
      this_0.p8j_1 = _tmp_attendanceAverage;
      this_0.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
      this_0.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
      this_0.s8j_1 = _tmp_isClazzActive;
      this_0.t8j_1 = _tmp_clazzLocationUid;
      this_0.u8j_1 = _tmp_clazzStartTime;
      this_0.v8j_1 = _tmp_clazzEndTime;
      this_0.w8j_1 = _tmp_clazzFeatures;
      this_0.x8j_1 = _tmp_clazzSchoolUid;
      this_0.y8j_1 = _tmp_clazzEnrolmentPolicy;
      this_0.z8j_1 = _tmp_clazzTerminologyUid;
      this_0.a8k_1 = _tmp_clazzMasterChangeSeqNum;
      this_0.b8k_1 = _tmp_clazzLocalChangeSeqNum;
      this_0.c8k_1 = _tmp_clazzLastChangedBy;
      this_0.d8k_1 = _tmp_clazzLct;
      this_0.e8k_1 = _tmp_clazzTimeZone;
      this_0.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
      this_0.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
      this_0.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
      this_0.i8k_1 = _tmp_clazzParentsPersonGroupUid;
      this_0.j8k_1 = _tmp_clazzCode;
      this_0.k8k_1 = _tmp_clazzOwnerPersonUid;
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new Clazz();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.m8j_1 = _tmp_clazzUid;
      this_0.n8j_1 = _tmp_clazzName;
      this_0.o8j_1 = _tmp_clazzDesc;
      this_0.p8j_1 = _tmp_attendanceAverage;
      this_0.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
      this_0.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
      this_0.s8j_1 = _tmp_isClazzActive;
      this_0.t8j_1 = _tmp_clazzLocationUid;
      this_0.u8j_1 = _tmp_clazzStartTime;
      this_0.v8j_1 = _tmp_clazzEndTime;
      this_0.w8j_1 = _tmp_clazzFeatures;
      this_0.x8j_1 = _tmp_clazzSchoolUid;
      this_0.y8j_1 = _tmp_clazzEnrolmentPolicy;
      this_0.z8j_1 = _tmp_clazzTerminologyUid;
      this_0.a8k_1 = _tmp_clazzMasterChangeSeqNum;
      this_0.b8k_1 = _tmp_clazzLocalChangeSeqNum;
      this_0.c8k_1 = _tmp_clazzLastChangedBy;
      this_0.d8k_1 = _tmp_clazzLct;
      this_0.e8k_1 = _tmp_clazzTimeZone;
      this_0.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
      this_0.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
      this_0.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
      this_0.i8k_1 = _tmp_clazzParentsPersonGroupUid;
      this_0.j8k_1 = _tmp_clazzCode;
      this_0.k8k_1 = _tmp_clazzOwnerPersonUid;
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new Clazz();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.m8j_1 = _tmp_clazzUid;
      this_0.n8j_1 = _tmp_clazzName;
      this_0.o8j_1 = _tmp_clazzDesc;
      this_0.p8j_1 = _tmp_attendanceAverage;
      this_0.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
      this_0.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
      this_0.s8j_1 = _tmp_isClazzActive;
      this_0.t8j_1 = _tmp_clazzLocationUid;
      this_0.u8j_1 = _tmp_clazzStartTime;
      this_0.v8j_1 = _tmp_clazzEndTime;
      this_0.w8j_1 = _tmp_clazzFeatures;
      this_0.x8j_1 = _tmp_clazzSchoolUid;
      this_0.y8j_1 = _tmp_clazzEnrolmentPolicy;
      this_0.z8j_1 = _tmp_clazzTerminologyUid;
      this_0.a8k_1 = _tmp_clazzMasterChangeSeqNum;
      this_0.b8k_1 = _tmp_clazzLocalChangeSeqNum;
      this_0.c8k_1 = _tmp_clazzLastChangedBy;
      this_0.d8k_1 = _tmp_clazzLct;
      this_0.e8k_1 = _tmp_clazzTimeZone;
      this_0.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
      this_0.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
      this_0.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
      this_0.i8k_1 = _tmp_clazzParentsPersonGroupUid;
      this_0.j8k_1 = _tmp_clazzCode;
      this_0.k8k_1 = _tmp_clazzOwnerPersonUid;
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda($uid, resultContinuation) {
    this.u8k_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda).w8k = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.w8k((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.v8k_1.a5o(1, this.u8k_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.v8k_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda(this.u8k_1, completion);
    i.v8k_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda_0($uid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.w8k(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      var _tmp_HolidayCalendar_nullCount = 0;
      var _tmp_umCalendarUid = $_result.d5t('umCalendarUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_umCalendarName = $_result.rz('umCalendarName');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_umCalendarCategory = $_result.c5t('umCalendarCategory');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_umCalendarActive = $_result.o6c('umCalendarActive');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_umCalendarMasterChangeSeqNum = $_result.d5t('umCalendarMasterChangeSeqNum');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_umCalendarLocalChangeSeqNum = $_result.d5t('umCalendarLocalChangeSeqNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_umCalendarLastChangedBy = $_result.c5t('umCalendarLastChangedBy');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_umCalendarLct = $_result.d5t('umCalendarLct');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_HolidayCalendar_nullCount = _tmp_HolidayCalendar_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_HolidayCalendar_isAllNull = _tmp_HolidayCalendar_nullCount === 8;
      var _tmp_CourseTerminology_nullCount = 0;
      var _tmp_ctUid = $_result.d5t('ctUid');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_ctLct = $_result.d5t('ctLct');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_CourseTerminology_isAllNull = _tmp_CourseTerminology_nullCount === 4;
      var _tmp_CoursePicture_nullCount = 0;
      var _tmp_coursePictureUid = $_result.d5t('coursePictureUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_coursePictureLct = $_result.d5t('coursePictureLct');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_coursePictureUri = $_result.rz('coursePictureUri');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_coursePictureThumbnailUri = $_result.rz('coursePictureThumbnailUri');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_coursePictureActive = $_result.o6c('coursePictureActive');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_CoursePicture_isAllNull = _tmp_CoursePicture_nullCount === 5;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzWithHolidayCalendarAndAndTerminology();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByUidWithHolidayCalendarAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.m8j_1 = _tmp_clazzUid;
      this_0.n8j_1 = _tmp_clazzName;
      this_0.o8j_1 = _tmp_clazzDesc;
      this_0.p8j_1 = _tmp_attendanceAverage;
      this_0.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
      this_0.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
      this_0.s8j_1 = _tmp_isClazzActive;
      this_0.t8j_1 = _tmp_clazzLocationUid;
      this_0.u8j_1 = _tmp_clazzStartTime;
      this_0.v8j_1 = _tmp_clazzEndTime;
      this_0.w8j_1 = _tmp_clazzFeatures;
      this_0.x8j_1 = _tmp_clazzSchoolUid;
      this_0.y8j_1 = _tmp_clazzEnrolmentPolicy;
      this_0.z8j_1 = _tmp_clazzTerminologyUid;
      this_0.a8k_1 = _tmp_clazzMasterChangeSeqNum;
      this_0.b8k_1 = _tmp_clazzLocalChangeSeqNum;
      this_0.c8k_1 = _tmp_clazzLastChangedBy;
      this_0.d8k_1 = _tmp_clazzLct;
      this_0.e8k_1 = _tmp_clazzTimeZone;
      this_0.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
      this_0.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
      this_0.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
      this_0.i8k_1 = _tmp_clazzParentsPersonGroupUid;
      this_0.j8k_1 = _tmp_clazzCode;
      this_0.k8k_1 = _tmp_clazzOwnerPersonUid;
      if (!_tmp_HolidayCalendar_isAllNull) {
        var tmp_16 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new HolidayCalendar();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByUidWithHolidayCalendarAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x8k_1 = _tmp_umCalendarUid;
        this_1.y8k_1 = _tmp_umCalendarName;
        this_1.z8k_1 = _tmp_umCalendarCategory;
        this_1.a8l_1 = _tmp_umCalendarActive;
        this_1.b8l_1 = _tmp_umCalendarMasterChangeSeqNum;
        this_1.c8l_1 = _tmp_umCalendarLocalChangeSeqNum;
        this_1.d8l_1 = _tmp_umCalendarLastChangedBy;
        this_1.e8l_1 = _tmp_umCalendarLct;
        tmp_16.e8m_1 = this_1;
      }
      if (!_tmp_CourseTerminology_isAllNull) {
        var tmp_17 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseTerminology();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByUidWithHolidayCalendarAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.h8m_1 = _tmp_ctUid;
        this_2.i8m_1 = _tmp_ctTitle;
        this_2.j8m_1 = _tmp_ctTerminology;
        this_2.k8m_1 = _tmp_ctLct;
        tmp_17.f8m_1 = this_2;
      }
      if (!_tmp_CoursePicture_isAllNull) {
        var tmp_18 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new CoursePicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.findByUidWithHolidayCalendarAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.l8m_1 = _tmp_coursePictureUid;
        this_3.m8m_1 = _tmp_coursePictureLct;
        this_3.n8m_1 = _tmp_coursePictureUri;
        this_3.o8m_1 = _tmp_coursePictureThumbnailUri;
        this_3.p8m_1 = _tmp_coursePictureActive;
        tmp_18.g8m_1 = this_3;
      }
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_numStudents = $_result.c5t('numStudents');
      var _tmp_numTeachers = $_result.c5t('numTeachers');
      var _tmp_teacherNames = $_result.rz('teacherNames');
      var _tmp_lastRecorded = $_result.d5t('lastRecorded');
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      var _tmp_ClazzEnrolment_nullCount = 0;
      var _tmp_clazzEnrolmentUid = $_result.d5t('clazzEnrolmentUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_clazzEnrolmentPersonUid = $_result.d5t('clazzEnrolmentPersonUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_clazzEnrolmentClazzUid = $_result.d5t('clazzEnrolmentClazzUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_clazzEnrolmentDateJoined = $_result.d5t('clazzEnrolmentDateJoined');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_clazzEnrolmentDateLeft = $_result.d5t('clazzEnrolmentDateLeft');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_clazzEnrolmentRole = $_result.c5t('clazzEnrolmentRole');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_clazzEnrolmentAttendancePercentage = $_result.q6c('clazzEnrolmentAttendancePercentage');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_clazzEnrolmentActive = $_result.o6c('clazzEnrolmentActive');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLeavingReasonUid = $_result.d5t('clazzEnrolmentLeavingReasonUid');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_clazzEnrolmentOutcome = $_result.c5t('clazzEnrolmentOutcome');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLocalChangeSeqNum = $_result.d5t('clazzEnrolmentLocalChangeSeqNum');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_clazzEnrolmentMasterChangeSeqNum = $_result.d5t('clazzEnrolmentMasterChangeSeqNum');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLastChangedBy = $_result.c5t('clazzEnrolmentLastChangedBy');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLct = $_result.d5t('clazzEnrolmentLct');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_ClazzEnrolment_isAllNull = _tmp_ClazzEnrolment_nullCount === 14;
      var _tmp_CourseTerminology_nullCount = 0;
      var _tmp_ctUid = $_result.d5t('ctUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_ctLct = $_result.d5t('ctLct');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_CourseTerminology_isAllNull = _tmp_CourseTerminology_nullCount === 4;
      var _tmp_CoursePicture_nullCount = 0;
      var _tmp_coursePictureUid = $_result.d5t('coursePictureUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_coursePictureLct = $_result.d5t('coursePictureLct');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_coursePictureUri = $_result.rz('coursePictureUri');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_coursePictureThumbnailUri = $_result.rz('coursePictureThumbnailUri');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_coursePictureActive = $_result.o6c('coursePictureActive');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_CoursePicture_isAllNull = _tmp_CoursePicture_nullCount === 5;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzWithListDisplayDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.p8n_1 = _tmp_numStudents;
      this_0.q8n_1 = _tmp_numTeachers;
      this_0.r8n_1 = _tmp_teacherNames;
      this_0.s8n_1 = _tmp_lastRecorded;
      this_0.m8j_1 = _tmp_clazzUid;
      this_0.n8j_1 = _tmp_clazzName;
      this_0.o8j_1 = _tmp_clazzDesc;
      this_0.p8j_1 = _tmp_attendanceAverage;
      this_0.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
      this_0.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
      this_0.s8j_1 = _tmp_isClazzActive;
      this_0.t8j_1 = _tmp_clazzLocationUid;
      this_0.u8j_1 = _tmp_clazzStartTime;
      this_0.v8j_1 = _tmp_clazzEndTime;
      this_0.w8j_1 = _tmp_clazzFeatures;
      this_0.x8j_1 = _tmp_clazzSchoolUid;
      this_0.y8j_1 = _tmp_clazzEnrolmentPolicy;
      this_0.z8j_1 = _tmp_clazzTerminologyUid;
      this_0.a8k_1 = _tmp_clazzMasterChangeSeqNum;
      this_0.b8k_1 = _tmp_clazzLocalChangeSeqNum;
      this_0.c8k_1 = _tmp_clazzLastChangedBy;
      this_0.d8k_1 = _tmp_clazzLct;
      this_0.e8k_1 = _tmp_clazzTimeZone;
      this_0.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
      this_0.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
      this_0.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
      this_0.i8k_1 = _tmp_clazzParentsPersonGroupUid;
      this_0.j8k_1 = _tmp_clazzCode;
      this_0.k8k_1 = _tmp_clazzOwnerPersonUid;
      if (!_tmp_ClazzEnrolment_isAllNull) {
        var tmp_22 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ClazzEnrolment();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.w8n_1 = _tmp_clazzEnrolmentUid;
        this_1.x8n_1 = _tmp_clazzEnrolmentPersonUid;
        this_1.y8n_1 = _tmp_clazzEnrolmentClazzUid;
        this_1.z8n_1 = _tmp_clazzEnrolmentDateJoined;
        this_1.a8o_1 = _tmp_clazzEnrolmentDateLeft;
        this_1.b8o_1 = _tmp_clazzEnrolmentRole;
        this_1.c8o_1 = _tmp_clazzEnrolmentAttendancePercentage;
        this_1.d8o_1 = _tmp_clazzEnrolmentActive;
        this_1.e8o_1 = _tmp_clazzEnrolmentLeavingReasonUid;
        this_1.f8o_1 = _tmp_clazzEnrolmentOutcome;
        this_1.g8o_1 = _tmp_clazzEnrolmentLocalChangeSeqNum;
        this_1.h8o_1 = _tmp_clazzEnrolmentMasterChangeSeqNum;
        this_1.i8o_1 = _tmp_clazzEnrolmentLastChangedBy;
        this_1.j8o_1 = _tmp_clazzEnrolmentLct;
        tmp_22.t8n_1 = this_1;
      }
      if (!_tmp_CourseTerminology_isAllNull) {
        var tmp_23 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseTerminology();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.h8m_1 = _tmp_ctUid;
        this_2.i8m_1 = _tmp_ctTitle;
        this_2.j8m_1 = _tmp_ctTerminology;
        this_2.k8m_1 = _tmp_ctLct;
        tmp_23.u8n_1 = this_2;
      }
      if (!_tmp_CoursePicture_isAllNull) {
        var tmp_24 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new CoursePicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.l8m_1 = _tmp_coursePictureUid;
        this_3.m8m_1 = _tmp_coursePictureLct;
        this_3.n8m_1 = _tmp_coursePictureUri;
        this_3.o8m_1 = _tmp_coursePictureThumbnailUri;
        this_3.p8m_1 = _tmp_coursePictureActive;
        tmp_24.v8n_1 = this_3;
      }
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda($currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.s8o_1 = $currentTime;
    this.t8o_1 = $accountPersonUid;
    this.u8o_1 = $permission;
    this.v8o_1 = $searchQuery;
    this.w8o_1 = $excludeSelectedClazzList;
    this.x8o_1 = $filter;
    this.y8o_1 = $sortOrder;
    this.z8o_1 = $_limit;
    this.a8p_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda).c8p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda).he = function (p1, $completion) {
    return this.c8p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.b8p_1.a5o(1, this.s8o_1);
            this.b8p_1.a5o(2, this.s8o_1);
            this.b8p_1.a5o(3, this.t8o_1);
            this.b8p_1.a5o(4, this.t8o_1);
            this.b8p_1.a5o(5, this.t8o_1);
            this.b8p_1.a5o(6, this.t8o_1);
            this.b8p_1.a5o(7, this.u8o_1);
            this.b8p_1.a5o(8, this.t8o_1);
            this.b8p_1.a5o(9, this.t8o_1);
            this.b8p_1.a5o(10, this.u8o_1);
            this.b8p_1.d5o(11, this.v8o_1);
            var tmp_0 = this.b8p_1.w5m();
            var this_0 = this.w8o_1;
            this.b8p_1.e5o(12, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.b8p_1.z5n(13, this.x8o_1);
            this.b8p_1.z5n(14, this.x8o_1);
            this.b8p_1.a5o(15, this.s8o_1);
            this.b8p_1.a5o(16, this.s8o_1);
            this.b8p_1.z5n(17, this.y8o_1);
            this.b8p_1.z5n(18, this.y8o_1);
            this.b8p_1.z5n(19, this.y8o_1);
            this.b8p_1.z5n(20, this.y8o_1);
            this.b8p_1.z5n(21, this.z8o_1);
            this.b8p_1.z5n(22, this.a8p_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.b8p_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda(this.s8o_1, this.t8o_1, this.u8o_1, this.v8o_1, this.w8o_1, this.x8o_1, this.y8o_1, this.z8o_1, this.a8p_1, completion);
    i.b8p_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda_0($currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda($currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.c8p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda($currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder, resultContinuation) {
    this.l8p_1 = $currentTime;
    this.m8p_1 = $accountPersonUid;
    this.n8p_1 = $permission;
    this.o8p_1 = $searchQuery;
    this.p8p_1 = $excludeSelectedClazzList;
    this.q8p_1 = $filter;
    this.r8p_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.s8p_1.a5o(1, this.l8p_1);
            this.s8p_1.a5o(2, this.l8p_1);
            this.s8p_1.a5o(3, this.m8p_1);
            this.s8p_1.a5o(4, this.m8p_1);
            this.s8p_1.a5o(5, this.m8p_1);
            this.s8p_1.a5o(6, this.m8p_1);
            this.s8p_1.a5o(7, this.n8p_1);
            this.s8p_1.a5o(8, this.m8p_1);
            this.s8p_1.a5o(9, this.m8p_1);
            this.s8p_1.a5o(10, this.n8p_1);
            this.s8p_1.d5o(11, this.o8p_1);
            var tmp_0 = this.s8p_1.w5m();
            var this_0 = this.p8p_1;
            this.s8p_1.e5o(12, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.s8p_1.z5n(13, this.q8p_1);
            this.s8p_1.z5n(14, this.q8p_1);
            this.s8p_1.a5o(15, this.l8p_1);
            this.s8p_1.a5o(16, this.l8p_1);
            this.s8p_1.z5n(17, this.r8p_1);
            this.s8p_1.z5n(18, this.r8p_1);
            this.s8p_1.z5n(19, this.r8p_1);
            this.s8p_1.z5n(20, this.r8p_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.s8p_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda(this.l8p_1, this.m8p_1, this.n8p_1, this.o8p_1, this.p8p_1, this.q8p_1, this.r8p_1, completion);
    i.s8p_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda_0($currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda($currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_hasAttendancePermission = $_result.o6c('hasAttendancePermission');
      var _tmp_hasViewMembersPermission = $_result.o6c('hasViewMembersPermission');
      var _tmp_hasLearningRecordPermission = $_result.o6c('hasLearningRecordPermission');
      var _tmp_Clazz_nullCount = 0;
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_clazzName = $_result.rz('clazzName');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_Clazz_isAllNull = _tmp_Clazz_nullCount === 25;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzAndDetailPermissions();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.clazzAndDetailPermissionsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.u8p_1 = _tmp_hasAttendancePermission;
      this_0.v8p_1 = _tmp_hasViewMembersPermission;
      this_0.w8p_1 = _tmp_hasLearningRecordPermission;
      if (!_tmp_Clazz_isAllNull) {
        var tmp_24 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Clazz();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.clazzAndDetailPermissionsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.m8j_1 = _tmp_clazzUid;
        this_1.n8j_1 = _tmp_clazzName;
        this_1.o8j_1 = _tmp_clazzDesc;
        this_1.p8j_1 = _tmp_attendanceAverage;
        this_1.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
        this_1.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
        this_1.s8j_1 = _tmp_isClazzActive;
        this_1.t8j_1 = _tmp_clazzLocationUid;
        this_1.u8j_1 = _tmp_clazzStartTime;
        this_1.v8j_1 = _tmp_clazzEndTime;
        this_1.w8j_1 = _tmp_clazzFeatures;
        this_1.x8j_1 = _tmp_clazzSchoolUid;
        this_1.y8j_1 = _tmp_clazzEnrolmentPolicy;
        this_1.z8j_1 = _tmp_clazzTerminologyUid;
        this_1.a8k_1 = _tmp_clazzMasterChangeSeqNum;
        this_1.b8k_1 = _tmp_clazzLocalChangeSeqNum;
        this_1.c8k_1 = _tmp_clazzLastChangedBy;
        this_1.d8k_1 = _tmp_clazzLct;
        this_1.e8k_1 = _tmp_clazzTimeZone;
        this_1.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
        this_1.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
        this_1.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
        this_1.i8k_1 = _tmp_clazzParentsPersonGroupUid;
        this_1.j8k_1 = _tmp_clazzCode;
        this_1.k8k_1 = _tmp_clazzOwnerPersonUid;
        tmp_24.t8p_1 = this_1;
      }
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda($clazzUid, $accountPersonUid, resultContinuation) {
    this.f8q_1 = $clazzUid;
    this.g8q_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda).i8q = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.i8q((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.h8q_1.a5o(1, this.f8q_1);
            this.h8q_1.a5o(2, this.g8q_1);
            this.h8q_1.a5o(3, this.g8q_1);
            this.h8q_1.a5o(4, this.f8q_1);
            this.h8q_1.a5o(5, this.g8q_1);
            this.h8q_1.a5o(6, this.g8q_1);
            this.h8q_1.a5o(7, this.f8q_1);
            this.h8q_1.a5o(8, this.g8q_1);
            this.h8q_1.a5o(9, this.g8q_1);
            this.h8q_1.a5o(10, this.f8q_1);
            this.h8q_1.a5o(11, this.g8q_1);
            this.h8q_1.a5o(12, this.g8q_1);
            this.h8q_1.a5o(13, this.f8q_1);
            this.h8q_1.a5o(14, this.g8q_1);
            this.h8q_1.a5o(15, this.g8q_1);
            this.h8q_1.a5o(16, this.f8q_1);
            this.h8q_1.a5o(17, this.g8q_1);
            this.h8q_1.a5o(18, this.g8q_1);
            this.h8q_1.a5o(19, this.f8q_1);
            this.h8q_1.a5o(20, this.f8q_1);
            this.h8q_1.a5o(21, this.g8q_1);
            this.h8q_1.a5o(22, this.g8q_1);
            this.h8q_1.a5o(23, this.f8q_1);
            this.h8q_1.a5o(24, this.g8q_1);
            this.h8q_1.a5o(25, this.g8q_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.h8q_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda(this.f8q_1, this.g8q_1, completion);
    i.h8q_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda_0($clazzUid, $accountPersonUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda($clazzUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.i8q(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_numStudents = $_result.c5t('numStudents');
      var _tmp_numTeachers = $_result.c5t('numTeachers');
      var _tmp_activeUserIsStudent = $_result.o6c('activeUserIsStudent');
      var _tmp_Clazz_nullCount = 0;
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_clazzName = $_result.rz('clazzName');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_Clazz_isAllNull = _tmp_Clazz_nullCount === 25;
      var _tmp_CourseTerminology_nullCount = 0;
      var _tmp_ctUid = $_result.d5t('ctUid');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_ctLct = $_result.d5t('ctLct');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_CourseTerminology_isAllNull = _tmp_CourseTerminology_nullCount === 4;
      var _tmp_CoursePicture_nullCount = 0;
      var _tmp_coursePictureUid = $_result.d5t('coursePictureUid');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_coursePictureLct = $_result.d5t('coursePictureLct');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_coursePictureUri = $_result.rz('coursePictureUri');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_coursePictureThumbnailUri = $_result.rz('coursePictureThumbnailUri');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_coursePictureActive = $_result.o6c('coursePictureActive');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_CoursePicture_isAllNull = _tmp_CoursePicture_nullCount === 5;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzAndDisplayDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.getClazzWithDisplayDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.m8q_1 = _tmp_numStudents;
      this_0.n8q_1 = _tmp_numTeachers;
      this_0.o8q_1 = _tmp_activeUserIsStudent;
      if (!_tmp_Clazz_isAllNull) {
        var tmp_33 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Clazz();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.getClazzWithDisplayDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.m8j_1 = _tmp_clazzUid;
        this_1.n8j_1 = _tmp_clazzName;
        this_1.o8j_1 = _tmp_clazzDesc;
        this_1.p8j_1 = _tmp_attendanceAverage;
        this_1.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
        this_1.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
        this_1.s8j_1 = _tmp_isClazzActive;
        this_1.t8j_1 = _tmp_clazzLocationUid;
        this_1.u8j_1 = _tmp_clazzStartTime;
        this_1.v8j_1 = _tmp_clazzEndTime;
        this_1.w8j_1 = _tmp_clazzFeatures;
        this_1.x8j_1 = _tmp_clazzSchoolUid;
        this_1.y8j_1 = _tmp_clazzEnrolmentPolicy;
        this_1.z8j_1 = _tmp_clazzTerminologyUid;
        this_1.a8k_1 = _tmp_clazzMasterChangeSeqNum;
        this_1.b8k_1 = _tmp_clazzLocalChangeSeqNum;
        this_1.c8k_1 = _tmp_clazzLastChangedBy;
        this_1.d8k_1 = _tmp_clazzLct;
        this_1.e8k_1 = _tmp_clazzTimeZone;
        this_1.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
        this_1.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
        this_1.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
        this_1.i8k_1 = _tmp_clazzParentsPersonGroupUid;
        this_1.j8k_1 = _tmp_clazzCode;
        this_1.k8k_1 = _tmp_clazzOwnerPersonUid;
        tmp_33.j8q_1 = this_1;
      }
      if (!_tmp_CourseTerminology_isAllNull) {
        var tmp_34 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseTerminology();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.getClazzWithDisplayDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.h8m_1 = _tmp_ctUid;
        this_2.i8m_1 = _tmp_ctTitle;
        this_2.j8m_1 = _tmp_ctTerminology;
        this_2.k8m_1 = _tmp_ctLct;
        tmp_34.k8q_1 = this_2;
      }
      if (!_tmp_CoursePicture_isAllNull) {
        var tmp_35 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new CoursePicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.getClazzWithDisplayDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.l8m_1 = _tmp_coursePictureUid;
        this_3.m8m_1 = _tmp_coursePictureLct;
        this_3.n8m_1 = _tmp_coursePictureUri;
        this_3.o8m_1 = _tmp_coursePictureThumbnailUri;
        this_3.p8m_1 = _tmp_coursePictureActive;
        tmp_35.l8q_1 = this_3;
      }
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda($currentTime, $clazzUid, $accountPersonUid, resultContinuation) {
    this.x8q_1 = $currentTime;
    this.y8q_1 = $clazzUid;
    this.z8q_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda).b8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda).he = function (p1, $completion) {
    return this.b8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.a8r_1.a5o(1, this.x8q_1);
            this.a8r_1.a5o(2, this.x8q_1);
            this.a8r_1.a5o(3, this.y8q_1);
            this.a8r_1.a5o(4, this.z8q_1);
            this.a8r_1.a5o(5, this.y8q_1);
            this.a8r_1.a5o(6, this.y8q_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.a8r_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda(this.x8q_1, this.y8q_1, this.z8q_1, completion);
    i.a8r_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda_0($currentTime, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda($currentTime, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.b8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.c67(1);
    };
  }
  function ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda($clazzUid, resultContinuation) {
    this.k8r_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).m8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.m8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.l8r_1.a5o(1, this.k8r_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.l8r_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda(this.k8r_1, completion);
    i.l8r_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda_0($clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.m8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_CourseTerminology_nullCount = 0;
      var _tmp_ctUid = $_result.d5t('ctUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_ctLct = $_result.d5t('ctLct');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_CourseTerminology_isAllNull = _tmp_CourseTerminology_nullCount === 4;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzNameAndTerminology();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.getClazzNameAndTerminologyAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.n8r_1 = _tmp_clazzName;
      if (!_tmp_CourseTerminology_isAllNull) {
        var tmp_3 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseTerminology();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzDao_JdbcImpl.getClazzNameAndTerminologyAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.h8m_1 = _tmp_ctUid;
        this_1.i8m_1 = _tmp_ctTitle;
        this_1.j8m_1 = _tmp_ctTerminology;
        this_1.k8m_1 = _tmp_ctLct;
        tmp_3.o8r_1 = this_1;
      }
      return this_0;
    };
  }
  function ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda($clazzUid, resultContinuation) {
    this.x8r_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda).z8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.z8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.y8r_1.a5o(1, this.x8r_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.y8r_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda(this.x8r_1, completion);
    i.y8r_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda_0($clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.z8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.c67(1);
    };
  }
  function ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda($clazzUid, resultContinuation) {
    this.i8s_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda).m8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.m8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.j8s_1.a5o(1, this.i8s_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.j8s_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda(this.i8s_1, completion);
    i.j8s_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda_0($clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.m8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda$lambda$lambda(_result));
  }
  function ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.c67(1);
    };
  }
  function ClazzDao_JdbcImpl$_insertAdapterClazz_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.k8s_1);
  }
  protoOf(ClazzDao_JdbcImpl$_insertAdapterClazz_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Clazz (clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzDao_JdbcImpl$_insertAdapterClazz_abort$1).o8s = function (stmt, entity) {
    if (entity.m8j_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.m8j_1);
    }
    stmt.d5o(2, entity.n8j_1);
    stmt.d5o(3, entity.o8j_1);
    stmt.b5o(4, entity.p8j_1);
    stmt.a5o(5, entity.q8j_1);
    stmt.a5o(6, entity.r8j_1);
    stmt.n5n(7, entity.s8j_1);
    stmt.a5o(8, entity.t8j_1);
    stmt.a5o(9, entity.u8j_1);
    stmt.a5o(10, entity.v8j_1);
    stmt.a5o(11, entity.w8j_1);
    stmt.a5o(12, entity.x8j_1);
    stmt.z5n(13, entity.y8j_1);
    stmt.a5o(14, entity.z8j_1);
    stmt.a5o(15, entity.a8k_1);
    stmt.a5o(16, entity.b8k_1);
    stmt.z5n(17, entity.c8k_1);
    stmt.a5o(18, entity.d8k_1);
    stmt.d5o(19, entity.e8k_1);
    stmt.a5o(20, entity.f8k_1);
    stmt.a5o(21, entity.g8k_1);
    stmt.a5o(22, entity.h8k_1);
    stmt.a5o(23, entity.i8k_1);
    stmt.d5o(24, entity.j8k_1);
    stmt.a5o(25, entity.k8k_1);
  };
  protoOf(ClazzDao_JdbcImpl$_insertAdapterClazz_abort$1).u5l = function (stmt, entity) {
    return this.o8s(stmt, entity instanceof Clazz ? entity : THROW_CCE());
  };
  function ClazzDao_JdbcImpl$updateAsync$slambda($entity, $_result, resultContinuation) {
    this.x8s_1 = $entity;
    this.y8s_1 = $_result;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$updateAsync$slambda).q5l = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$updateAsync$slambda).he = function (p1, $completion) {
    return this.q5l((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.z8s_1.d5o(1, this.x8s_1.n8j_1);
            this.z8s_1.d5o(2, this.x8s_1.o8j_1);
            this.z8s_1.b5o(3, this.x8s_1.p8j_1);
            this.z8s_1.a5o(4, this.x8s_1.q8j_1);
            this.z8s_1.a5o(5, this.x8s_1.r8j_1);
            this.z8s_1.n5n(6, this.x8s_1.s8j_1);
            this.z8s_1.a5o(7, this.x8s_1.t8j_1);
            this.z8s_1.a5o(8, this.x8s_1.u8j_1);
            this.z8s_1.a5o(9, this.x8s_1.v8j_1);
            this.z8s_1.a5o(10, this.x8s_1.w8j_1);
            this.z8s_1.a5o(11, this.x8s_1.x8j_1);
            this.z8s_1.z5n(12, this.x8s_1.y8j_1);
            this.z8s_1.a5o(13, this.x8s_1.z8j_1);
            this.z8s_1.a5o(14, this.x8s_1.a8k_1);
            this.z8s_1.a5o(15, this.x8s_1.b8k_1);
            this.z8s_1.z5n(16, this.x8s_1.c8k_1);
            this.z8s_1.a5o(17, this.x8s_1.d8k_1);
            this.z8s_1.d5o(18, this.x8s_1.e8k_1);
            this.z8s_1.a5o(19, this.x8s_1.f8k_1);
            this.z8s_1.a5o(20, this.x8s_1.g8k_1);
            this.z8s_1.a5o(21, this.x8s_1.h8k_1);
            this.z8s_1.a5o(22, this.x8s_1.i8k_1);
            this.z8s_1.d5o(23, this.x8s_1.j8k_1);
            this.z8s_1.a5o(24, this.x8s_1.k8k_1);
            this.z8s_1.a5o(25, this.x8s_1.m8j_1);
            this.a8t_1 = this.y8s_1._v;
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.z8s_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = this.a8t_1 + ARGUMENT | 0;
            this.y8s_1._v = ARGUMENT_0;
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$updateAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$updateAsync$slambda(this.x8s_1, this.y8s_1, completion);
    i.z8s_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$updateAsync$slambda_0($entity, $_result, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$updateAsync$slambda($entity, $_result, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.q5l(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$findByClazzCode$slambda($code, resultContinuation) {
    this.j8t_1 = $code;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findByClazzCode$slambda).w8k = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findByClazzCode$slambda).he = function (p1, $completion) {
    return this.w8k((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findByClazzCode$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.k8t_1.d5o(1, this.j8t_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.k8t_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$findByClazzCode$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findByClazzCode$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$findByClazzCode$slambda(this.j8t_1, completion);
    i.k8t_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$findByClazzCode$slambda_0($code, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findByClazzCode$slambda($code, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.w8k(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$findByUidAsync$slambda($clazzUid, resultContinuation) {
    this.t8t_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findByUidAsync$slambda).w8k = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.w8k((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.u8t_1.a5o(1, this.t8t_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.u8t_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$findByUidAsync$slambda(this.t8t_1, completion);
    i.u8t_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$findByUidAsync$slambda_0($clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findByUidAsync$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.w8k(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$findByUidAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.d8u_1 = this$0;
    this.e8u_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda).f8u = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda).r7e = function ($completion) {
    return this.f8u($completion);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('SELECT * FROM Clazz WHERE clazzUid = CAST(? AS BIGINT)', VOID, VOID, VOID, 'SELECT * FROM Clazz WHERE clazzUid = ?\n', true);
            suspendResult = prepareAndUseStatementAsync(this.d8u_1.k8s_1, tmp_0, ClazzDao_JdbcImpl$findByUidAsFlow$slambda$slambda_0(this.e8u_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_JdbcImpl$findByUidAsFlow$slambda(this.d8u_1, this.e8u_1, completion);
  };
  function ClazzDao_JdbcImpl$findByUidAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findByUidAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.f8u($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda($uid, resultContinuation) {
    this.o8u_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda).q8u = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda).he = function (p1, $completion) {
    return this.q8u((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.p8u_1.a5o(1, this.o8u_1);
            this.p8u_1.a5o(2, this.o8u_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.p8u_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda(this.o8u_1, completion);
    i.p8u_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda_0($uid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.q8u(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_JdbcImpl$findClazzesWithPermission$1(this$0, $currentTime, $accountPersonUid, $permission, $searchQuery, $excludeSelectedClazzList, $filter, $sortOrder) {
    this.x8u_1 = this$0;
    this.y8u_1 = $currentTime;
    this.z8u_1 = $accountPersonUid;
    this.a8v_1 = $permission;
    this.b8v_1 = $searchQuery;
    this.c8v_1 = $excludeSelectedClazzList;
    this.d8v_1 = $filter;
    this.e8v_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Clazz', 'ClazzEnrolment', 'CoursePermission', 'SystemPermission', 'CourseTerminology', 'CoursePicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.k8s_1, tmp$ret$2);
  }
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$1).f8v = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1000 \n                   AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                       AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1001\n                   AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                        AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers,\n               '' AS teacherNames,\n               0 AS lastRecorded,\n               CourseTerminology.*\n          FROM Clazz\n               LEFT JOIN ClazzEnrolment \n                    ON ClazzEnrolment.clazzEnrolmentUid =\n                       COALESCE(\n                       (SELECT ClazzEnrolment.clazzEnrolmentUid \n                          FROM ClazzEnrolment\n                         WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                           AND ClazzEnrolment.clazzEnrolmentActive\n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC   \n                         LIMIT 1), 0)\n                LEFT JOIN CourseTerminology   \n                          ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n                LEFT JOIN CoursePicture\n                          ON CoursePicture.coursePictureUid = Clazz.clazzUid           \n\n         WHERE /* Begin permission check clause */\n               CAST(? AS BIGINT) != 0\n           AND (\n                    Clazz.clazzOwnerPersonUid = CAST(? AS BIGINT)\n                 OR EXISTS(SELECT CoursePermission.cpUid\n                             FROM CoursePermission\n                            WHERE CoursePermission.cpClazzUid = Clazz.clazzUid\n                              AND (   CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                   OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole )\n                              AND (CoursePermission.cpPermissionsFlag & CAST(? AS BIGINT)) > 0 \n                              AND NOT CoursePermission.cpIsDeleted)   \n                 OR (\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          CAST(? AS BIGINT)\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    )             \n                )\n                /* End permission check clause */ \n           AND CAST(Clazz.isClazzActive AS INTEGER) = 1\n           AND Clazz.clazzName like ?\n           AND (Clazz.clazzUid NOT IN (?))\n           AND ( ? = 0 OR (CASE WHEN ? = 5 \n                                      THEN CAST(? AS BIGINT) BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime\n                                      ELSE CAST(? AS BIGINT) > Clazz.clazzEndTime \n                                      END))\n      GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid\n      ORDER BY CASE ?\n               WHEN 3 THEN Clazz.attendanceAverage\n               ELSE 0\n               END ASC,\n               CASE ?\n               WHEN 1 THEN Clazz.clazzName\n               ELSE ''\n               END ASC,\n               CASE ?\n               WHEN 4 THEN Clazz.attendanceAverage\n               ELSE 0\n               END DESC,\n               CASE ?\n               WHEN 2 THEN clazz.Clazzname\n               ELSE ''\n               END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", true, VOID, VOID, "SELECT * FROM (\n        SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1000 \n                   AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                       AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1001\n                   AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                        AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers,\n               '' AS teacherNames,\n               0 AS lastRecorded,\n               CourseTerminology.*\n          FROM Clazz\n               LEFT JOIN ClazzEnrolment \n                    ON ClazzEnrolment.clazzEnrolmentUid =\n                       COALESCE(\n                       (SELECT ClazzEnrolment.clazzEnrolmentUid \n                          FROM ClazzEnrolment\n                         WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                           AND ClazzEnrolment.clazzEnrolmentActive\n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC   \n                         LIMIT 1), 0)\n                LEFT JOIN CourseTerminology   \n                          ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n                LEFT JOIN CoursePicture\n                          ON CoursePicture.coursePictureUid = Clazz.clazzUid           \n\n         WHERE /* Begin permission check clause */\n               ? != 0\n           AND (\n                    Clazz.clazzOwnerPersonUid = ?\n                 OR EXISTS(SELECT CoursePermission.cpUid\n                             FROM CoursePermission\n                            WHERE CoursePermission.cpClazzUid = Clazz.clazzUid\n                              AND (   CoursePermission.cpToPersonUid = ? \n                                   OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole )\n                              AND (CoursePermission.cpPermissionsFlag & ?) > 0 \n                              AND NOT CoursePermission.cpIsDeleted)   \n                 OR (\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          ?\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    )             \n                )\n                /* End permission check clause */ \n           AND CAST(Clazz.isClazzActive AS INTEGER) = 1\n           AND Clazz.clazzName like ?\n           AND (Clazz.clazzUid NOT IN (?))\n           AND ( ? = 0 OR (CASE WHEN ? = 5 \n                                      THEN ? BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime\n                                      ELSE ? > Clazz.clazzEndTime \n                                      END))\n      GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid\n      ORDER BY CASE ?\n               WHEN 3 THEN Clazz.attendanceAverage\n               ELSE 0\n               END ASC,\n               CASE ?\n               WHEN 1 THEN Clazz.clazzName\n               ELSE ''\n               END ASC,\n               CASE ?\n               WHEN 4 THEN Clazz.attendanceAverage\n               ELSE 0\n               END DESC,\n               CASE ?\n               WHEN 2 THEN clazz.Clazzname\n               ELSE ''\n               END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.x8u_1.k8s_1, tmp, ClazzDao_JdbcImpl$findClazzesWithPermission$o$loadRows$slambda_0(this.y8u_1, this.z8u_1, this.a8v_1, this.b8v_1, this.c8v_1, this.d8v_1, this.e8v_1, _limit, _offset, null), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$1).b5w = function (_limit, _offset, $completion) {
    return this.f8v(_limit, _offset, $completion);
  };
  protoOf(ClazzDao_JdbcImpl$findClazzesWithPermission$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1000 \n                   AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                       AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1001\n                   AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                        AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers,\n               '' AS teacherNames,\n               0 AS lastRecorded,\n               CourseTerminology.*\n          FROM Clazz\n               LEFT JOIN ClazzEnrolment \n                    ON ClazzEnrolment.clazzEnrolmentUid =\n                       COALESCE(\n                       (SELECT ClazzEnrolment.clazzEnrolmentUid \n                          FROM ClazzEnrolment\n                         WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                           AND ClazzEnrolment.clazzEnrolmentActive\n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC   \n                         LIMIT 1), 0)\n                LEFT JOIN CourseTerminology   \n                          ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n                LEFT JOIN CoursePicture\n                          ON CoursePicture.coursePictureUid = Clazz.clazzUid           \n\n         WHERE /* Begin permission check clause */\n               CAST(? AS BIGINT) != 0\n           AND (\n                    Clazz.clazzOwnerPersonUid = CAST(? AS BIGINT)\n                 OR EXISTS(SELECT CoursePermission.cpUid\n                             FROM CoursePermission\n                            WHERE CoursePermission.cpClazzUid = Clazz.clazzUid\n                              AND (   CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                   OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole )\n                              AND (CoursePermission.cpPermissionsFlag & CAST(? AS BIGINT)) > 0 \n                              AND NOT CoursePermission.cpIsDeleted)   \n                 OR (\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          CAST(? AS BIGINT)\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    )             \n                )\n                /* End permission check clause */ \n           AND CAST(Clazz.isClazzActive AS INTEGER) = 1\n           AND Clazz.clazzName like ?\n           AND (Clazz.clazzUid NOT IN (?))\n           AND ( ? = 0 OR (CASE WHEN ? = 5 \n                                      THEN CAST(? AS BIGINT) BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime\n                                      ELSE CAST(? AS BIGINT) > Clazz.clazzEndTime \n                                      END))\n      GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid\n      ORDER BY CASE ?\n               WHEN 3 THEN Clazz.attendanceAverage\n               ELSE 0\n               END ASC,\n               CASE ?\n               WHEN 1 THEN Clazz.clazzName\n               ELSE ''\n               END ASC,\n               CASE ?\n               WHEN 4 THEN Clazz.attendanceAverage\n               ELSE 0\n               END DESC,\n               CASE ?\n               WHEN 2 THEN clazz.Clazzname\n               ELSE ''\n               END DESC\n    ) AS _PagingCount", true, VOID, VOID, "SELECT COUNT(*) FROM (\n        SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1000 \n                   AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                       AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1001\n                   AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                        AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers,\n               '' AS teacherNames,\n               0 AS lastRecorded,\n               CourseTerminology.*\n          FROM Clazz\n               LEFT JOIN ClazzEnrolment \n                    ON ClazzEnrolment.clazzEnrolmentUid =\n                       COALESCE(\n                       (SELECT ClazzEnrolment.clazzEnrolmentUid \n                          FROM ClazzEnrolment\n                         WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                           AND ClazzEnrolment.clazzEnrolmentActive\n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC   \n                         LIMIT 1), 0)\n                LEFT JOIN CourseTerminology   \n                          ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n                LEFT JOIN CoursePicture\n                          ON CoursePicture.coursePictureUid = Clazz.clazzUid           \n\n         WHERE /* Begin permission check clause */\n               ? != 0\n           AND (\n                    Clazz.clazzOwnerPersonUid = ?\n                 OR EXISTS(SELECT CoursePermission.cpUid\n                             FROM CoursePermission\n                            WHERE CoursePermission.cpClazzUid = Clazz.clazzUid\n                              AND (   CoursePermission.cpToPersonUid = ? \n                                   OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole )\n                              AND (CoursePermission.cpPermissionsFlag & ?) > 0 \n                              AND NOT CoursePermission.cpIsDeleted)   \n                 OR (\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          ?\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    )             \n                )\n                /* End permission check clause */ \n           AND CAST(Clazz.isClazzActive AS INTEGER) = 1\n           AND Clazz.clazzName like ?\n           AND (Clazz.clazzUid NOT IN (?))\n           AND ( ? = 0 OR (CASE WHEN ? = 5 \n                                      THEN ? BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime\n                                      ELSE ? > Clazz.clazzEndTime \n                                      END))\n      GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid\n      ORDER BY CASE ?\n               WHEN 3 THEN Clazz.attendanceAverage\n               ELSE 0\n               END ASC,\n               CASE ?\n               WHEN 1 THEN Clazz.clazzName\n               ELSE ''\n               END ASC,\n               CASE ?\n               WHEN 4 THEN Clazz.attendanceAverage\n               ELSE 0\n               END DESC,\n               CASE ?\n               WHEN 2 THEN clazz.Clazzname\n               ELSE ''\n               END DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.x8u_1.k8s_1, tmp, ClazzDao_JdbcImpl$findClazzesWithPermission$o$countRows$slambda_0(this.y8u_1, this.z8u_1, this.a8v_1, this.b8v_1, this.c8v_1, this.d8v_1, this.e8v_1, null), $completion);
  };
  function ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, resultContinuation) {
    this.o8v_1 = this$0;
    this.p8v_1 = $clazzUid;
    this.q8v_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda).r8v = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda).r7e = function ($completion) {
    return this.r8v($completion);
  };
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Clazz.*,\n               (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  32\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  32\n                  \n        ) > 0)\n               )\n    \n               ) AS hasAttendancePermission,\n               (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  8192\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  8192\n                  \n        ) > 0)\n               )\n    \n               ) AS hasViewMembersPermission,\n               (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  128\n                  \n        ) > 0)\n               )\n    \n               ) AS hasLearningRecordPermission\n          FROM Clazz\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT)\n           AND (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  1\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  1\n                  \n        ) > 0)\n               )\n    \n               )\n    ', VOID, VOID, VOID, '\n        SELECT Clazz.*,\n               (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  32\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  32\n                  \n        ) > 0)\n               )\n    \n               ) AS hasAttendancePermission,\n               (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  8192\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  8192\n                  \n        ) > 0)\n               )\n    \n               ) AS hasViewMembersPermission,\n               (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  128\n                  \n        ) > 0)\n               )\n    \n               ) AS hasLearningRecordPermission\n          FROM Clazz\n         WHERE Clazz.clazzUid = ?\n           AND (  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                  1\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n    \n                  1\n                  \n        ) > 0)\n               )\n    \n               )\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.o8v_1.k8s_1, tmp_0, ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda$slambda_0(this.p8v_1, this.q8v_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda(this.o8v_1, this.p8v_1, this.q8v_1, completion);
  };
  function ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda_0(this$0, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.r8v($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda(this$0, $currentTime, $clazzUid, $accountPersonUid, resultContinuation) {
    this.a8w_1 = this$0;
    this.b8w_1 = $currentTime;
    this.c8w_1 = $clazzUid;
    this.d8w_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda).e8w = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda).r7e = function ($completion) {
    return this.e8w($completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Clazz.*, \n               CoursePicture.*,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1000 \n                   AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                        AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1001 \n                   AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                       AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers,\n                CourseTerminology.*,\n                (SELECT EXISTS(\n                        SELECT 1\n                          FROM ClazzEnrolment\n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n                           AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                           AND ClazzEnrolment.clazzEnrolmentRole = 1000\n)\n                ) AS activeUserIsStudent\n         FROM Clazz \n              LEFT JOIN CourseTerminology\n                        ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n              LEFT JOIN CoursePicture\n                        ON CoursePicture.coursePictureUid = CAST(? AS BIGINT)\n        WHERE Clazz.clazzUid = CAST(? AS BIGINT)', VOID, VOID, VOID, '\n        SELECT Clazz.*, \n               CoursePicture.*,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1000 \n                   AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                        AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents,\n               (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) \n                  FROM ClazzEnrolment \n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid \n                   AND clazzEnrolmentRole = 1001 \n                   AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                       AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers,\n                CourseTerminology.*,\n                (SELECT EXISTS(\n                        SELECT 1\n                          FROM ClazzEnrolment\n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ?\n                           AND ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                           AND ClazzEnrolment.clazzEnrolmentRole = 1000\n)\n                ) AS activeUserIsStudent\n         FROM Clazz \n              LEFT JOIN CourseTerminology\n                        ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n              LEFT JOIN CoursePicture\n                        ON CoursePicture.coursePictureUid = ?\n        WHERE Clazz.clazzUid = ?\n', true);
            suspendResult = prepareAndUseStatementAsync(this.a8w_1.k8s_1, tmp_0, ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda$slambda_0(this.b8w_1, this.c8w_1, this.d8w_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda).q7e = function (completion) {
    return new ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda(this.a8w_1, this.b8w_1, this.c8w_1, this.d8w_1, completion);
  };
  function ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda_0(this$0, $currentTime, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda(this$0, $currentTime, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8w($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.n8w_1 = this$0;
    this.o8w_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda).p8w = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda).r7e = function ($completion) {
    return this.p8w($completion);
  };
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Clazz.clazzName\n          FROM Clazz\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT Clazz.clazzName\n          FROM Clazz\n         WHERE Clazz.clazzUid = ?\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.n8w_1.k8s_1, tmp_0, ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda_0(this.o8w_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda(this.n8w_1, this.o8w_1, completion);
  };
  function ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.p8w($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.y8w_1 = this$0;
    this.z8w_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda).a8x = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda).r7e = function ($completion) {
    return this.a8x($completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Clazz.clazzName AS clazzName,\n               CourseTerminology.*\n          FROM Clazz\n               LEFT JOIN CourseTerminology\n                         ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT)                \n    ', VOID, VOID, VOID, '\n        SELECT Clazz.clazzName AS clazzName,\n               CourseTerminology.*\n          FROM Clazz\n               LEFT JOIN CourseTerminology\n                         ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n         WHERE Clazz.clazzUid = ?                \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.y8w_1.k8s_1, tmp_0, ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda$slambda_0(this.z8w_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda(this.y8w_1, this.z8w_1, completion);
  };
  function ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.a8x($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.j8x_1 = this$0;
    this.k8x_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda).p8w = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda).r7e = function ($completion) {
    return this.p8w($completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Clazz.clazzName AS clazzName\n          FROM Clazz\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT)                \n    ', VOID, VOID, VOID, '\n        SELECT Clazz.clazzName AS clazzName\n          FROM Clazz\n         WHERE Clazz.clazzUid = ?                \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.j8x_1.k8s_1, tmp_0, ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda$slambda_0(this.k8x_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda(this.j8x_1, this.k8x_1, completion);
  };
  function ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.p8w($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda($clazzUid, resultContinuation) {
    this.t8x_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda).m8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda).he = function (p1, $completion) {
    return this.m8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.u8x_1.a5o(1, this.t8x_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.u8x_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda(this.t8x_1, completion);
    i.u8x_1 = _stmt;
    return i;
  };
  function ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda_0($clazzUid, resultContinuation) {
    var i = new ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.m8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$29(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d8y_1 = _this__u8e3s4;
    this.e8y_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$29).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.d8y_1.l8s_1.b5n(this.e8y_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$30(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.n8y_1 = _this__u8e3s4;
    this.o8y_1 = entity;
  }
  protoOf($updateAsyncCOROUTINE$30).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.p8y_1 = {_v: 0};
            this.q8y_1 = 'UPDATE Clazz SET clazzName = ?, clazzDesc = ?, attendanceAverage = ?, clazzHolidayUMCalendarUid = ?, clazzScheuleUMCalendarUid = ?, isClazzActive = ?, clazzLocationUid = ?, clazzStartTime = ?, clazzEndTime = ?, clazzFeatures = ?, clazzSchoolUid = ?, clazzEnrolmentPolicy = ?, clazzTerminologyUid = ?, clazzMasterChangeSeqNum = ?, clazzLocalChangeSeqNum = ?, clazzLastChangedBy = ?, clazzLct = ?, clazzTimeZone = ?, clazzStudentsPersonGroupUid = ?, clazzTeachersPersonGroupUid = ?, clazzPendingStudentsPersonGroupUid = ?, clazzParentsPersonGroupUid = ?, clazzCode = ?, clazzOwnerPersonUid = ? WHERE clazzUid = ?';
            this.hd_1 = 1;
            suspendResult = prepareAndUseStatementAsync_0(this.n8y_1.k8s_1, this.q8y_1, VOID, ClazzDao_JdbcImpl$updateAsync$slambda_0(this.o8y_1, this.p8y_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return this.p8y_1._v;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzDao_JdbcImpl(_db) {
    ClazzDao.call(this);
    this.k8s_1 = _db;
    var tmp = this;
    tmp.l8s_1 = new ClazzDao_JdbcImpl$_insertAdapterClazz_abort$1(this);
  }
  protoOf(ClazzDao_JdbcImpl).l8k = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$29(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.l8k(entity instanceof Clazz ? entity : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_JdbcImpl).q8i = function (entity, $completion) {
    var tmp = new $updateAsyncCOROUTINE$30(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_JdbcImpl).m8i = function (code, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM Clazz WHERE clazzCode = ?', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.k8s_1, tmp, ClazzDao_JdbcImpl$findByClazzCode$slambda_0(code, null), $completion);
  };
  protoOf(ClazzDao_JdbcImpl).n8i = function (clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM Clazz WHERE clazzUid = CAST(? AS BIGINT)', VOID, VOID, VOID, 'SELECT * FROM Clazz WHERE clazzUid = ?\n', true);
    return prepareAndUseStatementAsync(this.k8s_1, tmp, ClazzDao_JdbcImpl$findByUidAsync$slambda_0(clazzUid, null), $completion);
  };
  protoOf(ClazzDao_JdbcImpl).o8i = function (uid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz'];
    return doorFlow(this.k8s_1, tmp, ClazzDao_JdbcImpl$findByUidAsFlow$slambda_0(this, uid, null));
  };
  protoOf(ClazzDao_JdbcImpl).p8i = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT Clazz.*, \n               CoursePicture.*,\n               HolidayCalendar.*, \n               CourseTerminology.*\n          FROM Clazz \n               LEFT JOIN HolidayCalendar \n                         ON Clazz.clazzHolidayUMCalendarUid = HolidayCalendar.umCalendarUid\n\n               LEFT JOIN CourseTerminology\n                         ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n                      \n               LEFT JOIN CoursePicture\n                         ON CoursePicture.coursePictureUid = CAST(? AS BIGINT)\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT)', VOID, VOID, VOID, '\n        SELECT Clazz.*, \n               CoursePicture.*,\n               HolidayCalendar.*, \n               CourseTerminology.*\n          FROM Clazz \n               LEFT JOIN HolidayCalendar \n                         ON Clazz.clazzHolidayUMCalendarUid = HolidayCalendar.umCalendarUid\n\n               LEFT JOIN CourseTerminology\n                         ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n                      \n               LEFT JOIN CoursePicture\n                         ON CoursePicture.coursePictureUid = ?\n         WHERE Clazz.clazzUid = ?\n', true);
    return prepareAndUseStatementAsync(this.k8s_1, tmp, ClazzDao_JdbcImpl$findByUidWithHolidayCalendarAsync$slambda_0(uid, null), $completion);
  };
  protoOf(ClazzDao_JdbcImpl).r8i = function (searchQuery, accountPersonUid, excludeSelectedClazzList, sortOrder, filter, currentTime, permission) {
    return new ClazzDao_JdbcImpl$findClazzesWithPermission$1(this, currentTime, accountPersonUid, permission, searchQuery, excludeSelectedClazzList, filter, sortOrder);
  };
  protoOf(ClazzDao_JdbcImpl).s8i = function (accountPersonUid, clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz', 'CoursePermission', 'ClazzEnrolment', 'SystemPermission'];
    return doorFlow(this.k8s_1, tmp, ClazzDao_JdbcImpl$clazzAndDetailPermissionsAsFlow$slambda_0(this, clazzUid, accountPersonUid, null));
  };
  protoOf(ClazzDao_JdbcImpl).t8i = function (clazzUid, currentTime, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseTerminology', 'Clazz', 'CoursePicture', 'ClazzEnrolment'];
    return doorFlow(this.k8s_1, tmp, ClazzDao_JdbcImpl$getClazzWithDisplayDetails$slambda_0(this, currentTime, clazzUid, accountPersonUid, null));
  };
  protoOf(ClazzDao_JdbcImpl).u8i = function (clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz'];
    return doorFlow(this.k8s_1, tmp, ClazzDao_JdbcImpl$getTitleByUidAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(ClazzDao_JdbcImpl).v8i = function (clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseTerminology', 'Clazz'];
    return doorFlow(this.k8s_1, tmp, ClazzDao_JdbcImpl$getClazzNameAndTerminologyAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(ClazzDao_JdbcImpl).w8i = function (clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz'];
    return doorFlow(this.k8s_1, tmp, ClazzDao_JdbcImpl$getClazzNameAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(ClazzDao_JdbcImpl).x8i = function (clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT Clazz.clazzTimeZone\n          FROM Clazz\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT) \n    ', VOID, VOID, VOID, '\n        SELECT Clazz.clazzTimeZone\n          FROM Clazz\n         WHERE Clazz.clazzUid = ? \n    \n', true);
    return prepareAndUseStatementAsync(this.k8s_1, tmp, ClazzDao_JdbcImpl$getClazzTimeZoneByClazzUidAsync$slambda_0(clazzUid, null), $completion);
  };
  function ClazzDao_Repo$findByUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$findClazzesWithPermission$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$getClazzWithDisplayDetails$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$getTitleByUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$getClazzNameAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$findByClazzCode$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$findByUidAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.z8y_1 = this$0;
    this.a8z_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$findByUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$findByUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzDao_Repo$findByUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.b8z_1 = this.z8y_1.k8z_1;
            var tmp_1 = this;
            tmp_1.c8z_1 = 'ClazzDao/findByUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.d8z_1 = this.z8y_1.m8z_1;
            var tmp_3 = this;
            tmp_3.e8z_1 = this.d8z_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.z8y_1.k8z_1.a3d(), 'ClazzDao/findByUidAsFlow');
            doorNodeIdHeader(this_0, this.z8y_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.z8y_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.a8z_1));
            tmp_4.f8z_1 = this_0;
            this.f8z_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.g8z_1 = this.e8z_1;
            var tmp_6 = this;
            tmp_6.h8z_1 = this.f8z_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.h8z_1, this.g8z_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.i8z_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.z8y_1.j8z_1, this.i8z_1, this.z8y_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$findByUidAsFlow$slambda$lambda(this.b8z_1, this.c8z_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$findByUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$findByUidAsFlow$slambda(this.z8y_1, this.a8z_1, completion);
  };
  function ClazzDao_Repo$findByUidAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new ClazzDao_Repo$findByUidAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$findByUidWithHolidayCalendarAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$updateAsync$slambda(this$0, $entity, resultContinuation) {
    this.y8z_1 = this$0;
    this.z8z_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$updateAsync$slambda).a90 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$updateAsync$slambda).r7e = function ($completion) {
    return this.a90($completion);
  };
  protoOf(ClazzDao_Repo$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.y8z_1.l8z_1.q8i(this.z8z_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$updateAsync$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$updateAsync$slambda(this.y8z_1, this.z8z_1, completion);
  };
  function ClazzDao_Repo$updateAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzDao_Repo$updateAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.a90($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$findClazzesWithPermission$slambda(this$0, $searchQuery, $accountPersonUid, $excludeSelectedClazzList, $sortOrder, $filter, $currentTime, $permission, resultContinuation) {
    this.j90_1 = this$0;
    this.k90_1 = $searchQuery;
    this.l90_1 = $accountPersonUid;
    this.m90_1 = $excludeSelectedClazzList;
    this.n90_1 = $sortOrder;
    this.o90_1 = $filter;
    this.p90_1 = $currentTime;
    this.q90_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$findClazzesWithPermission$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$findClazzesWithPermission$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzDao_Repo$findClazzesWithPermission$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.t90_1 = this.j90_1.k8z_1;
            var tmp_1 = this;
            tmp_1.u90_1 = 'ClazzDao/findClazzesWithPermission';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.v90_1 = this.j90_1.m8z_1;
            var tmp_3 = this;
            tmp_3.w90_1 = this.v90_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.j90_1.k8z_1.a3d(), 'ClazzDao/findClazzesWithPermission');
            doorNodeIdHeader(this_0, this.j90_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'searchQuery', this.j90_1.k8z_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.k90_1));
            parameter(this_0, 'accountPersonUid', this.j90_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.l90_1));
            parameter(this_0, 'excludeSelectedClazzList', this.j90_1.k8z_1.a3d().c6c_1.w4b(ListSerializer(serializer(Companion_getInstance())), this.m90_1));
            parameter(this_0, 'sortOrder', this.j90_1.k8z_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.n90_1));
            parameter(this_0, 'filter', this.j90_1.k8z_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.o90_1));
            parameter(this_0, 'currentTime', this.j90_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.p90_1));
            parameter(this_0, 'permission', this.j90_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.q90_1));
            pagingSourceLoadParameters(this_0, this.j90_1.k8z_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.r90_1);
            tmp_4.x90_1 = this_0;
            this.x90_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.y90_1 = this.w90_1;
            var tmp_6 = this;
            tmp_6.z90_1 = this.x90_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.z90_1, this.y90_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.a91_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.j90_1.j8z_1, this.a91_1, this.j90_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.s90_1 = endOfPaginationReached(this.a91_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$findClazzesWithPermission$slambda$lambda(this.t90_1, this.u90_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.s90_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$findClazzesWithPermission$slambda).d8c = function (_pagingParams, completion) {
    var i = new ClazzDao_Repo$findClazzesWithPermission$slambda(this.j90_1, this.k90_1, this.l90_1, this.m90_1, this.n90_1, this.o90_1, this.p90_1, this.q90_1, completion);
    i.r90_1 = _pagingParams;
    return i;
  };
  function ClazzDao_Repo$findClazzesWithPermission$slambda_0(this$0, $searchQuery, $accountPersonUid, $excludeSelectedClazzList, $sortOrder, $filter, $currentTime, $permission, resultContinuation) {
    var i = new ClazzDao_Repo$findClazzesWithPermission$slambda(this$0, $searchQuery, $accountPersonUid, $excludeSelectedClazzList, $sortOrder, $filter, $currentTime, $permission, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, resultContinuation) {
    this.j91_1 = this$0;
    this.k91_1 = $accountPersonUid;
    this.l91_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.m91_1 = this.j91_1.k8z_1;
            var tmp_1 = this;
            tmp_1.n91_1 = 'ClazzDao/clazzAndDetailPermissionsAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.o91_1 = this.j91_1.m8z_1;
            var tmp_3 = this;
            tmp_3.p91_1 = this.o91_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.j91_1.k8z_1.a3d(), 'ClazzDao/clazzAndDetailPermissionsAsFlow');
            doorNodeIdHeader(this_0, this.j91_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.j91_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.k91_1));
            parameter(this_0, 'clazzUid', this.j91_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.l91_1));
            tmp_4.q91_1 = this_0;
            this.q91_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.r91_1 = this.p91_1;
            var tmp_6 = this;
            tmp_6.s91_1 = this.q91_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.s91_1, this.r91_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.t91_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.j91_1.j8z_1, this.t91_1, this.j91_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda$lambda(this.m91_1, this.n91_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda(this.j91_1, this.k91_1, this.l91_1, completion);
  };
  function ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda_0(this$0, $accountPersonUid, $clazzUid, resultContinuation) {
    var i = new ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$getClazzWithDisplayDetails$slambda(this$0, $clazzUid, $currentTime, $accountPersonUid, resultContinuation) {
    this.c92_1 = this$0;
    this.d92_1 = $clazzUid;
    this.e92_1 = $currentTime;
    this.f92_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$getClazzWithDisplayDetails$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$getClazzWithDisplayDetails$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzDao_Repo$getClazzWithDisplayDetails$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.g92_1 = this.c92_1.k8z_1;
            var tmp_1 = this;
            tmp_1.h92_1 = 'ClazzDao/getClazzWithDisplayDetails';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.i92_1 = this.c92_1.m8z_1;
            var tmp_3 = this;
            tmp_3.j92_1 = this.i92_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.c92_1.k8z_1.a3d(), 'ClazzDao/getClazzWithDisplayDetails');
            doorNodeIdHeader(this_0, this.c92_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.c92_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.d92_1));
            parameter(this_0, 'currentTime', this.c92_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.e92_1));
            parameter(this_0, 'accountPersonUid', this.c92_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.f92_1));
            tmp_4.k92_1 = this_0;
            this.k92_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.l92_1 = this.j92_1;
            var tmp_6 = this;
            tmp_6.m92_1 = this.k92_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.m92_1, this.l92_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.n92_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.c92_1.j8z_1, this.n92_1, this.c92_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$getClazzWithDisplayDetails$slambda$lambda(this.g92_1, this.h92_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$getClazzWithDisplayDetails$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$getClazzWithDisplayDetails$slambda(this.c92_1, this.d92_1, this.e92_1, this.f92_1, completion);
  };
  function ClazzDao_Repo$getClazzWithDisplayDetails$slambda_0(this$0, $clazzUid, $currentTime, $accountPersonUid, resultContinuation) {
    var i = new ClazzDao_Repo$getClazzWithDisplayDetails$slambda(this$0, $clazzUid, $currentTime, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$getTitleByUidAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.w92_1 = this$0;
    this.x92_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$getTitleByUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$getTitleByUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzDao_Repo$getTitleByUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.y92_1 = this.w92_1.k8z_1;
            var tmp_1 = this;
            tmp_1.z92_1 = 'ClazzDao/getTitleByUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.a93_1 = this.w92_1.m8z_1;
            var tmp_3 = this;
            tmp_3.b93_1 = this.a93_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.w92_1.k8z_1.a3d(), 'ClazzDao/getTitleByUidAsFlow');
            doorNodeIdHeader(this_0, this.w92_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.w92_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.x92_1));
            tmp_4.c93_1 = this_0;
            this.c93_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.d93_1 = this.b93_1;
            var tmp_6 = this;
            tmp_6.e93_1 = this.c93_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.e93_1, this.d93_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.f93_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.w92_1.j8z_1, this.f93_1, this.w92_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$getTitleByUidAsFlow$slambda$lambda(this.y92_1, this.z92_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$getTitleByUidAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$getTitleByUidAsFlow$slambda(this.w92_1, this.x92_1, completion);
  };
  function ClazzDao_Repo$getTitleByUidAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new ClazzDao_Repo$getTitleByUidAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.o93_1 = this$0;
    this.p93_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.q93_1 = this.o93_1.k8z_1;
            var tmp_1 = this;
            tmp_1.r93_1 = 'ClazzDao/getClazzNameAndTerminologyAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.s93_1 = this.o93_1.m8z_1;
            var tmp_3 = this;
            tmp_3.t93_1 = this.s93_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.o93_1.k8z_1.a3d(), 'ClazzDao/getClazzNameAndTerminologyAsFlow');
            doorNodeIdHeader(this_0, this.o93_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.o93_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.p93_1));
            tmp_4.u93_1 = this_0;
            this.u93_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.v93_1 = this.t93_1;
            var tmp_6 = this;
            tmp_6.w93_1 = this.u93_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.w93_1, this.v93_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.x93_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.o93_1.j8z_1, this.x93_1, this.o93_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda$lambda(this.q93_1, this.r93_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda(this.o93_1, this.p93_1, completion);
  };
  function ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$getClazzNameAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.g94_1 = this$0;
    this.h94_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$getClazzNameAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$getClazzNameAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzDao_Repo$getClazzNameAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.i94_1 = this.g94_1.k8z_1;
            var tmp_1 = this;
            tmp_1.j94_1 = 'ClazzDao/getClazzNameAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.k94_1 = this.g94_1.m8z_1;
            var tmp_3 = this;
            tmp_3.l94_1 = this.k94_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.g94_1.k8z_1.a3d(), 'ClazzDao/getClazzNameAsFlow');
            doorNodeIdHeader(this_0, this.g94_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.g94_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.h94_1));
            tmp_4.m94_1 = this_0;
            this.m94_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.n94_1 = this.l94_1;
            var tmp_6 = this;
            tmp_6.o94_1 = this.m94_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.o94_1, this.n94_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.p94_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.g94_1.j8z_1, this.p94_1, this.g94_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzDao_Repo$getClazzNameAsFlow$slambda$lambda(this.i94_1, this.j94_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$getClazzNameAsFlow$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$getClazzNameAsFlow$slambda(this.g94_1, this.h94_1, completion);
  };
  function ClazzDao_Repo$getClazzNameAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new ClazzDao_Repo$getClazzNameAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzDao_Repo$getClazzTimeZoneByClazzUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.y94_1 = this$0;
    this.z94_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ClazzDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.y94_1.l8z_1.insertAsync(this.z94_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ClazzDao_Repo$insertAsync$slambda(this.y94_1, this.z94_1, completion);
  };
  function ClazzDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByClazzCodeCOROUTINE$32(_this__u8e3s4, code, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i95_1 = _this__u8e3s4;
    this.j95_1 = code;
  }
  protoOf($findByClazzCodeCOROUTINE$32).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.k95_1 = this.i95_1.k8z_1;
            var tmp_1 = this;
            tmp_1.l95_1 = 'ClazzDao/findByClazzCode';
            this.id_1 = 3;
            this.n95_1 = this.i95_1.k8z_1.a3d().c6c_1;
            this.o95_1 = get_nullable(Companion_getInstance_46().s4x());
            var tmp_2 = this;
            tmp_2.p95_1 = this.i95_1.k8z_1.a3d().b6c_1;
            var tmp_3 = this;
            tmp_3.q95_1 = this.p95_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.i95_1.k8z_1.a3d(), 'ClazzDao/findByClazzCode');
            doorNodeIdHeader(this_0, this.i95_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'code', this.i95_1.k8z_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.j95_1));
            tmp_4.r95_1 = this_0;
            this.r95_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.s95_1 = this.q95_1;
            var tmp_6 = this;
            tmp_6.t95_1 = this.r95_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.t95_1, this.s95_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.u95_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = bodyAsText(this.u95_1, VOID, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.v95_1 = suspendResult;
            this.m95_1 = this.n95_1.x4b(this.o95_1, this.v95_1);
            this.id_1 = 6;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.w95_1 = this.kd_1;
              Napier_getInstance().i5k(this.w95_1, 'DoorLog', ClazzDao_Repo$findByClazzCode$lambda(this.k95_1, this.l95_1));
              this.hd_1 = 4;
              suspendResult = this.i95_1.l8z_1.m8i(this.j95_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.m95_1 = suspendResult;
            this.hd_1 = 5;
            continue $sm;
          case 5:
            this.id_1 = 6;
            return this.m95_1;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidAsyncCOROUTINE$34(_this__u8e3s4, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.m96_1 = _this__u8e3s4;
    this.n96_1 = clazzUid;
  }
  protoOf($findByUidAsyncCOROUTINE$34).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.m96_1.l8z_1.n8i(this.n96_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidWithHolidayCalendarAsyncCOROUTINE$36(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w96_1 = _this__u8e3s4;
    this.x96_1 = uid;
  }
  protoOf($findByUidWithHolidayCalendarAsyncCOROUTINE$36).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.y96_1 = this.w96_1.k8z_1;
            var tmp_1 = this;
            tmp_1.z96_1 = 'ClazzDao/findByUidWithHolidayCalendarAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.a97_1 = this.w96_1.m8z_1;
            var tmp_3 = this;
            tmp_3.b97_1 = this.a97_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.w96_1.k8z_1.a3d(), 'ClazzDao/findByUidWithHolidayCalendarAsync');
            doorNodeIdHeader(this_0, this.w96_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.w96_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.x96_1));
            tmp_4.c97_1 = this_0;
            this.c97_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.d97_1 = this.b97_1;
            var tmp_6 = this;
            tmp_6.e97_1 = this.c97_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.e97_1, this.d97_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.f97_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.w96_1.j8z_1, this.f97_1, this.w96_1.k8z_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.g97_1 = this.kd_1;
              Napier_getInstance().i5k(this.g97_1, 'DoorLog', ClazzDao_Repo$findByUidWithHolidayCalendarAsync$lambda(this.y96_1, this.z96_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.w96_1.l8z_1.p8i(this.x96_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$37(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.p97_1 = _this__u8e3s4;
    this.q97_1 = entity;
  }
  protoOf($updateAsyncCOROUTINE$37).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.p97_1.k8z_1, 'Clazz', ClazzDao_Repo$updateAsync$slambda_0(this.p97_1, this.q97_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getClazzTimeZoneByClazzUidAsyncCOROUTINE$39(_this__u8e3s4, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.z97_1 = _this__u8e3s4;
    this.a98_1 = clazzUid;
  }
  protoOf($getClazzTimeZoneByClazzUidAsyncCOROUTINE$39).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.b98_1 = this.z97_1.k8z_1;
            var tmp_1 = this;
            tmp_1.c98_1 = 'ClazzDao/getClazzTimeZoneByClazzUidAsync';
            this.id_1 = 3;
            this.e98_1 = this.z97_1.k8z_1.a3d().c6c_1;
            this.f98_1 = get_nullable(serializer_0(StringCompanionObject_instance));
            var tmp_2 = this;
            tmp_2.g98_1 = this.z97_1.k8z_1.a3d().b6c_1;
            var tmp_3 = this;
            tmp_3.h98_1 = this.g98_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.z97_1.k8z_1.a3d(), 'ClazzDao/getClazzTimeZoneByClazzUidAsync');
            doorNodeIdHeader(this_0, this.z97_1.k8z_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.z97_1.k8z_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.a98_1));
            tmp_4.i98_1 = this_0;
            this.i98_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.j98_1 = this.h98_1;
            var tmp_6 = this;
            tmp_6.k98_1 = this.i98_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.k98_1, this.j98_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.l98_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = bodyAsText(this.l98_1, VOID, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.m98_1 = suspendResult;
            this.d98_1 = this.e98_1.x4b(this.f98_1, this.m98_1);
            this.id_1 = 6;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.n98_1 = this.kd_1;
              Napier_getInstance().i5k(this.n98_1, 'DoorLog', ClazzDao_Repo$getClazzTimeZoneByClazzUidAsync$lambda(this.b98_1, this.c98_1));
              this.hd_1 = 4;
              suspendResult = this.z97_1.l8z_1.x8i(this.a98_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.d98_1 = suspendResult;
            this.hd_1 = 5;
            continue $sm;
          case 5:
            this.id_1 = 6;
            return this.d98_1;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$42(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w98_1 = _this__u8e3s4;
    this.x98_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$42).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.w98_1.k8z_1, 'Clazz', ClazzDao_Repo$insertAsync$slambda_0(this.w98_1, this.x98_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ClazzDao.call(this);
    this.j8z_1 = _db;
    this.k8z_1 = _repo;
    this.l8z_1 = _dao;
    this.m8z_1 = _httpClient;
    this.n8z_1 = _clientId;
    this.o8z_1 = _endpoint;
    this.p8z_1 = new RepoDaoFlowHelper(this.k8z_1);
  }
  protoOf(ClazzDao_Repo).m8i = function (code, $completion) {
    var tmp = new $findByClazzCodeCOROUTINE$32(this, code, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo).n8i = function (clazzUid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$34(this, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo).o8i = function (uid) {
    var tmp = this.l8z_1.o8i(uid);
    return this.p8z_1.t6d(tmp, ClazzDao_Repo$findByUidAsFlow$slambda_0(this, uid, null));
  };
  protoOf(ClazzDao_Repo).p8i = function (uid, $completion) {
    var tmp = new $findByUidWithHolidayCalendarAsyncCOROUTINE$36(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo).q8i = function (entity, $completion) {
    var tmp = new $updateAsyncCOROUTINE$37(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo).r8i = function (searchQuery, accountPersonUid, excludeSelectedClazzList, sortOrder, filter, currentTime, permission) {
    var tmp = this.l8z_1.r8i(searchQuery, accountPersonUid, excludeSelectedClazzList, sortOrder, filter, currentTime, permission);
    return new DoorRepositoryReplicatePullPagingSource(this.k8z_1, 'ClazzDao/findClazzesWithPermission', tmp, ClazzDao_Repo$findClazzesWithPermission$slambda_0(this, searchQuery, accountPersonUid, excludeSelectedClazzList, sortOrder, filter, currentTime, permission, null));
  };
  protoOf(ClazzDao_Repo).s8i = function (accountPersonUid, clazzUid) {
    var tmp = this.l8z_1.s8i(accountPersonUid, clazzUid);
    return this.p8z_1.t6d(tmp, ClazzDao_Repo$clazzAndDetailPermissionsAsFlow$slambda_0(this, accountPersonUid, clazzUid, null));
  };
  protoOf(ClazzDao_Repo).t8i = function (clazzUid, currentTime, accountPersonUid) {
    var tmp = this.l8z_1.t8i(clazzUid, currentTime, accountPersonUid);
    return this.p8z_1.t6d(tmp, ClazzDao_Repo$getClazzWithDisplayDetails$slambda_0(this, clazzUid, currentTime, accountPersonUid, null));
  };
  protoOf(ClazzDao_Repo).u8i = function (clazzUid) {
    var tmp = this.l8z_1.u8i(clazzUid);
    return this.p8z_1.t6d(tmp, ClazzDao_Repo$getTitleByUidAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(ClazzDao_Repo).v8i = function (clazzUid) {
    var tmp = this.l8z_1.v8i(clazzUid);
    return this.p8z_1.t6d(tmp, ClazzDao_Repo$getClazzNameAndTerminologyAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(ClazzDao_Repo).w8i = function (clazzUid) {
    var tmp = this.l8z_1.w8i(clazzUid);
    return this.p8z_1.t6d(tmp, ClazzDao_Repo$getClazzNameAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(ClazzDao_Repo).x8i = function (clazzUid, $completion) {
    var tmp = new $getClazzTimeZoneByClazzUidAsyncCOROUTINE$39(this, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo).l8k = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$42(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzDao_Repo).insertAsync = function (entity, $completion) {
    return this.l8k(entity instanceof Clazz ? entity : THROW_CCE(), $completion);
  };
  function ClazzEnrolmentDao() {
  }
  function $insertAsyncCOROUTINE$43(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o99_1 = _this__u8e3s4;
    this.p99_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$43).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.q99_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.o99_1.s99_1));
            if (this.p99_1.w8n_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.q99_1.t68(65, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.r99_1 = suspendResult;
            this.p99_1.w8n_1 = this.r99_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.p99_1.j8o_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.o99_1.t99_1.insertAsync(this.p99_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.p99_1.w8n_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzEnrolmentDao_DoorWrapper(_db, _dao) {
    ClazzEnrolmentDao.call(this);
    this.s99_1 = _db;
    this.t99_1 = _dao;
  }
  protoOf(ClazzEnrolmentDao_DoorWrapper).y98 = function (personUid, clazzUid) {
    return this.t99_1.y98(personUid, clazzUid);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).z98 = function (enrolmentUid, $completion) {
    return this.t99_1.z98(enrolmentUid, $completion);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).a99 = function (entity, $completion) {
    entity.j8o_1 = systemTimeInMillis();
    return this.t99_1.a99(entity, $completion);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).b99 = function (accountPersonUid, otherPersonUid) {
    return this.t99_1.b99(accountPersonUid, otherPersonUid);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).c99 = function (clazzUid, accountPersonUid, time, $completion) {
    return this.t99_1.c99(clazzUid, accountPersonUid, time, $completion);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).d99 = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission) {
    return this.t99_1.d99(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).e99 = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime) {
    return this.t99_1.e99(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).f99 = function (personUid, clazzUid, $completion) {
    return this.t99_1.f99(personUid, clazzUid, $completion);
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).u99 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$43(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.u99(entity instanceof ClazzEnrolment ? entity : THROW_CCE(), $completion);
  };
  function ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda$lambda(_result) {
    return mapRows(_result, ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_timeZone = $_result.rz('timeZone');
      var _tmp_clazzEnrolmentUid = $_result.d5t('clazzEnrolmentUid');
      var _tmp_clazzEnrolmentPersonUid = $_result.d5t('clazzEnrolmentPersonUid');
      var _tmp_clazzEnrolmentClazzUid = $_result.d5t('clazzEnrolmentClazzUid');
      var _tmp_clazzEnrolmentDateJoined = $_result.d5t('clazzEnrolmentDateJoined');
      var _tmp_clazzEnrolmentDateLeft = $_result.d5t('clazzEnrolmentDateLeft');
      var _tmp_clazzEnrolmentRole = $_result.c5t('clazzEnrolmentRole');
      var _tmp_clazzEnrolmentAttendancePercentage = $_result.q6c('clazzEnrolmentAttendancePercentage');
      var _tmp_clazzEnrolmentActive = $_result.o6c('clazzEnrolmentActive');
      var _tmp_clazzEnrolmentLeavingReasonUid = $_result.d5t('clazzEnrolmentLeavingReasonUid');
      var _tmp_clazzEnrolmentOutcome = $_result.c5t('clazzEnrolmentOutcome');
      var _tmp_clazzEnrolmentLocalChangeSeqNum = $_result.d5t('clazzEnrolmentLocalChangeSeqNum');
      var _tmp_clazzEnrolmentMasterChangeSeqNum = $_result.d5t('clazzEnrolmentMasterChangeSeqNum');
      var _tmp_clazzEnrolmentLastChangedBy = $_result.c5t('clazzEnrolmentLastChangedBy');
      var _tmp_clazzEnrolmentLct = $_result.d5t('clazzEnrolmentLct');
      var _tmp_LeavingReason_nullCount = 0;
      var _tmp_leavingReasonUid = $_result.d5t('leavingReasonUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_leavingReasonTitle = $_result.rz('leavingReasonTitle');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_leavingReasonMCSN = $_result.d5t('leavingReasonMCSN');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_leavingReasonCSN = $_result.d5t('leavingReasonCSN');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_leavingReasonLCB = $_result.c5t('leavingReasonLCB');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_leavingReasonLct = $_result.d5t('leavingReasonLct');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_LeavingReason_isAllNull = _tmp_LeavingReason_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzEnrolmentWithLeavingReason();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findAllEnrolmentsByPersonAndClazzUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.k9a_1 = _tmp_timeZone;
      this_0.w8n_1 = _tmp_clazzEnrolmentUid;
      this_0.x8n_1 = _tmp_clazzEnrolmentPersonUid;
      this_0.y8n_1 = _tmp_clazzEnrolmentClazzUid;
      this_0.z8n_1 = _tmp_clazzEnrolmentDateJoined;
      this_0.a8o_1 = _tmp_clazzEnrolmentDateLeft;
      this_0.b8o_1 = _tmp_clazzEnrolmentRole;
      this_0.c8o_1 = _tmp_clazzEnrolmentAttendancePercentage;
      this_0.d8o_1 = _tmp_clazzEnrolmentActive;
      this_0.e8o_1 = _tmp_clazzEnrolmentLeavingReasonUid;
      this_0.f8o_1 = _tmp_clazzEnrolmentOutcome;
      this_0.g8o_1 = _tmp_clazzEnrolmentLocalChangeSeqNum;
      this_0.h8o_1 = _tmp_clazzEnrolmentMasterChangeSeqNum;
      this_0.i8o_1 = _tmp_clazzEnrolmentLastChangedBy;
      this_0.j8o_1 = _tmp_clazzEnrolmentLct;
      if (!_tmp_LeavingReason_isAllNull) {
        var tmp_5 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new LeavingReason();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findAllEnrolmentsByPersonAndClazzUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.l9a_1 = _tmp_leavingReasonUid;
        this_1.m9a_1 = _tmp_leavingReasonTitle;
        this_1.n9a_1 = _tmp_leavingReasonMCSN;
        this_1.o9a_1 = _tmp_leavingReasonCSN;
        this_1.p9a_1 = _tmp_leavingReasonLCB;
        this_1.q9a_1 = _tmp_leavingReasonLct;
        tmp_5.j9a_1 = this_1;
      }
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda($personUid, $clazzUid, resultContinuation) {
    this.z9a_1 = $personUid;
    this.a9b_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda).c9b = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda).he = function (p1, $completion) {
    return this.c9b((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.b9b_1.a5o(1, this.z9a_1);
            this.b9b_1.a5o(2, this.a9b_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.b9b_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda(this.z9a_1, this.a9b_1, completion);
    i.b9b_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda_0($personUid, $clazzUid, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda($personUid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.c9b(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_timeZone = $_result.rz('timeZone');
      var _tmp_clazzEnrolmentUid = $_result.d5t('clazzEnrolmentUid');
      var _tmp_clazzEnrolmentPersonUid = $_result.d5t('clazzEnrolmentPersonUid');
      var _tmp_clazzEnrolmentClazzUid = $_result.d5t('clazzEnrolmentClazzUid');
      var _tmp_clazzEnrolmentDateJoined = $_result.d5t('clazzEnrolmentDateJoined');
      var _tmp_clazzEnrolmentDateLeft = $_result.d5t('clazzEnrolmentDateLeft');
      var _tmp_clazzEnrolmentRole = $_result.c5t('clazzEnrolmentRole');
      var _tmp_clazzEnrolmentAttendancePercentage = $_result.q6c('clazzEnrolmentAttendancePercentage');
      var _tmp_clazzEnrolmentActive = $_result.o6c('clazzEnrolmentActive');
      var _tmp_clazzEnrolmentLeavingReasonUid = $_result.d5t('clazzEnrolmentLeavingReasonUid');
      var _tmp_clazzEnrolmentOutcome = $_result.c5t('clazzEnrolmentOutcome');
      var _tmp_clazzEnrolmentLocalChangeSeqNum = $_result.d5t('clazzEnrolmentLocalChangeSeqNum');
      var _tmp_clazzEnrolmentMasterChangeSeqNum = $_result.d5t('clazzEnrolmentMasterChangeSeqNum');
      var _tmp_clazzEnrolmentLastChangedBy = $_result.c5t('clazzEnrolmentLastChangedBy');
      var _tmp_clazzEnrolmentLct = $_result.d5t('clazzEnrolmentLct');
      var _tmp_LeavingReason_nullCount = 0;
      var _tmp_leavingReasonUid = $_result.d5t('leavingReasonUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_leavingReasonTitle = $_result.rz('leavingReasonTitle');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_leavingReasonMCSN = $_result.d5t('leavingReasonMCSN');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_leavingReasonCSN = $_result.d5t('leavingReasonCSN');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_leavingReasonLCB = $_result.c5t('leavingReasonLCB');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_leavingReasonLct = $_result.d5t('leavingReasonLct');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_LeavingReason_nullCount = _tmp_LeavingReason_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_LeavingReason_isAllNull = _tmp_LeavingReason_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzEnrolmentWithLeavingReason();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findEnrolmentWithLeavingReason.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.k9a_1 = _tmp_timeZone;
      this_0.w8n_1 = _tmp_clazzEnrolmentUid;
      this_0.x8n_1 = _tmp_clazzEnrolmentPersonUid;
      this_0.y8n_1 = _tmp_clazzEnrolmentClazzUid;
      this_0.z8n_1 = _tmp_clazzEnrolmentDateJoined;
      this_0.a8o_1 = _tmp_clazzEnrolmentDateLeft;
      this_0.b8o_1 = _tmp_clazzEnrolmentRole;
      this_0.c8o_1 = _tmp_clazzEnrolmentAttendancePercentage;
      this_0.d8o_1 = _tmp_clazzEnrolmentActive;
      this_0.e8o_1 = _tmp_clazzEnrolmentLeavingReasonUid;
      this_0.f8o_1 = _tmp_clazzEnrolmentOutcome;
      this_0.g8o_1 = _tmp_clazzEnrolmentLocalChangeSeqNum;
      this_0.h8o_1 = _tmp_clazzEnrolmentMasterChangeSeqNum;
      this_0.i8o_1 = _tmp_clazzEnrolmentLastChangedBy;
      this_0.j8o_1 = _tmp_clazzEnrolmentLct;
      if (!_tmp_LeavingReason_isAllNull) {
        var tmp_5 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new LeavingReason();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findEnrolmentWithLeavingReason.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.l9a_1 = _tmp_leavingReasonUid;
        this_1.m9a_1 = _tmp_leavingReasonTitle;
        this_1.n9a_1 = _tmp_leavingReasonMCSN;
        this_1.o9a_1 = _tmp_leavingReasonCSN;
        this_1.p9a_1 = _tmp_leavingReasonLCB;
        this_1.q9a_1 = _tmp_leavingReasonLct;
        tmp_5.j9a_1 = this_1;
      }
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda$lambda(_result) {
    return mapRows(_result, ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ClazzEnrolment_nullCount = 0;
      var _tmp_clazzEnrolmentUid = $_result.d5t('clazzEnrolmentUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_clazzEnrolmentPersonUid = $_result.d5t('clazzEnrolmentPersonUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_clazzEnrolmentClazzUid = $_result.d5t('clazzEnrolmentClazzUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_clazzEnrolmentDateJoined = $_result.d5t('clazzEnrolmentDateJoined');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_clazzEnrolmentDateLeft = $_result.d5t('clazzEnrolmentDateLeft');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_clazzEnrolmentRole = $_result.c5t('clazzEnrolmentRole');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_clazzEnrolmentAttendancePercentage = $_result.q6c('clazzEnrolmentAttendancePercentage');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_clazzEnrolmentActive = $_result.o6c('clazzEnrolmentActive');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLeavingReasonUid = $_result.d5t('clazzEnrolmentLeavingReasonUid');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_clazzEnrolmentOutcome = $_result.c5t('clazzEnrolmentOutcome');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLocalChangeSeqNum = $_result.d5t('clazzEnrolmentLocalChangeSeqNum');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_clazzEnrolmentMasterChangeSeqNum = $_result.d5t('clazzEnrolmentMasterChangeSeqNum');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLastChangedBy = $_result.c5t('clazzEnrolmentLastChangedBy');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_clazzEnrolmentLct = $_result.d5t('clazzEnrolmentLct');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ClazzEnrolment_nullCount = _tmp_ClazzEnrolment_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_ClazzEnrolment_isAllNull = _tmp_ClazzEnrolment_nullCount === 14;
      var _tmp_Clazz_nullCount = 0;
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_clazzName = $_result.rz('clazzName');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_clazzDesc = $_result.rz('clazzDesc');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_attendanceAverage = $_result.q6c('attendanceAverage');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_clazzHolidayUMCalendarUid = $_result.d5t('clazzHolidayUMCalendarUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_clazzScheuleUMCalendarUid = $_result.d5t('clazzScheuleUMCalendarUid');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_isClazzActive = $_result.o6c('isClazzActive');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_clazzLocationUid = $_result.d5t('clazzLocationUid');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_clazzStartTime = $_result.d5t('clazzStartTime');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_clazzEndTime = $_result.d5t('clazzEndTime');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_clazzFeatures = $_result.d5t('clazzFeatures');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_clazzSchoolUid = $_result.d5t('clazzSchoolUid');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_clazzEnrolmentPolicy = $_result.c5t('clazzEnrolmentPolicy');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_clazzTerminologyUid = $_result.d5t('clazzTerminologyUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_clazzMasterChangeSeqNum = $_result.d5t('clazzMasterChangeSeqNum');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_clazzLocalChangeSeqNum = $_result.d5t('clazzLocalChangeSeqNum');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_clazzLastChangedBy = $_result.c5t('clazzLastChangedBy');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_clazzLct = $_result.d5t('clazzLct');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_clazzTimeZone = $_result.rz('clazzTimeZone');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_clazzStudentsPersonGroupUid = $_result.d5t('clazzStudentsPersonGroupUid');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_clazzTeachersPersonGroupUid = $_result.d5t('clazzTeachersPersonGroupUid');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_clazzPendingStudentsPersonGroupUid = $_result.d5t('clazzPendingStudentsPersonGroupUid');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_clazzParentsPersonGroupUid = $_result.d5t('clazzParentsPersonGroupUid');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_clazzCode = $_result.rz('clazzCode');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_clazzOwnerPersonUid = $_result.d5t('clazzOwnerPersonUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_Clazz_nullCount = _tmp_Clazz_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_Clazz_isAllNull = _tmp_Clazz_nullCount === 25;
      var _tmp_CourseTerminology_nullCount = 0;
      var _tmp_ctUid = $_result.d5t('ctUid');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_ctLct = $_result.d5t('ctLct');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_CourseTerminology_nullCount = _tmp_CourseTerminology_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_CourseTerminology_isAllNull = _tmp_CourseTerminology_nullCount === 4;
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzEnrolmentAndPersonDetailDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findAllClazzesByPersonWithClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ClazzEnrolment_isAllNull) {
        var tmp_42 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ClazzEnrolment();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findAllClazzesByPersonWithClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.w8n_1 = _tmp_clazzEnrolmentUid;
        this_1.x8n_1 = _tmp_clazzEnrolmentPersonUid;
        this_1.y8n_1 = _tmp_clazzEnrolmentClazzUid;
        this_1.z8n_1 = _tmp_clazzEnrolmentDateJoined;
        this_1.a8o_1 = _tmp_clazzEnrolmentDateLeft;
        this_1.b8o_1 = _tmp_clazzEnrolmentRole;
        this_1.c8o_1 = _tmp_clazzEnrolmentAttendancePercentage;
        this_1.d8o_1 = _tmp_clazzEnrolmentActive;
        this_1.e8o_1 = _tmp_clazzEnrolmentLeavingReasonUid;
        this_1.f8o_1 = _tmp_clazzEnrolmentOutcome;
        this_1.g8o_1 = _tmp_clazzEnrolmentLocalChangeSeqNum;
        this_1.h8o_1 = _tmp_clazzEnrolmentMasterChangeSeqNum;
        this_1.i8o_1 = _tmp_clazzEnrolmentLastChangedBy;
        this_1.j8o_1 = _tmp_clazzEnrolmentLct;
        tmp_42.d9b_1 = this_1;
      }
      if (!_tmp_Clazz_isAllNull) {
        var tmp_43 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new Clazz();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findAllClazzesByPersonWithClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.m8j_1 = _tmp_clazzUid;
        this_2.n8j_1 = _tmp_clazzName;
        this_2.o8j_1 = _tmp_clazzDesc;
        this_2.p8j_1 = _tmp_attendanceAverage;
        this_2.q8j_1 = _tmp_clazzHolidayUMCalendarUid;
        this_2.r8j_1 = _tmp_clazzScheuleUMCalendarUid;
        this_2.s8j_1 = _tmp_isClazzActive;
        this_2.t8j_1 = _tmp_clazzLocationUid;
        this_2.u8j_1 = _tmp_clazzStartTime;
        this_2.v8j_1 = _tmp_clazzEndTime;
        this_2.w8j_1 = _tmp_clazzFeatures;
        this_2.x8j_1 = _tmp_clazzSchoolUid;
        this_2.y8j_1 = _tmp_clazzEnrolmentPolicy;
        this_2.z8j_1 = _tmp_clazzTerminologyUid;
        this_2.a8k_1 = _tmp_clazzMasterChangeSeqNum;
        this_2.b8k_1 = _tmp_clazzLocalChangeSeqNum;
        this_2.c8k_1 = _tmp_clazzLastChangedBy;
        this_2.d8k_1 = _tmp_clazzLct;
        this_2.e8k_1 = _tmp_clazzTimeZone;
        this_2.f8k_1 = _tmp_clazzStudentsPersonGroupUid;
        this_2.g8k_1 = _tmp_clazzTeachersPersonGroupUid;
        this_2.h8k_1 = _tmp_clazzPendingStudentsPersonGroupUid;
        this_2.i8k_1 = _tmp_clazzParentsPersonGroupUid;
        this_2.j8k_1 = _tmp_clazzCode;
        this_2.k8k_1 = _tmp_clazzOwnerPersonUid;
        tmp_43.e9b_1 = this_2;
      }
      if (!_tmp_CourseTerminology_isAllNull) {
        var tmp_44 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new CourseTerminology();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.findAllClazzesByPersonWithClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.h8m_1 = _tmp_ctUid;
        this_3.i8m_1 = _tmp_ctTitle;
        this_3.j8m_1 = _tmp_ctTerminology;
        this_3.k8m_1 = _tmp_ctLct;
        tmp_44.f9b_1 = this_3;
      }
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda($accountPersonUid, $otherPersonUid, resultContinuation) {
    this.o9b_1 = $accountPersonUid;
    this.p9b_1 = $otherPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda).r9b = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda).he = function (p1, $completion) {
    return this.r9b((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.q9b_1.a5o(1, this.o9b_1);
            this.q9b_1.a5o(2, this.o9b_1);
            this.q9b_1.a5o(3, this.p9b_1);
            this.q9b_1.a5o(4, this.o9b_1);
            this.q9b_1.a5o(5, this.p9b_1);
            this.q9b_1.a5o(6, this.p9b_1);
            this.q9b_1.a5o(7, this.o9b_1);
            this.q9b_1.a5o(8, this.p9b_1);
            this.q9b_1.a5o(9, this.o9b_1);
            this.q9b_1.a5o(10, this.o9b_1);
            this.q9b_1.a5o(11, this.p9b_1);
            this.q9b_1.a5o(12, this.o9b_1);
            this.q9b_1.a5o(13, this.p9b_1);
            this.q9b_1.a5o(14, this.o9b_1);
            this.q9b_1.a5o(15, this.o9b_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.q9b_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda(this.o9b_1, this.p9b_1, completion);
    i.q9b_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda_0($accountPersonUid, $otherPersonUid, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda($accountPersonUid, $otherPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.r9b(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda$lambda(_result) {
    return mapRows(_result, ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzEnrolmentUid = $_result.d5t('clazzEnrolmentUid');
      var _tmp_clazzEnrolmentPersonUid = $_result.d5t('clazzEnrolmentPersonUid');
      var _tmp_clazzEnrolmentClazzUid = $_result.d5t('clazzEnrolmentClazzUid');
      var _tmp_clazzEnrolmentDateJoined = $_result.d5t('clazzEnrolmentDateJoined');
      var _tmp_clazzEnrolmentDateLeft = $_result.d5t('clazzEnrolmentDateLeft');
      var _tmp_clazzEnrolmentRole = $_result.c5t('clazzEnrolmentRole');
      var _tmp_clazzEnrolmentAttendancePercentage = $_result.q6c('clazzEnrolmentAttendancePercentage');
      var _tmp_clazzEnrolmentActive = $_result.o6c('clazzEnrolmentActive');
      var _tmp_clazzEnrolmentLeavingReasonUid = $_result.d5t('clazzEnrolmentLeavingReasonUid');
      var _tmp_clazzEnrolmentOutcome = $_result.c5t('clazzEnrolmentOutcome');
      var _tmp_clazzEnrolmentLocalChangeSeqNum = $_result.d5t('clazzEnrolmentLocalChangeSeqNum');
      var _tmp_clazzEnrolmentMasterChangeSeqNum = $_result.d5t('clazzEnrolmentMasterChangeSeqNum');
      var _tmp_clazzEnrolmentLastChangedBy = $_result.c5t('clazzEnrolmentLastChangedBy');
      var _tmp_clazzEnrolmentLct = $_result.d5t('clazzEnrolmentLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzEnrolment();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.getAllEnrolmentsAtTimeByClazzAndPerson.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.w8n_1 = _tmp_clazzEnrolmentUid;
      this_0.x8n_1 = _tmp_clazzEnrolmentPersonUid;
      this_0.y8n_1 = _tmp_clazzEnrolmentClazzUid;
      this_0.z8n_1 = _tmp_clazzEnrolmentDateJoined;
      this_0.a8o_1 = _tmp_clazzEnrolmentDateLeft;
      this_0.b8o_1 = _tmp_clazzEnrolmentRole;
      this_0.c8o_1 = _tmp_clazzEnrolmentAttendancePercentage;
      this_0.d8o_1 = _tmp_clazzEnrolmentActive;
      this_0.e8o_1 = _tmp_clazzEnrolmentLeavingReasonUid;
      this_0.f8o_1 = _tmp_clazzEnrolmentOutcome;
      this_0.g8o_1 = _tmp_clazzEnrolmentLocalChangeSeqNum;
      this_0.h8o_1 = _tmp_clazzEnrolmentMasterChangeSeqNum;
      this_0.i8o_1 = _tmp_clazzEnrolmentLastChangedBy;
      this_0.j8o_1 = _tmp_clazzEnrolmentLct;
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_earliestJoinDate = $_result.d5t('earliestJoinDate');
      var _tmp_latestDateLeft = $_result.d5t('latestDateLeft');
      var _tmp_enrolmentRole = $_result.c5t('enrolmentRole');
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndClazzMemberListDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.u9b_1 = _tmp_earliestJoinDate;
      this_0.v9b_1 = _tmp_latestDateLeft;
      this_0.w9b_1 = _tmp_enrolmentRole;
      if (!_tmp_Person_isAllNull) {
        var tmp_29 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_29.s9b_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_30 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_30.t9b_1 = this_2;
      }
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.j9d_1 = $clazzUid;
    this.k9d_1 = $roleId;
    this.l9d_1 = $filter;
    this.m9d_1 = $currentTime;
    this.n9d_1 = $accountPersonUid;
    this.o9d_1 = $permission;
    this.p9d_1 = $searchText;
    this.q9d_1 = $sortOrder;
    this.r9d_1 = $_limit;
    this.s9d_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda).u9d = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda).he = function (p1, $completion) {
    return this.u9d((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.t9d_1.a5o(1, this.j9d_1);
            this.t9d_1.a5o(2, this.j9d_1);
            this.t9d_1.z5n(3, this.k9d_1);
            this.t9d_1.z5n(4, this.l9d_1);
            this.t9d_1.a5o(5, this.m9d_1);
            this.t9d_1.a5o(6, this.j9d_1);
            this.t9d_1.a5o(7, this.n9d_1);
            this.t9d_1.a5o(8, this.n9d_1);
            this.t9d_1.a5o(9, this.j9d_1);
            this.t9d_1.a5o(10, this.n9d_1);
            this.t9d_1.a5o(11, this.o9d_1);
            this.t9d_1.a5o(12, this.n9d_1);
            this.t9d_1.a5o(13, this.o9d_1);
            this.t9d_1.a5o(14, this.n9d_1);
            this.t9d_1.d5o(15, this.p9d_1);
            this.t9d_1.z5n(16, this.q9d_1);
            this.t9d_1.z5n(17, this.q9d_1);
            this.t9d_1.z5n(18, this.q9d_1);
            this.t9d_1.z5n(19, this.q9d_1);
            this.t9d_1.z5n(20, this.r9d_1);
            this.t9d_1.z5n(21, this.s9d_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.t9d_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda(this.j9d_1, this.k9d_1, this.l9d_1, this.m9d_1, this.n9d_1, this.o9d_1, this.p9d_1, this.q9d_1, this.r9d_1, this.s9d_1, completion);
    i.t9d_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda_0($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.u9d(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder, resultContinuation) {
    this.d9e_1 = $clazzUid;
    this.e9e_1 = $roleId;
    this.f9e_1 = $filter;
    this.g9e_1 = $currentTime;
    this.h9e_1 = $accountPersonUid;
    this.i9e_1 = $permission;
    this.j9e_1 = $searchText;
    this.k9e_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.l9e_1.a5o(1, this.d9e_1);
            this.l9e_1.a5o(2, this.d9e_1);
            this.l9e_1.z5n(3, this.e9e_1);
            this.l9e_1.z5n(4, this.f9e_1);
            this.l9e_1.a5o(5, this.g9e_1);
            this.l9e_1.a5o(6, this.d9e_1);
            this.l9e_1.a5o(7, this.h9e_1);
            this.l9e_1.a5o(8, this.h9e_1);
            this.l9e_1.a5o(9, this.d9e_1);
            this.l9e_1.a5o(10, this.h9e_1);
            this.l9e_1.a5o(11, this.i9e_1);
            this.l9e_1.a5o(12, this.h9e_1);
            this.l9e_1.a5o(13, this.i9e_1);
            this.l9e_1.a5o(14, this.h9e_1);
            this.l9e_1.d5o(15, this.j9e_1);
            this.l9e_1.z5n(16, this.k9e_1);
            this.l9e_1.z5n(17, this.k9e_1);
            this.l9e_1.z5n(18, this.k9e_1);
            this.l9e_1.z5n(19, this.k9e_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.l9e_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda(this.d9e_1, this.e9e_1, this.f9e_1, this.g9e_1, this.h9e_1, this.i9e_1, this.j9e_1, this.k9e_1, completion);
    i.l9e_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda_0($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_earliestJoinDate = $_result.d5t('earliestJoinDate');
      var _tmp_latestDateLeft = $_result.d5t('latestDateLeft');
      var _tmp_enrolmentRole = $_result.c5t('enrolmentRole');
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndClazzMemberListDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.u9b_1 = _tmp_earliestJoinDate;
      this_0.v9b_1 = _tmp_latestDateLeft;
      this_0.w9b_1 = _tmp_enrolmentRole;
      if (!_tmp_Person_isAllNull) {
        var tmp_29 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_29.s9b_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_30 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_30.t9b_1 = this_2;
      }
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.u9e_1 = $clazzUid;
    this.v9e_1 = $roleId;
    this.w9e_1 = $filter;
    this.x9e_1 = $currentTime;
    this.y9e_1 = $accountPersonUid;
    this.z9e_1 = $searchText;
    this.a9f_1 = $sortOrder;
    this.b9f_1 = $_limit;
    this.c9f_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda).u9d = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda).he = function (p1, $completion) {
    return this.u9d((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.d9f_1.a5o(1, this.u9e_1);
            this.d9f_1.a5o(2, this.u9e_1);
            this.d9f_1.z5n(3, this.v9e_1);
            this.d9f_1.z5n(4, this.w9e_1);
            this.d9f_1.a5o(5, this.x9e_1);
            this.d9f_1.a5o(6, this.u9e_1);
            this.d9f_1.a5o(7, this.y9e_1);
            this.d9f_1.a5o(8, this.y9e_1);
            this.d9f_1.a5o(9, this.u9e_1);
            this.d9f_1.a5o(10, this.y9e_1);
            this.d9f_1.a5o(11, this.y9e_1);
            this.d9f_1.a5o(12, this.y9e_1);
            this.d9f_1.d5o(13, this.z9e_1);
            this.d9f_1.z5n(14, this.a9f_1);
            this.d9f_1.z5n(15, this.a9f_1);
            this.d9f_1.z5n(16, this.a9f_1);
            this.d9f_1.z5n(17, this.a9f_1);
            this.d9f_1.z5n(18, this.b9f_1);
            this.d9f_1.z5n(19, this.c9f_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.d9f_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda(this.u9e_1, this.v9e_1, this.w9e_1, this.x9e_1, this.y9e_1, this.z9e_1, this.a9f_1, this.b9f_1, this.c9f_1, completion);
    i.d9f_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda_0($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.u9d(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder, resultContinuation) {
    this.m9f_1 = $clazzUid;
    this.n9f_1 = $roleId;
    this.o9f_1 = $filter;
    this.p9f_1 = $currentTime;
    this.q9f_1 = $accountPersonUid;
    this.r9f_1 = $searchText;
    this.s9f_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.t9f_1.a5o(1, this.m9f_1);
            this.t9f_1.a5o(2, this.m9f_1);
            this.t9f_1.z5n(3, this.n9f_1);
            this.t9f_1.z5n(4, this.o9f_1);
            this.t9f_1.a5o(5, this.p9f_1);
            this.t9f_1.a5o(6, this.m9f_1);
            this.t9f_1.a5o(7, this.q9f_1);
            this.t9f_1.a5o(8, this.q9f_1);
            this.t9f_1.a5o(9, this.m9f_1);
            this.t9f_1.a5o(10, this.q9f_1);
            this.t9f_1.a5o(11, this.q9f_1);
            this.t9f_1.a5o(12, this.q9f_1);
            this.t9f_1.d5o(13, this.r9f_1);
            this.t9f_1.z5n(14, this.s9f_1);
            this.t9f_1.z5n(15, this.s9f_1);
            this.t9f_1.z5n(16, this.s9f_1);
            this.t9f_1.z5n(17, this.s9f_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.t9f_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda(this.m9f_1, this.n9f_1, this.o9f_1, this.p9f_1, this.q9f_1, this.r9f_1, this.s9f_1, completion);
    i.t9f_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda_0($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda($clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda$lambda(_result) {
    return mapNextRow(_result, null, ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda$lambda$lambda(_result));
  }
  function ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzName = $_result.rz('clazzName');
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseNameAndPersonName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzEnrolmentDao_JdbcImpl.getClazzNameAndPersonName.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.u9f_1 = _tmp_clazzName;
      this_0.v9f_1 = _tmp_firstNames;
      this_0.w9f_1 = _tmp_lastName;
      return this_0;
    };
  }
  function ClazzEnrolmentDao_JdbcImpl$_insertAdapterClazzEnrolment_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.x9f_1);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$_insertAdapterClazzEnrolment_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ClazzEnrolment (clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$_insertAdapterClazzEnrolment_abort$1).b9g = function (stmt, entity) {
    if (entity.w8n_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.w8n_1);
    }
    stmt.a5o(2, entity.x8n_1);
    stmt.a5o(3, entity.y8n_1);
    stmt.a5o(4, entity.z8n_1);
    stmt.a5o(5, entity.a8o_1);
    stmt.z5n(6, entity.b8o_1);
    stmt.b5o(7, entity.c8o_1);
    stmt.n5n(8, entity.d8o_1);
    stmt.a5o(9, entity.e8o_1);
    stmt.z5n(10, entity.f8o_1);
    stmt.a5o(11, entity.g8o_1);
    stmt.a5o(12, entity.h8o_1);
    stmt.z5n(13, entity.i8o_1);
    stmt.a5o(14, entity.j8o_1);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$_insertAdapterClazzEnrolment_abort$1).u5l = function (stmt, entity) {
    return this.b9g(stmt, entity instanceof ClazzEnrolment ? entity : THROW_CCE());
  };
  function ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda($entity, $_result, resultContinuation) {
    this.k9g_1 = $entity;
    this.l9g_1 = $_result;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda).q5l = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda).he = function (p1, $completion) {
    return this.q5l((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.m9g_1.a5o(1, this.k9g_1.x8n_1);
            this.m9g_1.a5o(2, this.k9g_1.y8n_1);
            this.m9g_1.a5o(3, this.k9g_1.z8n_1);
            this.m9g_1.a5o(4, this.k9g_1.a8o_1);
            this.m9g_1.z5n(5, this.k9g_1.b8o_1);
            this.m9g_1.b5o(6, this.k9g_1.c8o_1);
            this.m9g_1.n5n(7, this.k9g_1.d8o_1);
            this.m9g_1.a5o(8, this.k9g_1.e8o_1);
            this.m9g_1.z5n(9, this.k9g_1.f8o_1);
            this.m9g_1.a5o(10, this.k9g_1.g8o_1);
            this.m9g_1.a5o(11, this.k9g_1.h8o_1);
            this.m9g_1.z5n(12, this.k9g_1.i8o_1);
            this.m9g_1.a5o(13, this.k9g_1.j8o_1);
            this.m9g_1.a5o(14, this.k9g_1.w8n_1);
            this.n9g_1 = this.l9g_1._v;
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.m9g_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = this.n9g_1 + ARGUMENT | 0;
            this.l9g_1._v = ARGUMENT_0;
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda(this.k9g_1, this.l9g_1, completion);
    i.m9g_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda_0($entity, $_result, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda($entity, $_result, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.q5l(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda(this$0, $personUid, $clazzUid, resultContinuation) {
    this.w9g_1 = this$0;
    this.x9g_1 = $personUid;
    this.y9g_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda).z9g = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda).r7e = function ($completion) {
    return this.z9g($completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig("\n        SELECT ClazzEnrolment.*, LeavingReason.*, \n               COALESCE(Clazz.clazzTimeZone, 'UTC') as timeZone\n          FROM ClazzEnrolment \n               LEFT JOIN LeavingReason \n                         ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid\n               LEFT JOIN Clazz \n                         ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n         WHERE clazzEnrolmentPersonUid = CAST(? AS BIGINT) \n           AND ClazzEnrolment.clazzEnrolmentActive \n           AND clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n      ORDER BY clazzEnrolmentDateLeft DESC\n           ", VOID, VOID, VOID, "\n        SELECT ClazzEnrolment.*, LeavingReason.*, \n               COALESCE(Clazz.clazzTimeZone, 'UTC') as timeZone\n          FROM ClazzEnrolment \n               LEFT JOIN LeavingReason \n                         ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid\n               LEFT JOIN Clazz \n                         ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n         WHERE clazzEnrolmentPersonUid = ? \n           AND ClazzEnrolment.clazzEnrolmentActive \n           AND clazzEnrolmentClazzUid = ? \n      ORDER BY clazzEnrolmentDateLeft DESC\n           \n", true);
            suspendResult = prepareAndUseStatementAsync(this.w9g_1.x9f_1, tmp_0, ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda$slambda_0(this.x9g_1, this.y9g_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda).q7e = function (completion) {
    return new ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda(this.w9g_1, this.x9g_1, this.y9g_1, completion);
  };
  function ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda_0(this$0, $personUid, $clazzUid, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda(this$0, $personUid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.z9g($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda($enrolmentUid, resultContinuation) {
    this.i9h_1 = $enrolmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda).k9h = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda).he = function (p1, $completion) {
    return this.k9h((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.j9h_1.a5o(1, this.i9h_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.j9h_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda(this.i9h_1, completion);
    i.j9h_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda_0($enrolmentUid, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda($enrolmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.k9h(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda(this$0, $accountPersonUid, $otherPersonUid, resultContinuation) {
    this.t9h_1 = this$0;
    this.u9h_1 = $accountPersonUid;
    this.v9h_1 = $otherPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda).w9h = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda).r7e = function ($completion) {
    return this.w9h($completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n               /* List of all CoursePermissions that are granted to the person as per accountPersonUid */\n          WITH CoursePermissionsForAccountPerson AS (\n               \n        /* Get CoursePermissions given to the active user based on their enrolment role*/\n        SELECT CoursePermission.*\n          FROM ClazzEnrolment ClazzEnrolment_ActiveUser\n               JOIN CoursePermission \n                    ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid\n                   AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole\n         WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) \n         UNION\n        /* Get ClazzUids where the active user can view members based a grant directly to them */\n        SELECT CoursePermission.*\n          FROM CoursePermission\n         WHERE CoursePermission.cpToPersonUid  = CAST(? AS BIGINT)\n    ),\n               /* Check if CoursePermission for accountPersonUid grants view permission */\n               CanViewPersonUidViaCoursePermission(personUid) AS (\n                    SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                      FROM CoursePermissionsForAccountPerson\n                           JOIN ClazzEnrolment \n                                ON (CoursePermissionsForAccountPerson.cpPermissionsFlag & 8192) > 0\n                               AND ClazzEnrolment.clazzEnrolmentClazzUid = CoursePermissionsForAccountPerson.cpClazzUid  \n                     WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)         \n               )     \n        SELECT ClazzEnrolment.*,\n               Clazz.*,\n               CourseTerminology.*\n          FROM ClazzEnrolment\n               JOIN Clazz \n                    ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n               LEFT JOIN CourseTerminology\n                    ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n         WHERE (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n           AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n               /* Check that accountPersonUid has permission to see otherPerson */\n           AND (    (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT))\n                 OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            8192\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                 OR (SELECT CAST(? AS BIGINT) IN \n                             (SELECT CanViewPersonUidViaCoursePermission.personUid\n                                 FROM CanViewPersonUidViaCoursePermission))           \n               ) \n              /* Check that accountPersonUid has permission to see related Clazz */\n          AND (     (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT))\n                 OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            1\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                 OR (EXISTS(SELECT 1\n                              FROM CoursePermissionsForAccountPerson\n                             WHERE CoursePermissionsForAccountPerson.cpClazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n                               AND (CoursePermissionsForAccountPerson.cpPermissionsFlag & 1) > 0)) \n               )\n    ', VOID, VOID, VOID, '\n               /* List of all CoursePermissions that are granted to the person as per accountPersonUid */\n          WITH CoursePermissionsForAccountPerson AS (\n               \n        /* Get CoursePermissions given to the active user based on their enrolment role*/\n        SELECT CoursePermission.*\n          FROM ClazzEnrolment ClazzEnrolment_ActiveUser\n               JOIN CoursePermission \n                    ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid\n                   AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole\n         WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = ? \n         UNION\n        /* Get ClazzUids where the active user can view members based a grant directly to them */\n        SELECT CoursePermission.*\n          FROM CoursePermission\n         WHERE CoursePermission.cpToPersonUid  = ?\n    ),\n               /* Check if CoursePermission for accountPersonUid grants view permission */\n               CanViewPersonUidViaCoursePermission(personUid) AS (\n                    SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                      FROM CoursePermissionsForAccountPerson\n                           JOIN ClazzEnrolment \n                                ON (CoursePermissionsForAccountPerson.cpPermissionsFlag & 8192) > 0\n                               AND ClazzEnrolment.clazzEnrolmentClazzUid = CoursePermissionsForAccountPerson.cpClazzUid  \n                     WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?         \n               )     \n        SELECT ClazzEnrolment.*,\n               Clazz.*,\n               CourseTerminology.*\n          FROM ClazzEnrolment\n               JOIN Clazz \n                    ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n               LEFT JOIN CourseTerminology\n                    ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n         WHERE (? != 0 AND ? != 0)\n           AND ClazzEnrolment.clazzEnrolmentPersonUid = ?\n               /* Check that accountPersonUid has permission to see otherPerson */\n           AND (    (SELECT ? = ?)\n                 OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            8192\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                 OR (SELECT ? IN \n                             (SELECT CanViewPersonUidViaCoursePermission.personUid\n                                 FROM CanViewPersonUidViaCoursePermission))           \n               ) \n              /* Check that accountPersonUid has permission to see related Clazz */\n          AND (     (SELECT ? = ?)\n                 OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            1\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                 OR (EXISTS(SELECT 1\n                              FROM CoursePermissionsForAccountPerson\n                             WHERE CoursePermissionsForAccountPerson.cpClazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n                               AND (CoursePermissionsForAccountPerson.cpPermissionsFlag & 1) > 0)) \n               )\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.t9h_1.x9f_1, tmp_0, ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda$slambda_0(this.u9h_1, this.v9h_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda).q7e = function (completion) {
    return new ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda(this.t9h_1, this.u9h_1, this.v9h_1, completion);
  };
  function ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda_0(this$0, $accountPersonUid, $otherPersonUid, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda(this$0, $accountPersonUid, $otherPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.w9h($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda($clazzUid, $accountPersonUid, $time, resultContinuation) {
    this.f9i_1 = $clazzUid;
    this.g9i_1 = $accountPersonUid;
    this.h9i_1 = $time;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda).j9i = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda).he = function (p1, $completion) {
    return this.j9i((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.i9i_1.a5o(1, this.f9i_1);
            this.i9i_1.a5o(2, this.g9i_1);
            this.i9i_1.a5o(3, this.h9i_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.i9i_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda(this.f9i_1, this.g9i_1, this.h9i_1, completion);
    i.i9i_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda_0($clazzUid, $accountPersonUid, $time, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda($clazzUid, $accountPersonUid, $time, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.j9i(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$1(this$0, $clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $permission, $searchText, $sortOrder) {
    this.q9i_1 = this$0;
    this.r9i_1 = $clazzUid;
    this.s9i_1 = $roleId;
    this.t9i_1 = $filter;
    this.u9i_1 = $currentTime;
    this.v9i_1 = $accountPersonUid;
    this.w9i_1 = $permission;
    this.x9i_1 = $searchText;
    this.y9i_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Clazz', 'Person', 'ClazzEnrolment', 'PersonPicture', 'CoursePermission'];
    DoorLimitOffsetPagingSource.call(this, this$0.x9f_1, tmp$ret$2);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$1).z9i = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (CAST(? AS BIGINT) \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n         \n        ) > 0)\n               )\n    \n    )\n                        OR Person.personUid = CAST(? AS BIGINT)\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (? \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n         \n        ) > 0)\n               )\n    \n    )\n                        OR Person.personUid = ?\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.q9i_1.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$loadRows$slambda_0(this.r9i_1, this.s9i_1, this.t9i_1, this.u9i_1, this.v9i_1, this.w9i_1, this.x9i_1, this.y9i_1, _limit, _offset, null), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$1).b5w = function (_limit, _offset, $completion) {
    return this.z9i(_limit, _offset, $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (CAST(? AS BIGINT) \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n         \n        ) > 0)\n               )\n    \n    )\n                        OR Person.personUid = CAST(? AS BIGINT)\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (? \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n         \n        ) > 0)\n               )\n    \n    )\n                        OR Person.personUid = ?\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.q9i_1.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$o$countRows$slambda_0(this.r9i_1, this.s9i_1, this.t9i_1, this.u9i_1, this.v9i_1, this.w9i_1, this.x9i_1, this.y9i_1, null), $completion);
  };
  function ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$1(this$0, $clazzUid, $roleId, $filter, $currentTime, $accountPersonUid, $searchText, $sortOrder) {
    this.g9j_1 = this$0;
    this.h9j_1 = $clazzUid;
    this.i9j_1 = $roleId;
    this.j9j_1 = $filter;
    this.k9j_1 = $currentTime;
    this.l9j_1 = $accountPersonUid;
    this.m9j_1 = $searchText;
    this.n9j_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Clazz', 'Person', 'ClazzEnrolment', 'PersonPicture', 'CoursePermission', 'StatementEntity', 'ActorEntity'];
    DoorLimitOffsetPagingSource.call(this, this$0.x9f_1, tmp$ret$2);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$1).z9i = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                       --Dummy join so that invalidations of the StatementEntity table will trigger\n                       -- PagingSource invalidation of ClazzGradebookPagingSource\n                       LEFT JOIN StatementEntity\n                                 ON StatementEntity.statementIdHi = 0 \n                                    AND StatementEntity.statementIdLo = 0\n                       LEFT JOIN ActorEntity\n                                 ON ActorEntity.actorUid = 0\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (CAST(? AS BIGINT) \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                            \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                            \n        ) > 0)\n               )\n    )\n                        OR Person.personUid = CAST(? AS BIGINT)\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                       --Dummy join so that invalidations of the StatementEntity table will trigger\n                       -- PagingSource invalidation of ClazzGradebookPagingSource\n                       LEFT JOIN StatementEntity\n                                 ON StatementEntity.statementIdHi = 0 \n                                    AND StatementEntity.statementIdLo = 0\n                       LEFT JOIN ActorEntity\n                                 ON ActorEntity.actorUid = 0\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (? \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                            \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                            \n        ) > 0)\n               )\n    )\n                        OR Person.personUid = ?\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.g9j_1.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$loadRows$slambda_0(this.h9j_1, this.i9j_1, this.j9j_1, this.k9j_1, this.l9j_1, this.m9j_1, this.n9j_1, _limit, _offset, null), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$1).b5w = function (_limit, _offset, $completion) {
    return this.z9i(_limit, _offset, $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                       --Dummy join so that invalidations of the StatementEntity table will trigger\n                       -- PagingSource invalidation of ClazzGradebookPagingSource\n                       LEFT JOIN StatementEntity\n                                 ON StatementEntity.statementIdHi = 0 \n                                    AND StatementEntity.statementIdLo = 0\n                       LEFT JOIN ActorEntity\n                                 ON ActorEntity.actorUid = 0\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (CAST(? AS BIGINT) \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                            \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                            \n        ) > 0)\n               )\n    )\n                        OR Person.personUid = CAST(? AS BIGINT)\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                       --Dummy join so that invalidations of the StatementEntity table will trigger\n                       -- PagingSource invalidation of ClazzGradebookPagingSource\n                       LEFT JOIN StatementEntity\n                                 ON StatementEntity.statementIdHi = 0 \n                                    AND StatementEntity.statementIdLo = 0\n                       LEFT JOIN ActorEntity\n                                 ON ActorEntity.actorUid = 0\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = ? \n                           AND (? != 1 \n                                 OR (? \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                            \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                            \n        ) > 0)\n               )\n    )\n                        OR Person.personUid = ?\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE ?\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(?)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(?)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.g9j_1.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$o$countRows$slambda_0(this.h9j_1, this.i9j_1, this.j9j_1, this.k9j_1, this.l9j_1, this.m9j_1, this.n9j_1, null), $completion);
  };
  function ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda($clazzUid, $personUid, resultContinuation) {
    this.w9j_1 = $clazzUid;
    this.x9j_1 = $personUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda).z9j = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda).he = function (p1, $completion) {
    return this.z9j((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.y9j_1.a5o(1, this.w9j_1);
            this.y9j_1.a5o(2, this.x9j_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.y9j_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda(this.w9j_1, this.x9j_1, completion);
    i.y9j_1 = _stmt;
    return i;
  };
  function ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda_0($clazzUid, $personUid, resultContinuation) {
    var i = new ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda($clazzUid, $personUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.z9j(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$44(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i9k_1 = _this__u8e3s4;
    this.j9k_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$44).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.i9k_1.y9f_1.b5n(this.j9k_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$45(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.s9k_1 = _this__u8e3s4;
    this.t9k_1 = entity;
  }
  protoOf($updateAsyncCOROUTINE$45).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.u9k_1 = {_v: 0};
            this.v9k_1 = 'UPDATE ClazzEnrolment SET clazzEnrolmentPersonUid = ?, clazzEnrolmentClazzUid = ?, clazzEnrolmentDateJoined = ?, clazzEnrolmentDateLeft = ?, clazzEnrolmentRole = ?, clazzEnrolmentAttendancePercentage = ?, clazzEnrolmentActive = ?, clazzEnrolmentLeavingReasonUid = ?, clazzEnrolmentOutcome = ?, clazzEnrolmentLocalChangeSeqNum = ?, clazzEnrolmentMasterChangeSeqNum = ?, clazzEnrolmentLastChangedBy = ?, clazzEnrolmentLct = ? WHERE clazzEnrolmentUid = ?';
            this.hd_1 = 1;
            suspendResult = prepareAndUseStatementAsync_0(this.s9k_1.x9f_1, this.v9k_1, VOID, ClazzEnrolmentDao_JdbcImpl$updateAsync$slambda_0(this.t9k_1, this.u9k_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return this.u9k_1._v;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzEnrolmentDao_JdbcImpl(_db) {
    ClazzEnrolmentDao.call(this);
    this.x9f_1 = _db;
    var tmp = this;
    tmp.y9f_1 = new ClazzEnrolmentDao_JdbcImpl$_insertAdapterClazzEnrolment_abort$1(this);
  }
  protoOf(ClazzEnrolmentDao_JdbcImpl).u99 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$44(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.u99(entity instanceof ClazzEnrolment ? entity : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).a99 = function (entity, $completion) {
    var tmp = new $updateAsyncCOROUTINE$45(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).y98 = function (personUid, clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['LeavingReason', 'Clazz', 'ClazzEnrolment'];
    return doorFlow(this.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findAllEnrolmentsByPersonAndClazzUid$slambda_0(this, personUid, clazzUid, null));
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).z98 = function (enrolmentUid, $completion) {
    var tmp = new PreparedStatementConfig("\n            SELECT ClazzEnrolment.*, \n                   LeavingReason.*,\n                   COALESCE(Clazz.clazzTimeZone, 'UTC') AS timeZone\n              FROM ClazzEnrolment \n                   LEFT JOIN LeavingReason \n                             ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid\n                   LEFT JOIN Clazz \n                             ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n             WHERE ClazzEnrolment.clazzEnrolmentUid = CAST(? AS BIGINT)\n             ", VOID, VOID, VOID, "\n            SELECT ClazzEnrolment.*, \n                   LeavingReason.*,\n                   COALESCE(Clazz.clazzTimeZone, 'UTC') AS timeZone\n              FROM ClazzEnrolment \n                   LEFT JOIN LeavingReason \n                             ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid\n                   LEFT JOIN Clazz \n                             ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid\n             WHERE ClazzEnrolment.clazzEnrolmentUid = ?\n             \n", true);
    return prepareAndUseStatementAsync(this.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findEnrolmentWithLeavingReason$slambda_0(enrolmentUid, null), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).b99 = function (accountPersonUid, otherPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['SystemPermission', 'CourseTerminology', 'Clazz', 'ClazzEnrolment', 'CoursePermission'];
    return doorFlow(this.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$findAllClazzesByPersonWithClazz$slambda_0(this, accountPersonUid, otherPersonUid, null));
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).c99 = function (clazzUid, accountPersonUid, time, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT ClazzEnrolment.*\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n           AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n           AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                         AND ClazzEnrolment.clazzEnrolmentDateLeft\n           AND ClazzEnrolment.clazzEnrolmentActive              \n    ', VOID, VOID, VOID, '\n        SELECT ClazzEnrolment.*\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ?\n           AND ClazzEnrolment.clazzEnrolmentPersonUid = ?\n           AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                         AND ClazzEnrolment.clazzEnrolmentDateLeft\n           AND ClazzEnrolment.clazzEnrolmentActive              \n    \n', true);
    return prepareAndUseStatementAsync(this.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$getAllEnrolmentsAtTimeByClazzAndPerson$slambda_0(clazzUid, accountPersonUid, time, null), $completion);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).d99 = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission) {
    return new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRole$1(this, clazzUid, roleId, filter, currentTime, accountPersonUid, permission, searchText, sortOrder);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).e99 = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime) {
    return new ClazzEnrolmentDao_JdbcImpl$findByClazzUidAndRoleForGradebook$1(this, clazzUid, roleId, filter, currentTime, accountPersonUid, searchText, sortOrder);
  };
  protoOf(ClazzEnrolmentDao_JdbcImpl).f99 = function (personUid, clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT Person.firstNames, Person.lastName, Clazz.clazzName\n          FROM Person\n               LEFT JOIN Clazz\n                         ON Clazz.clazzUid = CAST(? AS BIGINT)\n        WHERE Person.personUid = CAST(? AS BIGINT)                 \n    ', VOID, VOID, VOID, '\n        SELECT Person.firstNames, Person.lastName, Clazz.clazzName\n          FROM Person\n               LEFT JOIN Clazz\n                         ON Clazz.clazzUid = ?\n        WHERE Person.personUid = ?                 \n    \n', true);
    return prepareAndUseStatementAsync(this.x9f_1, tmp, ClazzEnrolmentDao_JdbcImpl$getClazzNameAndPersonName$slambda_0(clazzUid, personUid, null), $completion);
  };
  function ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzEnrolmentDao_Repo$findEnrolmentWithLeavingReason$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzEnrolmentDao_Repo$updateAsync$slambda(this$0, $entity, resultContinuation) {
    this.e9l_1 = this$0;
    this.f9l_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_Repo$updateAsync$slambda).a90 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo$updateAsync$slambda).r7e = function ($completion) {
    return this.a90($completion);
  };
  protoOf(ClazzEnrolmentDao_Repo$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.e9l_1.i9l_1.a99(this.f9l_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_Repo$updateAsync$slambda).q7e = function (completion) {
    return new ClazzEnrolmentDao_Repo$updateAsync$slambda(this.e9l_1, this.f9l_1, completion);
  };
  function ClazzEnrolmentDao_Repo$updateAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzEnrolmentDao_Repo$updateAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.a90($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzEnrolmentDao_Repo$getAllEnrolmentsAtTimeByClazzAndPerson$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda(this$0, $clazzUid, $roleId, $sortOrder, $searchText, $filter, $accountPersonUid, $currentTime, $permission, resultContinuation) {
    this.u9l_1 = this$0;
    this.v9l_1 = $clazzUid;
    this.w9l_1 = $roleId;
    this.x9l_1 = $sortOrder;
    this.y9l_1 = $searchText;
    this.z9l_1 = $filter;
    this.a9m_1 = $accountPersonUid;
    this.b9m_1 = $currentTime;
    this.c9m_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.f9m_1 = this.u9l_1.h9l_1;
            var tmp_1 = this;
            tmp_1.g9m_1 = 'ClazzEnrolmentDao/findByClazzUidAndRole';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.h9m_1 = this.u9l_1.j9l_1;
            var tmp_3 = this;
            tmp_3.i9m_1 = this.h9m_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.u9l_1.h9l_1.a3d(), 'ClazzEnrolmentDao/findByClazzUidAndRole');
            doorNodeIdHeader(this_0, this.u9l_1.h9l_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.v9l_1));
            parameter(this_0, 'roleId', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.w9l_1));
            parameter(this_0, 'sortOrder', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.x9l_1));
            parameter(this_0, 'searchText', this.u9l_1.h9l_1.a3d().c6c_1.w4b(get_nullable(serializer_0(StringCompanionObject_instance)), this.y9l_1));
            parameter(this_0, 'filter', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.z9l_1));
            parameter(this_0, 'accountPersonUid', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.a9m_1));
            parameter(this_0, 'currentTime', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.b9m_1));
            parameter(this_0, 'permission', this.u9l_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.c9m_1));
            pagingSourceLoadParameters(this_0, this.u9l_1.h9l_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.d9m_1);
            tmp_4.j9m_1 = this_0;
            this.j9m_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.k9m_1 = this.i9m_1;
            var tmp_6 = this;
            tmp_6.l9m_1 = this.j9m_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.l9m_1, this.k9m_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.m9m_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.u9l_1.g9l_1, this.m9m_1, this.u9l_1.h9l_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.e9m_1 = endOfPaginationReached(this.m9m_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda$lambda(this.f9m_1, this.g9m_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.e9m_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda).d8c = function (_pagingParams, completion) {
    var i = new ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda(this.u9l_1, this.v9l_1, this.w9l_1, this.x9l_1, this.y9l_1, this.z9l_1, this.a9m_1, this.b9m_1, this.c9m_1, completion);
    i.d9m_1 = _pagingParams;
    return i;
  };
  function ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda_0(this$0, $clazzUid, $roleId, $sortOrder, $searchText, $filter, $accountPersonUid, $currentTime, $permission, resultContinuation) {
    var i = new ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda(this$0, $clazzUid, $roleId, $sortOrder, $searchText, $filter, $accountPersonUid, $currentTime, $permission, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda(this$0, $clazzUid, $roleId, $sortOrder, $searchText, $filter, $accountPersonUid, $currentTime, resultContinuation) {
    this.v9m_1 = this$0;
    this.w9m_1 = $clazzUid;
    this.x9m_1 = $roleId;
    this.y9m_1 = $sortOrder;
    this.z9m_1 = $searchText;
    this.a9n_1 = $filter;
    this.b9n_1 = $accountPersonUid;
    this.c9n_1 = $currentTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.f9n_1 = this.v9m_1.h9l_1;
            var tmp_1 = this;
            tmp_1.g9n_1 = 'ClazzEnrolmentDao/findByClazzUidAndRoleForGradebook';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.h9n_1 = this.v9m_1.j9l_1;
            var tmp_3 = this;
            tmp_3.i9n_1 = this.h9n_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.v9m_1.h9l_1.a3d(), 'ClazzEnrolmentDao/findByClazzUidAndRoleForGradebook');
            doorNodeIdHeader(this_0, this.v9m_1.h9l_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.v9m_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.w9m_1));
            parameter(this_0, 'roleId', this.v9m_1.h9l_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.x9m_1));
            parameter(this_0, 'sortOrder', this.v9m_1.h9l_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.y9m_1));
            parameter(this_0, 'searchText', this.v9m_1.h9l_1.a3d().c6c_1.w4b(get_nullable(serializer_0(StringCompanionObject_instance)), this.z9m_1));
            parameter(this_0, 'filter', this.v9m_1.h9l_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.a9n_1));
            parameter(this_0, 'accountPersonUid', this.v9m_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.b9n_1));
            parameter(this_0, 'currentTime', this.v9m_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.c9n_1));
            pagingSourceLoadParameters(this_0, this.v9m_1.h9l_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.d9n_1);
            tmp_4.j9n_1 = this_0;
            this.j9n_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.k9n_1 = this.i9n_1;
            var tmp_6 = this;
            tmp_6.l9n_1 = this.j9n_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.l9n_1, this.k9n_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.m9n_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.v9m_1.g9l_1, this.m9n_1, this.v9m_1.h9l_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.e9n_1 = endOfPaginationReached(this.m9n_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda$lambda(this.f9n_1, this.g9n_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.e9n_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda).d8c = function (_pagingParams, completion) {
    var i = new ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda(this.v9m_1, this.w9m_1, this.x9m_1, this.y9m_1, this.z9m_1, this.a9n_1, this.b9n_1, this.c9n_1, completion);
    i.d9n_1 = _pagingParams;
    return i;
  };
  function ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda_0(this$0, $clazzUid, $roleId, $sortOrder, $searchText, $filter, $accountPersonUid, $currentTime, resultContinuation) {
    var i = new ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda(this$0, $clazzUid, $roleId, $sortOrder, $searchText, $filter, $accountPersonUid, $currentTime, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzEnrolmentDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.v9n_1 = this$0;
    this.w9n_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzEnrolmentDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ClazzEnrolmentDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.v9n_1.i9l_1.insertAsync(this.w9n_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzEnrolmentDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ClazzEnrolmentDao_Repo$insertAsync$slambda(this.v9n_1, this.w9n_1, completion);
  };
  function ClazzEnrolmentDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzEnrolmentDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findEnrolmentWithLeavingReasonCOROUTINE$47(_this__u8e3s4, enrolmentUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.f9o_1 = _this__u8e3s4;
    this.g9o_1 = enrolmentUid;
  }
  protoOf($findEnrolmentWithLeavingReasonCOROUTINE$47).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.h9o_1 = this.f9o_1.h9l_1;
            var tmp_1 = this;
            tmp_1.i9o_1 = 'ClazzEnrolmentDao/findEnrolmentWithLeavingReason';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.j9o_1 = this.f9o_1.j9l_1;
            var tmp_3 = this;
            tmp_3.k9o_1 = this.j9o_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.f9o_1.h9l_1.a3d(), 'ClazzEnrolmentDao/findEnrolmentWithLeavingReason');
            doorNodeIdHeader(this_0, this.f9o_1.h9l_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'enrolmentUid', this.f9o_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.g9o_1));
            tmp_4.l9o_1 = this_0;
            this.l9o_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.m9o_1 = this.k9o_1;
            var tmp_6 = this;
            tmp_6.n9o_1 = this.l9o_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.n9o_1, this.m9o_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.o9o_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.f9o_1.g9l_1, this.o9o_1, this.f9o_1.h9l_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.p9o_1 = this.kd_1;
              Napier_getInstance().i5k(this.p9o_1, 'DoorLog', ClazzEnrolmentDao_Repo$findEnrolmentWithLeavingReason$lambda(this.h9o_1, this.i9o_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.f9o_1.i9l_1.z98(this.g9o_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$48(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.y9o_1 = _this__u8e3s4;
    this.z9o_1 = entity;
  }
  protoOf($updateAsyncCOROUTINE$48).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.y9o_1.h9l_1, 'ClazzEnrolment', ClazzEnrolmentDao_Repo$updateAsync$slambda_0(this.y9o_1, this.z9o_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getAllEnrolmentsAtTimeByClazzAndPersonCOROUTINE$51(_this__u8e3s4, clazzUid, accountPersonUid, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i9p_1 = _this__u8e3s4;
    this.j9p_1 = clazzUid;
    this.k9p_1 = accountPersonUid;
    this.l9p_1 = time;
  }
  protoOf($getAllEnrolmentsAtTimeByClazzAndPersonCOROUTINE$51).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.m9p_1 = this.i9p_1.h9l_1;
            var tmp_1 = this;
            tmp_1.n9p_1 = 'ClazzEnrolmentDao/getAllEnrolmentsAtTimeByClazzAndPerson';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.o9p_1 = this.i9p_1.j9l_1;
            var tmp_3 = this;
            tmp_3.p9p_1 = this.o9p_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.i9p_1.h9l_1.a3d(), 'ClazzEnrolmentDao/getAllEnrolmentsAtTimeByClazzAndPerson');
            doorNodeIdHeader(this_0, this.i9p_1.h9l_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.i9p_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.j9p_1));
            parameter(this_0, 'accountPersonUid', this.i9p_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.k9p_1));
            parameter(this_0, 'time', this.i9p_1.h9l_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.l9p_1));
            tmp_4.q9p_1 = this_0;
            this.q9p_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.r9p_1 = this.p9p_1;
            var tmp_6 = this;
            tmp_6.s9p_1 = this.q9p_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.s9p_1, this.r9p_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.t9p_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.i9p_1.g9l_1, this.t9p_1, this.i9p_1.h9l_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.u9p_1 = this.kd_1;
              Napier_getInstance().i5k(this.u9p_1, 'DoorLog', ClazzEnrolmentDao_Repo$getAllEnrolmentsAtTimeByClazzAndPerson$lambda(this.m9p_1, this.n9p_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.i9p_1.i9l_1.c99(this.j9p_1, this.k9p_1, this.l9p_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getClazzNameAndPersonNameCOROUTINE$60(_this__u8e3s4, personUid, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d9q_1 = _this__u8e3s4;
    this.e9q_1 = personUid;
    this.f9q_1 = clazzUid;
  }
  protoOf($getClazzNameAndPersonNameCOROUTINE$60).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.d9q_1.i9l_1.f99(this.e9q_1, this.f9q_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$62(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o9q_1 = _this__u8e3s4;
    this.p9q_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$62).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.o9q_1.h9l_1, 'ClazzEnrolment', ClazzEnrolmentDao_Repo$insertAsync$slambda_0(this.o9q_1, this.p9q_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzEnrolmentDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ClazzEnrolmentDao.call(this);
    this.g9l_1 = _db;
    this.h9l_1 = _repo;
    this.i9l_1 = _dao;
    this.j9l_1 = _httpClient;
    this.k9l_1 = _clientId;
    this.l9l_1 = _endpoint;
  }
  protoOf(ClazzEnrolmentDao_Repo).y98 = function (personUid, clazzUid) {
    var _result = this.i9l_1.y98(personUid, clazzUid);
    return _result;
  };
  protoOf(ClazzEnrolmentDao_Repo).z98 = function (enrolmentUid, $completion) {
    var tmp = new $findEnrolmentWithLeavingReasonCOROUTINE$47(this, enrolmentUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo).a99 = function (entity, $completion) {
    var tmp = new $updateAsyncCOROUTINE$48(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo).b99 = function (accountPersonUid, otherPersonUid) {
    var _result = this.i9l_1.b99(accountPersonUid, otherPersonUid);
    return _result;
  };
  protoOf(ClazzEnrolmentDao_Repo).c99 = function (clazzUid, accountPersonUid, time, $completion) {
    var tmp = new $getAllEnrolmentsAtTimeByClazzAndPersonCOROUTINE$51(this, clazzUid, accountPersonUid, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo).d99 = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission) {
    var tmp = this.i9l_1.d99(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission);
    return new DoorRepositoryReplicatePullPagingSource(this.h9l_1, 'ClazzEnrolmentDao/findByClazzUidAndRole', tmp, ClazzEnrolmentDao_Repo$findByClazzUidAndRole$slambda_0(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission, null));
  };
  protoOf(ClazzEnrolmentDao_Repo).e99 = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime) {
    var tmp = this.i9l_1.e99(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime);
    return new DoorRepositoryReplicatePullPagingSource(this.h9l_1, 'ClazzEnrolmentDao/findByClazzUidAndRoleForGradebook', tmp, ClazzEnrolmentDao_Repo$findByClazzUidAndRoleForGradebook$slambda_0(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, null));
  };
  protoOf(ClazzEnrolmentDao_Repo).f99 = function (personUid, clazzUid, $completion) {
    var tmp = new $getClazzNameAndPersonNameCOROUTINE$60(this, personUid, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo).u99 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$62(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzEnrolmentDao_Repo).insertAsync = function (entity, $completion) {
    return this.u99(entity instanceof ClazzEnrolment ? entity : THROW_CCE(), $completion);
  };
  function ClazzLogAttendanceRecordDao() {
  }
  function $upsertListAsyncCOROUTINE$64(_this__u8e3s4, entityList, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.a9r_1 = _this__u8e3s4;
    this.b9r_1 = entityList;
  }
  protoOf($upsertListAsyncCOROUTINE$64).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.c9r_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.a9r_1.j9r_1));
            var tmp_0 = this;
            tmp_0.d9r_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.e9r_1 = this.b9r_1.w();
            var tmp_2 = this;
            tmp_2.f9r_1 = this.e9r_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.f9r_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.g9r_1 = this.f9r_1.e();
            var tmp_3 = this;
            tmp_3.h9r_1 = this.g9r_1;
            if (this.h9r_1.l9r_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.c9r_1.t68(15, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.i9r_1 = suspendResult;
            this.h9r_1.l9r_1 = this.i9r_1;
            var this_0 = this.d9r_1;
            var element = this.i9r_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.h9r_1.s9r_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.a9r_1.k9r_1.r9q(this.b9r_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$65(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.b9s_1 = _this__u8e3s4;
    this.c9s_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$65).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.d9s_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.b9s_1.j9r_1));
            if (this.c9s_1.l9r_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.d9s_1.t68(15, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.e9s_1 = suspendResult;
            this.c9s_1.l9r_1 = this.e9s_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.c9s_1.s9r_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.b9s_1.k9r_1.insertAsync(this.c9s_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.c9s_1.l9r_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzLogAttendanceRecordDao_DoorWrapper(_db, _dao) {
    ClazzLogAttendanceRecordDao.call(this);
    this.j9r_1 = _db;
    this.k9r_1 = _dao;
  }
  protoOf(ClazzLogAttendanceRecordDao_DoorWrapper).q9q = function (clazzUid, clazzLogUid, time, $completion) {
    return this.k9r_1.q9q(clazzUid, clazzLogUid, time, $completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_DoorWrapper).r9q = function (entityList, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$64(this, entityList, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_DoorWrapper).f9s = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$65(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.f9s(entity instanceof ClazzLogAttendanceRecord ? entity : THROW_CCE(), $completion);
  };
  function ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda$lambda(_result) {
    return mapRows(_result, ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda$lambda$lambda(_result));
  }
  function ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      var _tmp_ClazzLogAttendanceRecord_nullCount = 0;
      var _tmp_clazzLogAttendanceRecordUid = $_result.d5t('clazzLogAttendanceRecordUid');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_clazzLogAttendanceRecordClazzLogUid = $_result.d5t('clazzLogAttendanceRecordClazzLogUid');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_clazzLogAttendanceRecordPersonUid = $_result.d5t('clazzLogAttendanceRecordPersonUid');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_attendanceStatus = $_result.c5t('attendanceStatus');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_clazzLogAttendanceRecordMasterChangeSeqNum = $_result.d5t('clazzLogAttendanceRecordMasterChangeSeqNum');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_clazzLogAttendanceRecordLocalChangeSeqNum = $_result.d5t('clazzLogAttendanceRecordLocalChangeSeqNum');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_clazzLogAttendanceRecordLastChangedBy = $_result.c5t('clazzLogAttendanceRecordLastChangedBy');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_clazzLogAttendanceRecordLastChangedTime = $_result.d5t('clazzLogAttendanceRecordLastChangedTime');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ClazzLogAttendanceRecord_nullCount = _tmp_ClazzLogAttendanceRecord_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_ClazzLogAttendanceRecord_isAllNull = _tmp_ClazzLogAttendanceRecord_nullCount === 8;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndClazzLogAttendanceRecord();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzLogAttendanceRecordDao_JdbcImpl.findByClazzAndTime.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_37 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzLogAttendanceRecordDao_JdbcImpl.findByClazzAndTime.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_37.g9s_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_38 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzLogAttendanceRecordDao_JdbcImpl.findByClazzAndTime.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_38.h9s_1 = this_2;
      }
      if (!_tmp_ClazzLogAttendanceRecord_isAllNull) {
        var tmp_39 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ClazzLogAttendanceRecord();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ClazzLogAttendanceRecordDao_JdbcImpl.findByClazzAndTime.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.l9r_1 = _tmp_clazzLogAttendanceRecordUid;
        this_3.m9r_1 = _tmp_clazzLogAttendanceRecordClazzLogUid;
        this_3.n9r_1 = _tmp_clazzLogAttendanceRecordPersonUid;
        this_3.o9r_1 = _tmp_attendanceStatus;
        this_3.p9r_1 = _tmp_clazzLogAttendanceRecordMasterChangeSeqNum;
        this_3.q9r_1 = _tmp_clazzLogAttendanceRecordLocalChangeSeqNum;
        this_3.r9r_1 = _tmp_clazzLogAttendanceRecordLastChangedBy;
        this_3.s9r_1 = _tmp_clazzLogAttendanceRecordLastChangedTime;
        tmp_39.i9s_1 = this_3;
      }
      return this_0;
    };
  }
  function ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.j9s_1);
  }
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_abort$1).o9s = function (stmt, entity) {
    if (entity.l9r_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.l9r_1);
    }
    stmt.a5o(2, entity.m9r_1);
    stmt.a5o(3, entity.n9r_1);
    stmt.z5n(4, entity.o9r_1);
    stmt.a5o(5, entity.p9r_1);
    stmt.a5o(6, entity.q9r_1);
    stmt.z5n(7, entity.r9r_1);
    stmt.a5o(8, entity.s9r_1);
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_abort$1).u5l = function (stmt, entity) {
    return this.o9s(stmt, entity instanceof ClazzLogAttendanceRecord ? entity : THROW_CCE());
  };
  function ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.j9s_1);
  }
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_upsert$1).o9s = function (stmt, entity) {
    if (entity.l9r_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.l9r_1);
    }
    stmt.a5o(2, entity.m9r_1);
    stmt.a5o(3, entity.n9r_1);
    stmt.z5n(4, entity.o9r_1);
    stmt.a5o(5, entity.p9r_1);
    stmt.a5o(6, entity.q9r_1);
    stmt.z5n(7, entity.r9r_1);
    stmt.a5o(8, entity.s9r_1);
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_upsert$1).u5l = function (stmt, entity) {
    return this.o9s(stmt, entity instanceof ClazzLogAttendanceRecord ? entity : THROW_CCE());
  };
  function ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda($clazzUid, $time, $clazzLogUid, resultContinuation) {
    this.z9s_1 = $clazzUid;
    this.a9t_1 = $time;
    this.b9t_1 = $clazzLogUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda).d9t = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda).he = function (p1, $completion) {
    return this.d9t((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.c9t_1.a5o(1, this.z9s_1);
            this.c9t_1.a5o(2, this.a9t_1);
            this.c9t_1.a5o(3, this.b9t_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.c9t_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda(this.z9s_1, this.a9t_1, this.b9t_1, completion);
    i.c9t_1 = _stmt;
    return i;
  };
  function ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda_0($clazzUid, $time, $clazzLogUid, resultContinuation) {
    var i = new ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda($clazzUid, $time, $clazzLogUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.d9t(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$66(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.m9t_1 = _this__u8e3s4;
    this.n9t_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$66).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.m9t_1.k9s_1.b5n(this.n9t_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzLogAttendanceRecordDao_JdbcImpl(_db) {
    ClazzLogAttendanceRecordDao.call(this);
    this.j9s_1 = _db;
    var tmp = this;
    tmp.k9s_1 = new ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_abort$1(this);
    var tmp_0 = this;
    tmp_0.l9s_1 = new ClazzLogAttendanceRecordDao_JdbcImpl$_insertAdapterClazzLogAttendanceRecord_upsert$1(this);
  }
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl).r9q = function (entityList, $completion) {
    return this.l9s_1.e5n(entityList, $completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl).f9s = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$66(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.f9s(entity instanceof ClazzLogAttendanceRecord ? entity : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_JdbcImpl).q9q = function (clazzUid, clazzLogUid, time, $completion) {
    var tmp = new PreparedStatementConfig('\n        \n        WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS\n              (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid\n                 FROM ClazzEnrolment\n                WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n                  AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                  AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft)\n    \n                  \n        SELECT Person.*, ClazzLogAttendanceRecord.*, PersonPicture.*\n          FROM Person\n               LEFT JOIN ClazzLogAttendanceRecord \n                         ON ClazzLogAttendanceRecord.clazzLogAttendanceRecordUid = \n                            (SELECT ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordUid  \n                               FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecordInner\n                              WHERE ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordClazzLogUid = CAST(? AS BIGINT)\n                                AND ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordPersonUid = Person.personUid\n                           ORDER BY ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordLastChangedTime DESC     \n                              LIMIT 1  \n                            )\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid\n         WHERE Person.personUid IN \n               (SELECT CurrentlyEnrolledPersonUids.enroledPersonUid\n                  FROM CurrentlyEnrolledPersonUids)                \n    ', VOID, VOID, VOID, '\n        \n        WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS\n              (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid\n                 FROM ClazzEnrolment\n                WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ?\n                  AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                  AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft)\n    \n                  \n        SELECT Person.*, ClazzLogAttendanceRecord.*, PersonPicture.*\n          FROM Person\n               LEFT JOIN ClazzLogAttendanceRecord \n                         ON ClazzLogAttendanceRecord.clazzLogAttendanceRecordUid = \n                            (SELECT ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordUid  \n                               FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecordInner\n                              WHERE ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordClazzLogUid = ?\n                                AND ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordPersonUid = Person.personUid\n                           ORDER BY ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordLastChangedTime DESC     \n                              LIMIT 1  \n                            )\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid\n         WHERE Person.personUid IN \n               (SELECT CurrentlyEnrolledPersonUids.enroledPersonUid\n                  FROM CurrentlyEnrolledPersonUids)                \n    \n', true);
    return prepareAndUseStatementAsync(this.j9s_1, tmp, ClazzLogAttendanceRecordDao_JdbcImpl$findByClazzAndTime$slambda_0(clazzUid, time, clazzLogUid, null), $completion);
  };
  function ClazzLogAttendanceRecordDao_Repo$findByClazzAndTime$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda(this$0, $entityList, resultContinuation) {
    this.w9t_1 = this$0;
    this.x9t_1 = $entityList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.w9t_1.a9u_1.r9q(this.x9t_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda(this.w9t_1, this.x9t_1, completion);
  };
  function ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda_0(this$0, $entityList, resultContinuation) {
    var i = new ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda(this$0, $entityList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.m9u_1 = this$0;
    this.n9u_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.m9u_1.a9u_1.insertAsync(this.n9u_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda(this.m9u_1, this.n9u_1, completion);
  };
  function ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByClazzAndTimeCOROUTINE$68(_this__u8e3s4, clazzUid, clazzLogUid, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w9u_1 = _this__u8e3s4;
    this.x9u_1 = clazzUid;
    this.y9u_1 = clazzLogUid;
    this.z9u_1 = time;
  }
  protoOf($findByClazzAndTimeCOROUTINE$68).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.a9v_1 = this.w9u_1.z9t_1;
            var tmp_1 = this;
            tmp_1.b9v_1 = 'ClazzLogAttendanceRecordDao/findByClazzAndTime';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.c9v_1 = this.w9u_1.b9u_1;
            var tmp_3 = this;
            tmp_3.d9v_1 = this.c9v_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.w9u_1.z9t_1.a3d(), 'ClazzLogAttendanceRecordDao/findByClazzAndTime');
            doorNodeIdHeader(this_0, this.w9u_1.z9t_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.w9u_1.z9t_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.x9u_1));
            parameter(this_0, 'clazzLogUid', this.w9u_1.z9t_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.y9u_1));
            parameter(this_0, 'time', this.w9u_1.z9t_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.z9u_1));
            tmp_4.e9v_1 = this_0;
            this.e9v_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.f9v_1 = this.d9v_1;
            var tmp_6 = this;
            tmp_6.g9v_1 = this.e9v_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.g9v_1, this.f9v_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.h9v_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.w9u_1.y9t_1, this.h9v_1, this.w9u_1.z9t_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.i9v_1 = this.kd_1;
              Napier_getInstance().i5k(this.i9v_1, 'DoorLog', ClazzLogAttendanceRecordDao_Repo$findByClazzAndTime$lambda(this.a9v_1, this.b9v_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.w9u_1.a9u_1.q9q(this.x9u_1, this.y9u_1, this.z9u_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$69(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.r9v_1 = _this__u8e3s4;
    this.s9v_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$69).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.r9v_1.z9t_1, 'ClazzLogAttendanceRecord', ClazzLogAttendanceRecordDao_Repo$insertAsync$slambda_0(this.r9v_1, this.s9v_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzLogAttendanceRecordDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ClazzLogAttendanceRecordDao.call(this);
    this.y9t_1 = _db;
    this.z9t_1 = _repo;
    this.a9u_1 = _dao;
    this.b9u_1 = _httpClient;
    this.c9u_1 = _clientId;
    this.d9u_1 = _endpoint;
  }
  protoOf(ClazzLogAttendanceRecordDao_Repo).q9q = function (clazzUid, clazzLogUid, time, $completion) {
    var tmp = new $findByClazzAndTimeCOROUTINE$68(this, clazzUid, clazzLogUid, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo).r9q = function (entityList, $completion) {
    return withRepoChangeMonitorAsync(this.z9t_1, 'ClazzLogAttendanceRecord', ClazzLogAttendanceRecordDao_Repo$upsertListAsync$slambda_0(this, entityList, null), $completion);
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo).f9s = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$69(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogAttendanceRecordDao_Repo).insertAsync = function (entity, $completion) {
    return this.f9s(entity instanceof ClazzLogAttendanceRecord ? entity : THROW_CCE(), $completion);
  };
  function ClazzLogDao() {
  }
  function $upsertListAsyncCOROUTINE$70(_this__u8e3s4, entityList, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.g9w_1 = _this__u8e3s4;
    this.h9w_1 = entityList;
  }
  protoOf($upsertListAsyncCOROUTINE$70).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.i9w_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.g9w_1.p9w_1));
            var tmp_0 = this;
            tmp_0.j9w_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.k9w_1 = this.h9w_1.w();
            var tmp_2 = this;
            tmp_2.l9w_1 = this.k9w_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.l9w_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.m9w_1 = this.l9w_1.e();
            var tmp_3 = this;
            tmp_3.n9w_1 = this.m9w_1;
            if (this.n9w_1.r9w_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.i9w_1.t68(14, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.o9w_1 = suspendResult;
            this.n9w_1.r9w_1 = this.o9w_1;
            var this_0 = this.j9w_1;
            var element = this.o9w_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.n9w_1.g9x_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.g9w_1.q9w_1.x9v(this.h9w_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$71(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.p9x_1 = _this__u8e3s4;
    this.q9x_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$71).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.r9x_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.p9x_1.p9w_1));
            if (this.q9x_1.r9w_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.r9x_1.t68(14, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.s9x_1 = suspendResult;
            this.q9x_1.r9w_1 = this.s9x_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.q9x_1.g9x_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.p9x_1.q9w_1.insertAsync(this.q9x_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.q9x_1.r9w_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzLogDao_DoorWrapper(_db, _dao) {
    ClazzLogDao.call(this);
    this.p9w_1 = _db;
    this.q9w_1 = _dao;
  }
  protoOf(ClazzLogDao_DoorWrapper).t9v = function (clazzUid, excludeStatus) {
    return this.q9w_1.t9v(clazzUid, excludeStatus);
  };
  protoOf(ClazzLogDao_DoorWrapper).u9v = function (clazzUid, excludeStatus, $completion) {
    return this.q9w_1.u9v(clazzUid, excludeStatus, $completion);
  };
  protoOf(ClazzLogDao_DoorWrapper).v9v = function (clazzUid, excludeStatusFilter) {
    return this.q9w_1.v9v(clazzUid, excludeStatusFilter);
  };
  protoOf(ClazzLogDao_DoorWrapper).w9v = function (clazzUid, $completion) {
    return this.q9w_1.w9v(clazzUid, $completion);
  };
  protoOf(ClazzLogDao_DoorWrapper).x9v = function (entityList, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$70(this, entityList, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_DoorWrapper).t9x = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$71(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.t9x(entity instanceof ClazzLog ? entity : THROW_CCE(), $completion);
  };
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzLogUid = $_result.d5t('clazzLogUid');
      var _tmp_clazzLogClazzUid = $_result.d5t('clazzLogClazzUid');
      var _tmp_logDate = $_result.d5t('logDate');
      var _tmp_timeRecorded = $_result.d5t('timeRecorded');
      var _tmp_clazzLogDone = $_result.o6c('clazzLogDone');
      var _tmp_cancellationNote = $_result.rz('cancellationNote');
      var _tmp_clazzLogCancelled = $_result.o6c('clazzLogCancelled');
      var _tmp_clazzLogNumPresent = $_result.c5t('clazzLogNumPresent');
      var _tmp_clazzLogNumAbsent = $_result.c5t('clazzLogNumAbsent');
      var _tmp_clazzLogNumPartial = $_result.c5t('clazzLogNumPartial');
      var _tmp_clazzLogScheduleUid = $_result.d5t('clazzLogScheduleUid');
      var _tmp_clazzLogStatusFlag = $_result.c5t('clazzLogStatusFlag');
      var _tmp_clazzLogMSQN = $_result.d5t('clazzLogMSQN');
      var _tmp_clazzLogLCSN = $_result.d5t('clazzLogLCSN');
      var _tmp_clazzLogLCB = $_result.c5t('clazzLogLCB');
      var _tmp_clazzLogLastChangedTime = $_result.d5t('clazzLogLastChangedTime');
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzLog();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.r9w_1 = _tmp_clazzLogUid;
      this_0.s9w_1 = _tmp_clazzLogClazzUid;
      this_0.t9w_1 = _tmp_logDate;
      this_0.u9w_1 = _tmp_timeRecorded;
      this_0.v9w_1 = _tmp_clazzLogDone;
      this_0.w9w_1 = _tmp_cancellationNote;
      this_0.x9w_1 = _tmp_clazzLogCancelled;
      this_0.y9w_1 = _tmp_clazzLogNumPresent;
      this_0.z9w_1 = _tmp_clazzLogNumAbsent;
      this_0.a9x_1 = _tmp_clazzLogNumPartial;
      this_0.b9x_1 = _tmp_clazzLogScheduleUid;
      this_0.c9x_1 = _tmp_clazzLogStatusFlag;
      this_0.d9x_1 = _tmp_clazzLogMSQN;
      this_0.e9x_1 = _tmp_clazzLogLCSN;
      this_0.f9x_1 = _tmp_clazzLogLCB;
      this_0.g9x_1 = _tmp_clazzLogLastChangedTime;
      return this_0;
    };
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda$lambda$lambda(_result));
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda($clazzUid, $excludeStatus, $_limit, $_offset, resultContinuation) {
    this.c9y_1 = $clazzUid;
    this.d9y_1 = $excludeStatus;
    this.e9y_1 = $_limit;
    this.f9y_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda).h9y = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda).he = function (p1, $completion) {
    return this.h9y((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.g9y_1.a5o(1, this.c9y_1);
            this.g9y_1.z5n(2, this.d9y_1);
            this.g9y_1.z5n(3, this.e9y_1);
            this.g9y_1.z5n(4, this.f9y_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.g9y_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda(this.c9y_1, this.d9y_1, this.e9y_1, this.f9y_1, completion);
    i.g9y_1 = _stmt;
    return i;
  };
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda_0($clazzUid, $excludeStatus, $_limit, $_offset, resultContinuation) {
    var i = new ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda($clazzUid, $excludeStatus, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.h9y(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda($clazzUid, $excludeStatus, resultContinuation) {
    this.q9y_1 = $clazzUid;
    this.r9y_1 = $excludeStatus;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.s9y_1.a5o(1, this.q9y_1);
            this.s9y_1.z5n(2, this.r9y_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.s9y_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda(this.q9y_1, this.r9y_1, completion);
    i.s9y_1 = _stmt;
    return i;
  };
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda_0($clazzUid, $excludeStatus, resultContinuation) {
    var i = new ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda($clazzUid, $excludeStatus, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda$lambda(_result) {
    return mapRows(_result, ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda$lambda$lambda(_result));
  }
  function ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzLogUid = $_result.d5t('clazzLogUid');
      var _tmp_clazzLogClazzUid = $_result.d5t('clazzLogClazzUid');
      var _tmp_logDate = $_result.d5t('logDate');
      var _tmp_timeRecorded = $_result.d5t('timeRecorded');
      var _tmp_clazzLogDone = $_result.o6c('clazzLogDone');
      var _tmp_cancellationNote = $_result.rz('cancellationNote');
      var _tmp_clazzLogCancelled = $_result.o6c('clazzLogCancelled');
      var _tmp_clazzLogNumPresent = $_result.c5t('clazzLogNumPresent');
      var _tmp_clazzLogNumAbsent = $_result.c5t('clazzLogNumAbsent');
      var _tmp_clazzLogNumPartial = $_result.c5t('clazzLogNumPartial');
      var _tmp_clazzLogScheduleUid = $_result.d5t('clazzLogScheduleUid');
      var _tmp_clazzLogStatusFlag = $_result.c5t('clazzLogStatusFlag');
      var _tmp_clazzLogMSQN = $_result.d5t('clazzLogMSQN');
      var _tmp_clazzLogLCSN = $_result.d5t('clazzLogLCSN');
      var _tmp_clazzLogLCB = $_result.c5t('clazzLogLCB');
      var _tmp_clazzLogLastChangedTime = $_result.d5t('clazzLogLastChangedTime');
      // Inline function 'kotlin.apply' call
      var this_0 = new ClazzLog();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ClazzLogDao_JdbcImpl.findByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.r9w_1 = _tmp_clazzLogUid;
      this_0.s9w_1 = _tmp_clazzLogClazzUid;
      this_0.t9w_1 = _tmp_logDate;
      this_0.u9w_1 = _tmp_timeRecorded;
      this_0.v9w_1 = _tmp_clazzLogDone;
      this_0.w9w_1 = _tmp_cancellationNote;
      this_0.x9w_1 = _tmp_clazzLogCancelled;
      this_0.y9w_1 = _tmp_clazzLogNumPresent;
      this_0.z9w_1 = _tmp_clazzLogNumAbsent;
      this_0.a9x_1 = _tmp_clazzLogNumPartial;
      this_0.b9x_1 = _tmp_clazzLogScheduleUid;
      this_0.c9x_1 = _tmp_clazzLogStatusFlag;
      this_0.d9x_1 = _tmp_clazzLogMSQN;
      this_0.e9x_1 = _tmp_clazzLogLCSN;
      this_0.f9x_1 = _tmp_clazzLogLCB;
      this_0.g9x_1 = _tmp_clazzLogLastChangedTime;
      return this_0;
    };
  }
  function ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, false, ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda$lambda$lambda(_result));
  }
  function ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda($clazzUid, $excludeStatusFilter, resultContinuation) {
    this.b9z_1 = $clazzUid;
    this.c9z_1 = $excludeStatusFilter;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.d9z_1.a5o(1, this.b9z_1);
            this.d9z_1.z5n(2, this.c9z_1);
            this.d9z_1.z5n(3, this.c9z_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.d9z_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda(this.b9z_1, this.c9z_1, completion);
    i.d9z_1 = _stmt;
    return i;
  };
  function ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda_0($clazzUid, $excludeStatusFilter, resultContinuation) {
    var i = new ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda($clazzUid, $excludeStatusFilter, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda$lambda(_result) {
    var tmp = new Long(0, 0);
    return mapNextRow(_result, tmp, ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda$lambda$lambda(_result));
  }
  function ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.e5l(1);
    };
  }
  function ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.f9z_1);
  }
  protoOf(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_upsert$1).k9z = function (stmt, entity) {
    if (entity.r9w_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.r9w_1);
    }
    stmt.a5o(2, entity.s9w_1);
    stmt.a5o(3, entity.t9w_1);
    stmt.a5o(4, entity.u9w_1);
    stmt.n5n(5, entity.v9w_1);
    stmt.d5o(6, entity.w9w_1);
    stmt.n5n(7, entity.x9w_1);
    stmt.z5n(8, entity.y9w_1);
    stmt.z5n(9, entity.z9w_1);
    stmt.z5n(10, entity.a9x_1);
    stmt.a5o(11, entity.b9x_1);
    stmt.z5n(12, entity.c9x_1);
    stmt.a5o(13, entity.d9x_1);
    stmt.a5o(14, entity.e9x_1);
    stmt.z5n(15, entity.f9x_1);
    stmt.a5o(16, entity.g9x_1);
  };
  protoOf(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_upsert$1).u5l = function (stmt, entity) {
    return this.k9z(stmt, entity instanceof ClazzLog ? entity : THROW_CCE());
  };
  function ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.f9z_1);
  }
  protoOf(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_abort$1).k9z = function (stmt, entity) {
    if (entity.r9w_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.r9w_1);
    }
    stmt.a5o(2, entity.s9w_1);
    stmt.a5o(3, entity.t9w_1);
    stmt.a5o(4, entity.u9w_1);
    stmt.n5n(5, entity.v9w_1);
    stmt.d5o(6, entity.w9w_1);
    stmt.n5n(7, entity.x9w_1);
    stmt.z5n(8, entity.y9w_1);
    stmt.z5n(9, entity.z9w_1);
    stmt.z5n(10, entity.a9x_1);
    stmt.a5o(11, entity.b9x_1);
    stmt.z5n(12, entity.c9x_1);
    stmt.a5o(13, entity.d9x_1);
    stmt.a5o(14, entity.e9x_1);
    stmt.z5n(15, entity.f9x_1);
    stmt.a5o(16, entity.g9x_1);
  };
  protoOf(ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_abort$1).u5l = function (stmt, entity) {
    return this.k9z(stmt, entity instanceof ClazzLog ? entity : THROW_CCE());
  };
  function ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$1(this$0, $clazzUid, $excludeStatus) {
    this.t9z_1 = this$0;
    this.u9z_1 = $clazzUid;
    this.v9z_1 = $excludeStatus;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['ClazzLog'];
    DoorLimitOffsetPagingSource.call(this, this$0.f9z_1, tmp$ret$2);
  }
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$1).w9z = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT ClazzLog.* \n          FROM ClazzLog \n         WHERE clazzLogClazzUid = CAST(? AS BIGINT)\n           AND clazzLog.clazzLogStatusFlag != ?\n      ORDER BY ClazzLog.logDate DESC\n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT ClazzLog.* \n          FROM ClazzLog \n         WHERE clazzLogClazzUid = ?\n           AND clazzLog.clazzLogStatusFlag != ?\n      ORDER BY ClazzLog.logDate DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.t9z_1.f9z_1, tmp, ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$loadRows$slambda_0(this.u9z_1, this.v9z_1, _limit, _offset, null), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$1).b5w = function (_limit, _offset, $completion) {
    return this.w9z(_limit, _offset, $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT ClazzLog.* \n          FROM ClazzLog \n         WHERE clazzLogClazzUid = CAST(? AS BIGINT)\n           AND clazzLog.clazzLogStatusFlag != ?\n      ORDER BY ClazzLog.logDate DESC\n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT ClazzLog.* \n          FROM ClazzLog \n         WHERE clazzLogClazzUid = ?\n           AND clazzLog.clazzLogStatusFlag != ?\n      ORDER BY ClazzLog.logDate DESC\n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.t9z_1.f9z_1, tmp, ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$o$countRows$slambda_0(this.u9z_1, this.v9z_1, null), $completion);
  };
  function ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda($clazzUid, $excludeStatus, resultContinuation) {
    this.fa0_1 = $clazzUid;
    this.ga0_1 = $excludeStatus;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda).h9y = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda).he = function (p1, $completion) {
    return this.h9y((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ha0_1.a5o(1, this.fa0_1);
            this.ha0_1.z5n(2, this.ga0_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ha0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda(this.fa0_1, this.ga0_1, completion);
    i.ha0_1 = _stmt;
    return i;
  };
  function ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda_0($clazzUid, $excludeStatus, resultContinuation) {
    var i = new ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda($clazzUid, $excludeStatus, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.h9y(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda(this$0, $clazzUid, $excludeStatusFilter, resultContinuation) {
    this.qa0_1 = this$0;
    this.ra0_1 = $clazzUid;
    this.sa0_1 = $excludeStatusFilter;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda).ta0 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda).r7e = function ($completion) {
    return this.ta0($completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT EXISTS\n               (SELECT ClazzLog.clazzLogUid \n                  FROM ClazzLog \n                 WHERE clazzLogClazzUid = CAST(? AS BIGINT) \n                 AND (? = 0 \n                      OR ((ClazzLog.clazzLogStatusFlag & ?) = 0))\n               )\n    ', VOID, VOID, VOID, '\n        SELECT EXISTS\n               (SELECT ClazzLog.clazzLogUid \n                  FROM ClazzLog \n                 WHERE clazzLogClazzUid = ? \n                 AND (? = 0 \n                      OR ((ClazzLog.clazzLogStatusFlag & ?) = 0))\n               )\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.qa0_1.f9z_1, tmp_0, ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda$slambda_0(this.ra0_1, this.sa0_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda).q7e = function (completion) {
    return new ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda(this.qa0_1, this.ra0_1, this.sa0_1, completion);
  };
  function ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda_0(this$0, $clazzUid, $excludeStatusFilter, resultContinuation) {
    var i = new ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda(this$0, $clazzUid, $excludeStatusFilter, resultContinuation);
    var l = function ($completion) {
      return i.ta0($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda($clazzUid, resultContinuation) {
    this.ca1_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda).g5m = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda).he = function (p1, $completion) {
    return this.g5m((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.da1_1.a5o(1, this.ca1_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.da1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda).r5l = function (_stmt, completion) {
    var i = new ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda(this.ca1_1, completion);
    i.da1_1 = _stmt;
    return i;
  };
  function ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda_0($clazzUid, resultContinuation) {
    var i = new ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.g5m(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$72(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ma1_1 = _this__u8e3s4;
    this.na1_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$72).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ma1_1.h9z_1.b5n(this.na1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzLogDao_JdbcImpl(_db) {
    ClazzLogDao.call(this);
    this.f9z_1 = _db;
    var tmp = this;
    tmp.g9z_1 = new ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_upsert$1(this);
    var tmp_0 = this;
    tmp_0.h9z_1 = new ClazzLogDao_JdbcImpl$_insertAdapterClazzLog_abort$1(this);
  }
  protoOf(ClazzLogDao_JdbcImpl).x9v = function (entityList, $completion) {
    return this.g9z_1.e5n(entityList, $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl).t9x = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$72(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.t9x(entity instanceof ClazzLog ? entity : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl).t9v = function (clazzUid, excludeStatus) {
    return new ClazzLogDao_JdbcImpl$findByClazzUidAsFactory$1(this, clazzUid, excludeStatus);
  };
  protoOf(ClazzLogDao_JdbcImpl).u9v = function (clazzUid, excludeStatus, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT ClazzLog.* \n          FROM ClazzLog \n         WHERE ClazzLog.clazzLogClazzUid = CAST(? AS BIGINT)\n           AND clazzLog.clazzLogStatusFlag != ?\n      ORDER BY ClazzLog.logDate ASC\n    ', VOID, VOID, VOID, '\n        SELECT ClazzLog.* \n          FROM ClazzLog \n         WHERE ClazzLog.clazzLogClazzUid = ?\n           AND clazzLog.clazzLogStatusFlag != ?\n      ORDER BY ClazzLog.logDate ASC\n    \n', true);
    return prepareAndUseStatementAsync(this.f9z_1, tmp, ClazzLogDao_JdbcImpl$findByClazzUidAsync$slambda_0(clazzUid, excludeStatus, null), $completion);
  };
  protoOf(ClazzLogDao_JdbcImpl).v9v = function (clazzUid, excludeStatusFilter) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ClazzLog'];
    return doorFlow(this.f9z_1, tmp, ClazzLogDao_JdbcImpl$clazzHasScheduleLive$slambda_0(this, clazzUid, excludeStatusFilter, null));
  };
  protoOf(ClazzLogDao_JdbcImpl).w9v = function (clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT COALESCE(\n               (SELECT ClazzLog.clazzLogUid\n                  FROM ClazzLog\n                 WHERE ClazzLog.clazzLogClazzUid = CAST(? AS BIGINT)\n                   AND (ClazzLog.clazzLogStatusFlag & 8) != 8\n              ORDER BY ClazzLog.logDate DESC\n                 LIMIT 1), 0)\n\n        \n    ', VOID, VOID, VOID, '\n        SELECT COALESCE(\n               (SELECT ClazzLog.clazzLogUid\n                  FROM ClazzLog\n                 WHERE ClazzLog.clazzLogClazzUid = ?\n                   AND (ClazzLog.clazzLogStatusFlag & 8) != 8\n              ORDER BY ClazzLog.logDate DESC\n                 LIMIT 1), 0)\n\n        \n    \n', true);
    return prepareAndUseStatementAsync(this.f9z_1, tmp, ClazzLogDao_JdbcImpl$findMostRecentClazzLogToEditUid$slambda_0(clazzUid, null), $completion);
  };
  function ClazzLogDao_Repo$findByClazzUidAsFactory$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzLogDao_Repo$findByClazzUidAsFactory$slambda(this$0, $clazzUid, $excludeStatus, resultContinuation) {
    this.wa1_1 = this$0;
    this.xa1_1 = $clazzUid;
    this.ya1_1 = $excludeStatus;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_Repo$findByClazzUidAsFactory$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_Repo$findByClazzUidAsFactory$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ClazzLogDao_Repo$findByClazzUidAsFactory$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.ba2_1 = this.wa1_1.ka2_1;
            var tmp_1 = this;
            tmp_1.ca2_1 = 'ClazzLogDao/findByClazzUidAsFactory';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.da2_1 = this.wa1_1.ma2_1;
            var tmp_3 = this;
            tmp_3.ea2_1 = this.da2_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.wa1_1.ka2_1.a3d(), 'ClazzLogDao/findByClazzUidAsFactory');
            doorNodeIdHeader(this_0, this.wa1_1.ka2_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.wa1_1.ka2_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.xa1_1));
            parameter(this_0, 'excludeStatus', this.wa1_1.ka2_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.ya1_1));
            pagingSourceLoadParameters(this_0, this.wa1_1.ka2_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.za1_1);
            tmp_4.fa2_1 = this_0;
            this.fa2_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ga2_1 = this.ea2_1;
            var tmp_6 = this;
            tmp_6.ha2_1 = this.fa2_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.ha2_1, this.ga2_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.ia2_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.wa1_1.ja2_1, this.ia2_1, this.wa1_1.ka2_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.aa2_1 = endOfPaginationReached(this.ia2_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ClazzLogDao_Repo$findByClazzUidAsFactory$slambda$lambda(this.ba2_1, this.ca2_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.aa2_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_Repo$findByClazzUidAsFactory$slambda).d8c = function (_pagingParams, completion) {
    var i = new ClazzLogDao_Repo$findByClazzUidAsFactory$slambda(this.wa1_1, this.xa1_1, this.ya1_1, completion);
    i.za1_1 = _pagingParams;
    return i;
  };
  function ClazzLogDao_Repo$findByClazzUidAsFactory$slambda_0(this$0, $clazzUid, $excludeStatus, resultContinuation) {
    var i = new ClazzLogDao_Repo$findByClazzUidAsFactory$slambda(this$0, $clazzUid, $excludeStatus, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ClazzLogDao_Repo$findByClazzUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ClazzLogDao_Repo$upsertListAsync$slambda(this$0, $entityList, resultContinuation) {
    this.xa2_1 = this$0;
    this.ya2_1 = $entityList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ClazzLogDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xa2_1.la2_1.x9v(this.ya2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ClazzLogDao_Repo$upsertListAsync$slambda(this.xa2_1, this.ya2_1, completion);
  };
  function ClazzLogDao_Repo$upsertListAsync$slambda_0(this$0, $entityList, resultContinuation) {
    var i = new ClazzLogDao_Repo$upsertListAsync$slambda(this$0, $entityList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ClazzLogDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.ha3_1 = this$0;
    this.ia3_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ClazzLogDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ClazzLogDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ha3_1.la2_1.insertAsync(this.ia3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ClazzLogDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ClazzLogDao_Repo$insertAsync$slambda(this.ha3_1, this.ia3_1, completion);
  };
  function ClazzLogDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ClazzLogDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByClazzUidAsyncCOROUTINE$75(_this__u8e3s4, clazzUid, excludeStatus, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ra3_1 = _this__u8e3s4;
    this.sa3_1 = clazzUid;
    this.ta3_1 = excludeStatus;
  }
  protoOf($findByClazzUidAsyncCOROUTINE$75).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.ua3_1 = this.ra3_1.ka2_1;
            var tmp_1 = this;
            tmp_1.va3_1 = 'ClazzLogDao/findByClazzUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.wa3_1 = this.ra3_1.ma2_1;
            var tmp_3 = this;
            tmp_3.xa3_1 = this.wa3_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ra3_1.ka2_1.a3d(), 'ClazzLogDao/findByClazzUidAsync');
            doorNodeIdHeader(this_0, this.ra3_1.ka2_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.ra3_1.ka2_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.sa3_1));
            parameter(this_0, 'excludeStatus', this.ra3_1.ka2_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.ta3_1));
            tmp_4.ya3_1 = this_0;
            this.ya3_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.za3_1 = this.xa3_1;
            var tmp_6 = this;
            tmp_6.aa4_1 = this.ya3_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.aa4_1, this.za3_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ba4_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ra3_1.ja2_1, this.ba4_1, this.ra3_1.ka2_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.ca4_1 = this.kd_1;
              Napier_getInstance().i5k(this.ca4_1, 'DoorLog', ClazzLogDao_Repo$findByClazzUidAsync$lambda(this.ua3_1, this.va3_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.ra3_1.la2_1.u9v(this.sa3_1, this.ta3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findMostRecentClazzLogToEditUidCOROUTINE$78(_this__u8e3s4, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.la4_1 = _this__u8e3s4;
    this.ma4_1 = clazzUid;
  }
  protoOf($findMostRecentClazzLogToEditUidCOROUTINE$78).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.la4_1.la2_1.w9v(this.ma4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$79(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.va4_1 = _this__u8e3s4;
    this.wa4_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$79).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.va4_1.ka2_1, 'ClazzLog', ClazzLogDao_Repo$insertAsync$slambda_0(this.va4_1, this.wa4_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ClazzLogDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ClazzLogDao.call(this);
    this.ja2_1 = _db;
    this.ka2_1 = _repo;
    this.la2_1 = _dao;
    this.ma2_1 = _httpClient;
    this.na2_1 = _clientId;
    this.oa2_1 = _endpoint;
  }
  protoOf(ClazzLogDao_Repo).t9v = function (clazzUid, excludeStatus) {
    var tmp = this.la2_1.t9v(clazzUid, excludeStatus);
    return new DoorRepositoryReplicatePullPagingSource(this.ka2_1, 'ClazzLogDao/findByClazzUidAsFactory', tmp, ClazzLogDao_Repo$findByClazzUidAsFactory$slambda_0(this, clazzUid, excludeStatus, null));
  };
  protoOf(ClazzLogDao_Repo).u9v = function (clazzUid, excludeStatus, $completion) {
    var tmp = new $findByClazzUidAsyncCOROUTINE$75(this, clazzUid, excludeStatus, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_Repo).v9v = function (clazzUid, excludeStatusFilter) {
    var _result = this.la2_1.v9v(clazzUid, excludeStatusFilter);
    return _result;
  };
  protoOf(ClazzLogDao_Repo).w9v = function (clazzUid, $completion) {
    var tmp = new $findMostRecentClazzLogToEditUidCOROUTINE$78(this, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_Repo).x9v = function (entityList, $completion) {
    return withRepoChangeMonitorAsync(this.ka2_1, 'ClazzLog', ClazzLogDao_Repo$upsertListAsync$slambda_0(this, entityList, null), $completion);
  };
  protoOf(ClazzLogDao_Repo).t9x = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$79(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ClazzLogDao_Repo).insertAsync = function (entity, $completion) {
    return this.t9x(entity instanceof ClazzLog ? entity : THROW_CCE(), $completion);
  };
  function CommentsDao() {
  }
  function $insertAsyncCOROUTINE$80(_this__u8e3s4, comments, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ka5_1 = _this__u8e3s4;
    this.la5_1 = comments;
  }
  protoOf($insertAsyncCOROUTINE$80).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.ma5_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.ka5_1.oa5_1));
            if (this.la5_1.qa5_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.ma5_1.t68(208, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.na5_1 = suspendResult;
            this.la5_1.qa5_1 = this.na5_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.la5_1.aa6_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.ka5_1.pa5_1.xa4(this.la5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.la5_1.qa5_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CommentsDao_DoorWrapper(_db, _dao) {
    CommentsDao.call(this);
    this.oa5_1 = _db;
    this.pa5_1 = _dao;
  }
  protoOf(CommentsDao_DoorWrapper).xa4 = function (comments, $completion) {
    var tmp = new $insertAsyncCOROUTINE$80(this, comments, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_DoorWrapper).ya4 = function (uid, deleted, changeTime, $completion) {
    return this.pa5_1.ya4(uid, deleted, changeTime, $completion);
  };
  protoOf(CommentsDao_DoorWrapper).za4 = function (accountPersonUid, assignmentUid, includeDeleted) {
    return this.pa5_1.za4(accountPersonUid, assignmentUid, includeDeleted);
  };
  protoOf(CommentsDao_DoorWrapper).aa5 = function (submitterUid, assignmentUid, includeDeleted) {
    return this.pa5_1.aa5(submitterUid, assignmentUid, includeDeleted);
  };
  protoOf(CommentsDao_DoorWrapper).ba5 = function (assignmentUid, includeDeleted) {
    return this.pa5_1.ba5(assignmentUid, includeDeleted);
  };
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda$lambda$lambda(_result));
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      var _tmp_pictureUri = $_result.rz('pictureUri');
      var _tmp_Comments_nullCount = 0;
      var _tmp_commentsUid = $_result.d5t('commentsUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_commentsText = $_result.rz('commentsText');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_commentsEntityUid = $_result.d5t('commentsEntityUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_commentsStatus = $_result.c5t('commentsStatus');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_commentsFromPersonUid = $_result.d5t('commentsFromPersonUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_commentsForSubmitterUid = $_result.d5t('commentsForSubmitterUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_commentsFromSubmitterUid = $_result.d5t('commentsFromSubmitterUid');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_commentsFlagged = $_result.o6c('commentsFlagged');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_commentsDeleted = $_result.o6c('commentsDeleted');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_commentsDateTimeAdded = $_result.d5t('commentsDateTimeAdded');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_commentsLct = $_result.d5t('commentsLct');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_Comments_isAllNull = _tmp_Comments_nullCount === 11;
      // Inline function 'kotlin.apply' call
      var this_0 = new CommentsAndName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ca6_1 = _tmp_firstNames;
      this_0.da6_1 = _tmp_lastName;
      this_0.ea6_1 = _tmp_pictureUri;
      if (!_tmp_Comments_isAllNull) {
        var tmp_10 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Comments();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.qa5_1 = _tmp_commentsUid;
        this_1.ra5_1 = _tmp_commentsText;
        this_1.sa5_1 = _tmp_commentsEntityUid;
        this_1.ta5_1 = _tmp_commentsStatus;
        this_1.ua5_1 = _tmp_commentsFromPersonUid;
        this_1.va5_1 = _tmp_commentsForSubmitterUid;
        this_1.wa5_1 = _tmp_commentsFromSubmitterUid;
        this_1.xa5_1 = _tmp_commentsFlagged;
        this_1.ya5_1 = _tmp_commentsDeleted;
        this_1.za5_1 = _tmp_commentsDateTimeAdded;
        this_1.aa6_1 = _tmp_commentsLct;
        tmp_10.ba6_1 = this_1;
      }
      return this_0;
    };
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda$lambda$lambda(_result));
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda($assignmentUid, $accountPersonUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    this.na6_1 = $assignmentUid;
    this.oa6_1 = $accountPersonUid;
    this.pa6_1 = $includeDeleted;
    this.qa6_1 = $_limit;
    this.ra6_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda).ta6 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda).he = function (p1, $completion) {
    return this.ta6((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.sa6_1.a5o(1, this.na6_1);
            this.sa6_1.a5o(2, this.oa6_1);
            this.sa6_1.a5o(3, this.na6_1);
            this.sa6_1.a5o(4, this.na6_1);
            this.sa6_1.a5o(5, this.oa6_1);
            this.sa6_1.a5o(6, this.na6_1);
            this.sa6_1.a5o(7, this.oa6_1);
            this.sa6_1.a5o(8, this.na6_1);
            this.sa6_1.a5o(9, this.na6_1);
            this.sa6_1.a5o(10, this.oa6_1);
            this.sa6_1.a5o(11, this.na6_1);
            this.sa6_1.n5n(12, this.pa6_1);
            this.sa6_1.z5n(13, this.qa6_1);
            this.sa6_1.z5n(14, this.ra6_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.sa6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda(this.na6_1, this.oa6_1, this.pa6_1, this.qa6_1, this.ra6_1, completion);
    i.sa6_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda_0($assignmentUid, $accountPersonUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda($assignmentUid, $accountPersonUid, $includeDeleted, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ta6(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda($assignmentUid, $accountPersonUid, $includeDeleted, resultContinuation) {
    this.ca7_1 = $assignmentUid;
    this.da7_1 = $accountPersonUid;
    this.ea7_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fa7_1.a5o(1, this.ca7_1);
            this.fa7_1.a5o(2, this.da7_1);
            this.fa7_1.a5o(3, this.ca7_1);
            this.fa7_1.a5o(4, this.ca7_1);
            this.fa7_1.a5o(5, this.da7_1);
            this.fa7_1.a5o(6, this.ca7_1);
            this.fa7_1.a5o(7, this.da7_1);
            this.fa7_1.a5o(8, this.ca7_1);
            this.fa7_1.a5o(9, this.ca7_1);
            this.fa7_1.a5o(10, this.da7_1);
            this.fa7_1.a5o(11, this.ca7_1);
            this.fa7_1.n5n(12, this.ea7_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.fa7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda(this.ca7_1, this.da7_1, this.ea7_1, completion);
    i.fa7_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda_0($assignmentUid, $accountPersonUid, $includeDeleted, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda($assignmentUid, $accountPersonUid, $includeDeleted, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda$lambda$lambda(_result));
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      var _tmp_pictureUri = $_result.rz('pictureUri');
      var _tmp_Comments_nullCount = 0;
      var _tmp_commentsUid = $_result.d5t('commentsUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_commentsText = $_result.rz('commentsText');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_commentsEntityUid = $_result.d5t('commentsEntityUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_commentsStatus = $_result.c5t('commentsStatus');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_commentsFromPersonUid = $_result.d5t('commentsFromPersonUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_commentsForSubmitterUid = $_result.d5t('commentsForSubmitterUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_commentsFromSubmitterUid = $_result.d5t('commentsFromSubmitterUid');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_commentsFlagged = $_result.o6c('commentsFlagged');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_commentsDeleted = $_result.o6c('commentsDeleted');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_commentsDateTimeAdded = $_result.d5t('commentsDateTimeAdded');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_commentsLct = $_result.d5t('commentsLct');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_Comments_isAllNull = _tmp_Comments_nullCount === 11;
      // Inline function 'kotlin.apply' call
      var this_0 = new CommentsAndName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ca6_1 = _tmp_firstNames;
      this_0.da6_1 = _tmp_lastName;
      this_0.ea6_1 = _tmp_pictureUri;
      if (!_tmp_Comments_isAllNull) {
        var tmp_10 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Comments();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.qa5_1 = _tmp_commentsUid;
        this_1.ra5_1 = _tmp_commentsText;
        this_1.sa5_1 = _tmp_commentsEntityUid;
        this_1.ta5_1 = _tmp_commentsStatus;
        this_1.ua5_1 = _tmp_commentsFromPersonUid;
        this_1.va5_1 = _tmp_commentsForSubmitterUid;
        this_1.wa5_1 = _tmp_commentsFromSubmitterUid;
        this_1.xa5_1 = _tmp_commentsFlagged;
        this_1.ya5_1 = _tmp_commentsDeleted;
        this_1.za5_1 = _tmp_commentsDateTimeAdded;
        this_1.aa6_1 = _tmp_commentsLct;
        tmp_10.ba6_1 = this_1;
      }
      return this_0;
    };
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda$lambda$lambda(_result));
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda($submitterUid, $assignmentUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    this.oa7_1 = $submitterUid;
    this.pa7_1 = $assignmentUid;
    this.qa7_1 = $includeDeleted;
    this.ra7_1 = $_limit;
    this.sa7_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda).ta6 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda).he = function (p1, $completion) {
    return this.ta6((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ta7_1.a5o(1, this.oa7_1);
            this.ta7_1.a5o(2, this.pa7_1);
            this.ta7_1.n5n(3, this.qa7_1);
            this.ta7_1.z5n(4, this.ra7_1);
            this.ta7_1.z5n(5, this.sa7_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ta7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda(this.oa7_1, this.pa7_1, this.qa7_1, this.ra7_1, this.sa7_1, completion);
    i.ta7_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda_0($submitterUid, $assignmentUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda($submitterUid, $assignmentUid, $includeDeleted, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ta6(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda($submitterUid, $assignmentUid, $includeDeleted, resultContinuation) {
    this.ca8_1 = $submitterUid;
    this.da8_1 = $assignmentUid;
    this.ea8_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fa8_1.a5o(1, this.ca8_1);
            this.fa8_1.a5o(2, this.da8_1);
            this.fa8_1.n5n(3, this.ea8_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.fa8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda(this.ca8_1, this.da8_1, this.ea8_1, completion);
    i.fa8_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda_0($submitterUid, $assignmentUid, $includeDeleted, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda($submitterUid, $assignmentUid, $includeDeleted, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda$lambda$lambda(_result));
  }
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      var _tmp_pictureUri = $_result.rz('pictureUri');
      var _tmp_Comments_nullCount = 0;
      var _tmp_commentsUid = $_result.d5t('commentsUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_commentsText = $_result.rz('commentsText');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_commentsEntityUid = $_result.d5t('commentsEntityUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_commentsStatus = $_result.c5t('commentsStatus');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_commentsFromPersonUid = $_result.d5t('commentsFromPersonUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_commentsForSubmitterUid = $_result.d5t('commentsForSubmitterUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_commentsFromSubmitterUid = $_result.d5t('commentsFromSubmitterUid');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_commentsFlagged = $_result.o6c('commentsFlagged');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_commentsDeleted = $_result.o6c('commentsDeleted');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_commentsDateTimeAdded = $_result.d5t('commentsDateTimeAdded');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_commentsLct = $_result.d5t('commentsLct');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Comments_nullCount = _tmp_Comments_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_Comments_isAllNull = _tmp_Comments_nullCount === 11;
      // Inline function 'kotlin.apply' call
      var this_0 = new CommentsAndName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ca6_1 = _tmp_firstNames;
      this_0.da6_1 = _tmp_lastName;
      this_0.ea6_1 = _tmp_pictureUri;
      if (!_tmp_Comments_isAllNull) {
        var tmp_10 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Comments();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.qa5_1 = _tmp_commentsUid;
        this_1.ra5_1 = _tmp_commentsText;
        this_1.sa5_1 = _tmp_commentsEntityUid;
        this_1.ta5_1 = _tmp_commentsStatus;
        this_1.ua5_1 = _tmp_commentsFromPersonUid;
        this_1.va5_1 = _tmp_commentsForSubmitterUid;
        this_1.wa5_1 = _tmp_commentsFromSubmitterUid;
        this_1.xa5_1 = _tmp_commentsFlagged;
        this_1.ya5_1 = _tmp_commentsDeleted;
        this_1.za5_1 = _tmp_commentsDateTimeAdded;
        this_1.aa6_1 = _tmp_commentsLct;
        tmp_10.ba6_1 = this_1;
      }
      return this_0;
    };
  }
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda$lambda$lambda(_result));
  }
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda($assignmentUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    this.oa8_1 = $assignmentUid;
    this.pa8_1 = $includeDeleted;
    this.qa8_1 = $_limit;
    this.ra8_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda).ta6 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda).he = function (p1, $completion) {
    return this.ta6((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.sa8_1.a5o(1, this.oa8_1);
            this.sa8_1.n5n(2, this.pa8_1);
            this.sa8_1.z5n(3, this.qa8_1);
            this.sa8_1.z5n(4, this.ra8_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.sa8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda(this.oa8_1, this.pa8_1, this.qa8_1, this.ra8_1, completion);
    i.sa8_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda_0($assignmentUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda($assignmentUid, $includeDeleted, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ta6(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda($assignmentUid, $includeDeleted, resultContinuation) {
    this.ba9_1 = $assignmentUid;
    this.ca9_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.da9_1.a5o(1, this.ba9_1);
            this.da9_1.n5n(2, this.ca9_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.da9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda(this.ba9_1, this.ca9_1, completion);
    i.da9_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda_0($assignmentUid, $includeDeleted, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda($assignmentUid, $includeDeleted, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$_insertAdapterComments_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ea9_1);
  }
  protoOf(CommentsDao_JdbcImpl$_insertAdapterComments_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Comments (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CommentsDao_JdbcImpl$_insertAdapterComments_abort$1).ia9 = function (stmt, entity) {
    if (entity.qa5_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.qa5_1);
    }
    stmt.d5o(2, entity.ra5_1);
    stmt.a5o(3, entity.sa5_1);
    stmt.z5n(4, entity.ta5_1);
    stmt.a5o(5, entity.ua5_1);
    stmt.a5o(6, entity.va5_1);
    stmt.a5o(7, entity.wa5_1);
    stmt.n5n(8, entity.xa5_1);
    stmt.n5n(9, entity.ya5_1);
    stmt.a5o(10, entity.za5_1);
    stmt.a5o(11, entity.aa6_1);
  };
  protoOf(CommentsDao_JdbcImpl$_insertAdapterComments_abort$1).u5l = function (stmt, entity) {
    return this.ia9(stmt, entity instanceof Comments ? entity : THROW_CCE());
  };
  function CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda($deleted, $changeTime, $uid, resultContinuation) {
    this.ra9_1 = $deleted;
    this.sa9_1 = $changeTime;
    this.ta9_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ua9_1.n5n(1, this.ra9_1);
            this.ua9_1.a5o(2, this.sa9_1);
            this.ua9_1.a5o(3, this.ta9_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.ua9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda).r5l = function (_stmt, completion) {
    var i = new CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda(this.ra9_1, this.sa9_1, this.ta9_1, completion);
    i.ua9_1 = _stmt;
    return i;
  };
  function CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda_0($deleted, $changeTime, $uid, resultContinuation) {
    var i = new CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda($deleted, $changeTime, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1(this$0, $assignmentUid, $accountPersonUid, $includeDeleted) {
    this.baa_1 = this$0;
    this.caa_1 = $assignmentUid;
    this.daa_1 = $accountPersonUid;
    this.eaa_1 = $includeDeleted;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['ClazzAssignment', 'CourseGroupMember', 'Comments', 'ClazzEnrolment', 'Person', 'PersonPicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.ea9_1, tmp$ret$2);
  }
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1).faa = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    )\n           AND Comments.commentsForSubmitterUid != 0\n           AND Comments.commentsEntityUid = CAST(? AS BIGINT)\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) \n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    )\n           AND Comments.commentsForSubmitterUid != 0\n           AND Comments.commentsEntityUid = ?\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) \n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.baa_1.ea9_1, tmp, CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$loadRows$slambda_0(this.caa_1, this.daa_1, this.eaa_1, _limit, _offset, null), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1).b5w = function (_limit, _offset, $completion) {
    return this.faa(_limit, _offset, $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    )\n           AND Comments.commentsForSubmitterUid != 0\n           AND Comments.commentsEntityUid = CAST(? AS BIGINT)\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) \n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    )\n           AND Comments.commentsForSubmitterUid != 0\n           AND Comments.commentsEntityUid = ?\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) \n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.baa_1.ea9_1, tmp, CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$o$countRows$slambda_0(this.caa_1, this.daa_1, this.eaa_1, null), $completion);
  };
  function CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$1(this$0, $submitterUid, $assignmentUid, $includeDeleted) {
    this.maa_1 = this$0;
    this.naa_1 = $submitterUid;
    this.oaa_1 = $assignmentUid;
    this.paa_1 = $includeDeleted;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Comments', 'Person', 'PersonPicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.ea9_1, tmp$ret$2);
  }
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$1).faa = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = CAST(? AS BIGINT)\n           AND Comments.commentsEntityUid = CAST(? AS BIGINT)\n           AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC        \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = ?\n           AND Comments.commentsEntityUid = ?\n           AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC        \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.maa_1.ea9_1, tmp, CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$loadRows$slambda_0(this.naa_1, this.oaa_1, this.paa_1, _limit, _offset, null), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$1).b5w = function (_limit, _offset, $completion) {
    return this.faa(_limit, _offset, $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = CAST(? AS BIGINT)\n           AND Comments.commentsEntityUid = CAST(? AS BIGINT)\n           AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC        \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsForSubmitterUid = ?\n           AND Comments.commentsEntityUid = ?\n           AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC        \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.maa_1.ea9_1, tmp, CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$o$countRows$slambda_0(this.naa_1, this.oaa_1, this.paa_1, null), $completion);
  };
  function CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1(this$0, $assignmentUid, $includeDeleted) {
    this.waa_1 = this$0;
    this.xaa_1 = $assignmentUid;
    this.yaa_1 = $includeDeleted;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Comments', 'Person', 'PersonPicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.ea9_1, tmp$ret$2);
  }
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1).faa = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsEntityUid = CAST(? AS BIGINT)\n           AND Comments.commentsForSubmitterUid = 0\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsEntityUid = ?\n           AND Comments.commentsForSubmitterUid = 0\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.waa_1.ea9_1, tmp, CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$loadRows$slambda_0(this.xaa_1, this.yaa_1, _limit, _offset, null), $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1).b5w = function (_limit, _offset, $completion) {
    return this.faa(_limit, _offset, $completion);
  };
  protoOf(CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsEntityUid = CAST(? AS BIGINT)\n           AND Comments.commentsForSubmitterUid = 0\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT Comments.*,\n               Person.firstNames AS firstNames, \n               Person.lastName AS lastName,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM Comments\n               LEFT JOIN Person \n                    ON Person.personUid = Comments.commentsFromPersonUid\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid\n         WHERE Comments.commentsEntityUid = ?\n           AND Comments.commentsForSubmitterUid = 0\n           AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1)\n      ORDER BY Comments.commentsDateTimeAdded DESC     \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.waa_1.ea9_1, tmp, CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$o$countRows$slambda_0(this.xaa_1, this.yaa_1, null), $completion);
  };
  function $insertAsyncCOROUTINE$81(_this__u8e3s4, comments, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.hab_1 = _this__u8e3s4;
    this.iab_1 = comments;
  }
  protoOf($insertAsyncCOROUTINE$81).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.hab_1.fa9_1.b5n(this.iab_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateDeletedByCommentUidCOROUTINE$82(_this__u8e3s4, uid, deleted, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rab_1 = _this__u8e3s4;
    this.sab_1 = uid;
    this.tab_1 = deleted;
    this.uab_1 = changeTime;
  }
  protoOf($updateDeletedByCommentUidCOROUTINE$82).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE Comments \n           SET commentsDeleted = ?,\n               commentsLct = CAST(? AS BIGINT)\n         WHERE Comments.commentsUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        UPDATE Comments \n           SET commentsDeleted = ?,\n               commentsLct = ?\n         WHERE Comments.commentsUid = ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.rab_1.ea9_1, tmp_0, CommentsDao_JdbcImpl$updateDeletedByCommentUid$slambda_0(this.tab_1, this.uab_1, this.sab_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CommentsDao_JdbcImpl(_db) {
    CommentsDao.call(this);
    this.ea9_1 = _db;
    var tmp = this;
    tmp.fa9_1 = new CommentsDao_JdbcImpl$_insertAdapterComments_abort$1(this);
  }
  protoOf(CommentsDao_JdbcImpl).xa4 = function (comments, $completion) {
    var tmp = new $insertAsyncCOROUTINE$81(this, comments, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl).ya4 = function (uid, deleted, changeTime, $completion) {
    var tmp = new $updateDeletedByCommentUidCOROUTINE$82(this, uid, deleted, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_JdbcImpl).za4 = function (accountPersonUid, assignmentUid, includeDeleted) {
    return new CommentsDao_JdbcImpl$findPrivateCommentsForUserByAssignmentUid$1(this, assignmentUid, accountPersonUid, includeDeleted);
  };
  protoOf(CommentsDao_JdbcImpl).aa5 = function (submitterUid, assignmentUid, includeDeleted) {
    return new CommentsDao_JdbcImpl$findPrivateCommentsForSubmitterByAssignmentUid$1(this, submitterUid, assignmentUid, includeDeleted);
  };
  protoOf(CommentsDao_JdbcImpl).ba5 = function (assignmentUid, includeDeleted) {
    return new CommentsDao_JdbcImpl$findCourseCommentsByAssignmentUid$1(this, assignmentUid, includeDeleted);
  };
  function CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CommentsDao_Repo$insertAsync$slambda(this$0, $comments, resultContinuation) {
    this.dac_1 = this$0;
    this.eac_1 = $comments;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CommentsDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.dac_1.hac_1.xa4(this.eac_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CommentsDao_Repo$insertAsync$slambda(this.dac_1, this.eac_1, completion);
  };
  function CommentsDao_Repo$insertAsync$slambda_0(this$0, $comments, resultContinuation) {
    var i = new CommentsDao_Repo$insertAsync$slambda(this$0, $comments, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CommentsDao_Repo$updateDeletedByCommentUid$slambda(this$0, $uid, $deleted, $changeTime, resultContinuation) {
    this.tac_1 = this$0;
    this.uac_1 = $uid;
    this.vac_1 = $deleted;
    this.wac_1 = $changeTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_Repo$updateDeletedByCommentUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_Repo$updateDeletedByCommentUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CommentsDao_Repo$updateDeletedByCommentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.tac_1.hac_1.ya4(this.uac_1, this.vac_1, this.wac_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_Repo$updateDeletedByCommentUid$slambda).q7e = function (completion) {
    return new CommentsDao_Repo$updateDeletedByCommentUid$slambda(this.tac_1, this.uac_1, this.vac_1, this.wac_1, completion);
  };
  function CommentsDao_Repo$updateDeletedByCommentUid$slambda_0(this$0, $uid, $deleted, $changeTime, resultContinuation) {
    var i = new CommentsDao_Repo$updateDeletedByCommentUid$slambda(this$0, $uid, $deleted, $changeTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda(this$0, $accountPersonUid, $assignmentUid, $includeDeleted, resultContinuation) {
    this.fad_1 = this$0;
    this.gad_1 = $accountPersonUid;
    this.had_1 = $assignmentUid;
    this.iad_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.lad_1 = this.fad_1.gac_1;
            var tmp_1 = this;
            tmp_1.mad_1 = 'CommentsDao/findPrivateCommentsForUserByAssignmentUid';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.nad_1 = this.fad_1.iac_1;
            var tmp_3 = this;
            tmp_3.oad_1 = this.nad_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.fad_1.gac_1.a3d(), 'CommentsDao/findPrivateCommentsForUserByAssignmentUid');
            doorNodeIdHeader(this_0, this.fad_1.gac_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.fad_1.gac_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.gad_1));
            parameter(this_0, 'assignmentUid', this.fad_1.gac_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.had_1));
            parameter(this_0, 'includeDeleted', this.fad_1.gac_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.iad_1));
            pagingSourceLoadParameters(this_0, this.fad_1.gac_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.jad_1);
            tmp_4.pad_1 = this_0;
            this.pad_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.qad_1 = this.oad_1;
            var tmp_6 = this;
            tmp_6.rad_1 = this.pad_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.rad_1, this.qad_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.sad_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.fad_1.fac_1, this.sad_1, this.fad_1.gac_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.kad_1 = endOfPaginationReached(this.sad_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda$lambda(this.lad_1, this.mad_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.kad_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda).d8c = function (_pagingParams, completion) {
    var i = new CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda(this.fad_1, this.gad_1, this.had_1, this.iad_1, completion);
    i.jad_1 = _pagingParams;
    return i;
  };
  function CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda_0(this$0, $accountPersonUid, $assignmentUid, $includeDeleted, resultContinuation) {
    var i = new CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda(this$0, $accountPersonUid, $assignmentUid, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda(this$0, $submitterUid, $assignmentUid, $includeDeleted, resultContinuation) {
    this.bae_1 = this$0;
    this.cae_1 = $submitterUid;
    this.dae_1 = $assignmentUid;
    this.eae_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.hae_1 = this.bae_1.gac_1;
            var tmp_1 = this;
            tmp_1.iae_1 = 'CommentsDao/findPrivateCommentsForSubmitterByAssignmentUid';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.jae_1 = this.bae_1.iac_1;
            var tmp_3 = this;
            tmp_3.kae_1 = this.jae_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.bae_1.gac_1.a3d(), 'CommentsDao/findPrivateCommentsForSubmitterByAssignmentUid');
            doorNodeIdHeader(this_0, this.bae_1.gac_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'submitterUid', this.bae_1.gac_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.cae_1));
            parameter(this_0, 'assignmentUid', this.bae_1.gac_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.dae_1));
            parameter(this_0, 'includeDeleted', this.bae_1.gac_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.eae_1));
            pagingSourceLoadParameters(this_0, this.bae_1.gac_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.fae_1);
            tmp_4.lae_1 = this_0;
            this.lae_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.mae_1 = this.kae_1;
            var tmp_6 = this;
            tmp_6.nae_1 = this.lae_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.nae_1, this.mae_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.oae_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.bae_1.fac_1, this.oae_1, this.bae_1.gac_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.gae_1 = endOfPaginationReached(this.oae_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda$lambda(this.hae_1, this.iae_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.gae_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda).d8c = function (_pagingParams, completion) {
    var i = new CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda(this.bae_1, this.cae_1, this.dae_1, this.eae_1, completion);
    i.fae_1 = _pagingParams;
    return i;
  };
  function CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda_0(this$0, $submitterUid, $assignmentUid, $includeDeleted, resultContinuation) {
    var i = new CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda(this$0, $submitterUid, $assignmentUid, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda(this$0, $assignmentUid, $includeDeleted, resultContinuation) {
    this.xae_1 = this$0;
    this.yae_1 = $assignmentUid;
    this.zae_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.caf_1 = this.xae_1.gac_1;
            var tmp_1 = this;
            tmp_1.daf_1 = 'CommentsDao/findCourseCommentsByAssignmentUid';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.eaf_1 = this.xae_1.iac_1;
            var tmp_3 = this;
            tmp_3.faf_1 = this.eaf_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.xae_1.gac_1.a3d(), 'CommentsDao/findCourseCommentsByAssignmentUid');
            doorNodeIdHeader(this_0, this.xae_1.gac_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'assignmentUid', this.xae_1.gac_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.yae_1));
            parameter(this_0, 'includeDeleted', this.xae_1.gac_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.zae_1));
            pagingSourceLoadParameters(this_0, this.xae_1.gac_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.aaf_1);
            tmp_4.gaf_1 = this_0;
            this.gaf_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.haf_1 = this.faf_1;
            var tmp_6 = this;
            tmp_6.iaf_1 = this.gaf_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.iaf_1, this.haf_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.jaf_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.xae_1.fac_1, this.jaf_1, this.xae_1.gac_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.baf_1 = endOfPaginationReached(this.jaf_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda$lambda(this.caf_1, this.daf_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.baf_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda).d8c = function (_pagingParams, completion) {
    var i = new CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda(this.xae_1, this.yae_1, this.zae_1, completion);
    i.aaf_1 = _pagingParams;
    return i;
  };
  function CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda_0(this$0, $assignmentUid, $includeDeleted, resultContinuation) {
    var i = new CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda(this$0, $assignmentUid, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$83(_this__u8e3s4, comments, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.saf_1 = _this__u8e3s4;
    this.taf_1 = comments;
  }
  protoOf($insertAsyncCOROUTINE$83).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.saf_1.gac_1, 'Comments', CommentsDao_Repo$insertAsync$slambda_0(this.saf_1, this.taf_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CommentsDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CommentsDao.call(this);
    this.fac_1 = _db;
    this.gac_1 = _repo;
    this.hac_1 = _dao;
    this.iac_1 = _httpClient;
    this.jac_1 = _clientId;
    this.kac_1 = _endpoint;
  }
  protoOf(CommentsDao_Repo).xa4 = function (comments, $completion) {
    var tmp = new $insertAsyncCOROUTINE$83(this, comments, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CommentsDao_Repo).ya4 = function (uid, deleted, changeTime, $completion) {
    return withRepoChangeMonitorAsync(this.gac_1, 'Comments', CommentsDao_Repo$updateDeletedByCommentUid$slambda_0(this, uid, deleted, changeTime, null), $completion);
  };
  protoOf(CommentsDao_Repo).za4 = function (accountPersonUid, assignmentUid, includeDeleted) {
    var tmp = this.hac_1.za4(accountPersonUid, assignmentUid, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.gac_1, 'CommentsDao/findPrivateCommentsForUserByAssignmentUid', tmp, CommentsDao_Repo$findPrivateCommentsForUserByAssignmentUid$slambda_0(this, accountPersonUid, assignmentUid, includeDeleted, null));
  };
  protoOf(CommentsDao_Repo).aa5 = function (submitterUid, assignmentUid, includeDeleted) {
    var tmp = this.hac_1.aa5(submitterUid, assignmentUid, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.gac_1, 'CommentsDao/findPrivateCommentsForSubmitterByAssignmentUid', tmp, CommentsDao_Repo$findPrivateCommentsForSubmitterByAssignmentUid$slambda_0(this, submitterUid, assignmentUid, includeDeleted, null));
  };
  protoOf(CommentsDao_Repo).ba5 = function (assignmentUid, includeDeleted) {
    var tmp = this.hac_1.ba5(assignmentUid, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.gac_1, 'CommentsDao/findCourseCommentsByAssignmentUid', tmp, CommentsDao_Repo$findCourseCommentsByAssignmentUid$slambda_0(this, assignmentUid, includeDeleted, null));
  };
  function ContentCategoryDao() {
  }
  function $insertAsyncCOROUTINE$86(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cag_1 = _this__u8e3s4;
    this.dag_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$86).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.eag_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.cag_1.gag_1));
            if (this.dag_1.iag_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.eag_1.t68(1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.fag_1 = suspendResult;
            this.dag_1.iag_1 = this.fag_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.dag_1.oag_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.cag_1.hag_1.insertAsync(this.dag_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.dag_1.iag_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentCategoryDao_DoorWrapper(_db, _dao) {
    ContentCategoryDao.call(this);
    this.gag_1 = _db;
    this.hag_1 = _dao;
  }
  protoOf(ContentCategoryDao_DoorWrapper).pag = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$86(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategoryDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.pag(entity instanceof ContentCategory ? entity : THROW_CCE(), $completion);
  };
  function ContentCategoryDao_JdbcImpl$_insertAdapterContentCategory_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.qag_1);
  }
  protoOf(ContentCategoryDao_JdbcImpl$_insertAdapterContentCategory_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentCategory (contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentCategoryDao_JdbcImpl$_insertAdapterContentCategory_abort$1).uag = function (stmt, entity) {
    if (entity.iag_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.iag_1);
    }
    stmt.a5o(2, entity.jag_1);
    stmt.d5o(3, entity.kag_1);
    stmt.a5o(4, entity.lag_1);
    stmt.a5o(5, entity.mag_1);
    stmt.z5n(6, entity.nag_1);
    stmt.a5o(7, entity.oag_1);
  };
  protoOf(ContentCategoryDao_JdbcImpl$_insertAdapterContentCategory_abort$1).u5l = function (stmt, entity) {
    return this.uag(stmt, entity instanceof ContentCategory ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$87(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.dah_1 = _this__u8e3s4;
    this.eah_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$87).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.dah_1.rag_1.b5n(this.eah_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentCategoryDao_JdbcImpl(_db) {
    ContentCategoryDao.call(this);
    this.qag_1 = _db;
    var tmp = this;
    tmp.rag_1 = new ContentCategoryDao_JdbcImpl$_insertAdapterContentCategory_abort$1(this);
  }
  protoOf(ContentCategoryDao_JdbcImpl).pag = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$87(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategoryDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.pag(entity instanceof ContentCategory ? entity : THROW_CCE(), $completion);
  };
  function ContentCategoryDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.nah_1 = this$0;
    this.oah_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentCategoryDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategoryDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentCategoryDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.nah_1.rah_1.insertAsync(this.oah_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentCategoryDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentCategoryDao_Repo$insertAsync$slambda(this.nah_1, this.oah_1, completion);
  };
  function ContentCategoryDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentCategoryDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$88(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.dai_1 = _this__u8e3s4;
    this.eai_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$88).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.dai_1.qah_1, 'ContentCategory', ContentCategoryDao_Repo$insertAsync$slambda_0(this.dai_1, this.eai_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentCategoryDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentCategoryDao.call(this);
    this.pah_1 = _db;
    this.qah_1 = _repo;
    this.rah_1 = _dao;
    this.sah_1 = _httpClient;
    this.tah_1 = _clientId;
    this.uah_1 = _endpoint;
  }
  protoOf(ContentCategoryDao_Repo).pag = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$88(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategoryDao_Repo).insertAsync = function (entity, $completion) {
    return this.pag(entity instanceof ContentCategory ? entity : THROW_CCE(), $completion);
  };
  function ContentCategorySchemaDao() {
  }
  function $insertAsyncCOROUTINE$89(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nai_1 = _this__u8e3s4;
    this.oai_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$89).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.pai_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.nai_1.rai_1));
            if (this.oai_1.tai_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.pai_1.t68(2, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.qai_1 = suspendResult;
            this.oai_1.tai_1 = this.qai_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.oai_1.zai_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.nai_1.sai_1.insertAsync(this.oai_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.oai_1.tai_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentCategorySchemaDao_DoorWrapper(_db, _dao) {
    ContentCategorySchemaDao.call(this);
    this.rai_1 = _db;
    this.sai_1 = _dao;
  }
  protoOf(ContentCategorySchemaDao_DoorWrapper).aaj = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$89(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategorySchemaDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.aaj(entity instanceof ContentCategorySchema ? entity : THROW_CCE(), $completion);
  };
  function ContentCategorySchemaDao_JdbcImpl$_insertAdapterContentCategorySchema_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.baj_1);
  }
  protoOf(ContentCategorySchemaDao_JdbcImpl$_insertAdapterContentCategorySchema_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentCategorySchema (contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentCategorySchemaDao_JdbcImpl$_insertAdapterContentCategorySchema_abort$1).faj = function (stmt, entity) {
    if (entity.tai_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.tai_1);
    }
    stmt.d5o(2, entity.uai_1);
    stmt.d5o(3, entity.vai_1);
    stmt.a5o(4, entity.wai_1);
    stmt.a5o(5, entity.xai_1);
    stmt.z5n(6, entity.yai_1);
    stmt.a5o(7, entity.zai_1);
  };
  protoOf(ContentCategorySchemaDao_JdbcImpl$_insertAdapterContentCategorySchema_abort$1).u5l = function (stmt, entity) {
    return this.faj(stmt, entity instanceof ContentCategorySchema ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$90(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.oaj_1 = _this__u8e3s4;
    this.paj_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$90).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.oaj_1.caj_1.b5n(this.paj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentCategorySchemaDao_JdbcImpl(_db) {
    ContentCategorySchemaDao.call(this);
    this.baj_1 = _db;
    var tmp = this;
    tmp.caj_1 = new ContentCategorySchemaDao_JdbcImpl$_insertAdapterContentCategorySchema_abort$1(this);
  }
  protoOf(ContentCategorySchemaDao_JdbcImpl).aaj = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$90(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategorySchemaDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.aaj(entity instanceof ContentCategorySchema ? entity : THROW_CCE(), $completion);
  };
  function ContentCategorySchemaDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.yaj_1 = this$0;
    this.zaj_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentCategorySchemaDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategorySchemaDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentCategorySchemaDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.yaj_1.cak_1.insertAsync(this.zaj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentCategorySchemaDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentCategorySchemaDao_Repo$insertAsync$slambda(this.yaj_1, this.zaj_1, completion);
  };
  function ContentCategorySchemaDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentCategorySchemaDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$91(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.oak_1 = _this__u8e3s4;
    this.pak_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$91).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.oak_1.bak_1, 'ContentCategorySchema', ContentCategorySchemaDao_Repo$insertAsync$slambda_0(this.oak_1, this.pak_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentCategorySchemaDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentCategorySchemaDao.call(this);
    this.aak_1 = _db;
    this.bak_1 = _repo;
    this.cak_1 = _dao;
    this.dak_1 = _httpClient;
    this.eak_1 = _clientId;
    this.fak_1 = _endpoint;
  }
  protoOf(ContentCategorySchemaDao_Repo).aaj = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$91(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentCategorySchemaDao_Repo).insertAsync = function (entity, $completion) {
    return this.aaj(entity instanceof ContentCategorySchema ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryContentCategoryJoinDao() {
  }
  function $insertAsyncCOROUTINE$92(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yak_1 = _this__u8e3s4;
    this.zak_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$92).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.aal_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.yak_1.cal_1));
            if (this.zak_1.eal_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.aal_1.t68(3, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.bal_1 = suspendResult;
            this.zak_1.eal_1 = this.bal_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.zak_1.kal_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.yak_1.dal_1.insertAsync(this.zak_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.zak_1.eal_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryContentCategoryJoinDao_DoorWrapper(_db, _dao) {
    ContentEntryContentCategoryJoinDao.call(this);
    this.cal_1 = _db;
    this.dal_1 = _dao;
  }
  protoOf(ContentEntryContentCategoryJoinDao_DoorWrapper).lal = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$92(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryContentCategoryJoinDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.lal(entity instanceof ContentEntryContentCategoryJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryContentCategoryJoinDao_JdbcImpl$_insertAdapterContentEntryContentCategoryJoin_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mal_1);
  }
  protoOf(ContentEntryContentCategoryJoinDao_JdbcImpl$_insertAdapterContentEntryContentCategoryJoin_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntryContentCategoryJoin (ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryContentCategoryJoinDao_JdbcImpl$_insertAdapterContentEntryContentCategoryJoin_abort$1).qal = function (stmt, entity) {
    if (entity.eal_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.eal_1);
    }
    stmt.a5o(2, entity.fal_1);
    stmt.a5o(3, entity.gal_1);
    stmt.a5o(4, entity.hal_1);
    stmt.a5o(5, entity.ial_1);
    stmt.z5n(6, entity.jal_1);
    stmt.a5o(7, entity.kal_1);
  };
  protoOf(ContentEntryContentCategoryJoinDao_JdbcImpl$_insertAdapterContentEntryContentCategoryJoin_abort$1).u5l = function (stmt, entity) {
    return this.qal(stmt, entity instanceof ContentEntryContentCategoryJoin ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$93(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.zal_1 = _this__u8e3s4;
    this.aam_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$93).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.zal_1.nal_1.b5n(this.aam_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryContentCategoryJoinDao_JdbcImpl(_db) {
    ContentEntryContentCategoryJoinDao.call(this);
    this.mal_1 = _db;
    var tmp = this;
    tmp.nal_1 = new ContentEntryContentCategoryJoinDao_JdbcImpl$_insertAdapterContentEntryContentCategoryJoin_abort$1(this);
  }
  protoOf(ContentEntryContentCategoryJoinDao_JdbcImpl).lal = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$93(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryContentCategoryJoinDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.lal(entity instanceof ContentEntryContentCategoryJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.jam_1 = this$0;
    this.kam_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.jam_1.nam_1.insertAsync(this.kam_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda(this.jam_1, this.kam_1, completion);
  };
  function ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$94(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.zam_1 = _this__u8e3s4;
    this.aan_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$94).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.zam_1.mam_1, 'ContentEntryContentCategoryJoin', ContentEntryContentCategoryJoinDao_Repo$insertAsync$slambda_0(this.zam_1, this.aan_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryContentCategoryJoinDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryContentCategoryJoinDao.call(this);
    this.lam_1 = _db;
    this.mam_1 = _repo;
    this.nam_1 = _dao;
    this.oam_1 = _httpClient;
    this.pam_1 = _clientId;
    this.qam_1 = _endpoint;
  }
  protoOf(ContentEntryContentCategoryJoinDao_Repo).lal = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$94(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryContentCategoryJoinDao_Repo).insertAsync = function (entity, $completion) {
    return this.lal(entity instanceof ContentEntryContentCategoryJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryDao() {
  }
  function $upsertAsyncCOROUTINE$96(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ran_1 = _this__u8e3s4;
    this.san_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$96).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.tan_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.ran_1.van_1));
            if (this.san_1.xan_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.tan_1.t68(42, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.uan_1 = suspendResult;
            this.san_1.xan_1 = this.uan_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.san_1.xao_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.ran_1.wan_1.ban(this.san_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$97(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gap_1 = _this__u8e3s4;
    this.hap_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$97).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.iap_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.gap_1.van_1));
            if (this.hap_1.xan_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.iap_1.t68(42, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.jap_1 = suspendResult;
            this.hap_1.xan_1 = this.jap_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.hap_1.xao_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.gap_1.wan_1.insertAsync(this.hap_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.hap_1.xan_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryDao_DoorWrapper(_db, _dao) {
    ContentEntryDao.call(this);
    this.van_1 = _db;
    this.wan_1 = _dao;
  }
  protoOf(ContentEntryDao_DoorWrapper).ban = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$96(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_DoorWrapper).can = function (entryUid, $completion) {
    return this.wan_1.can(entryUid, $completion);
  };
  protoOf(ContentEntryDao_DoorWrapper).dan = function (uid, $completion) {
    return this.wan_1.dan(uid, $completion);
  };
  protoOf(ContentEntryDao_DoorWrapper).ean = function (contentEntryUid, clazzUid, courseBlockUid, accountPersonUid) {
    return this.wan_1.ean(contentEntryUid, clazzUid, courseBlockUid, accountPersonUid);
  };
  protoOf(ContentEntryDao_DoorWrapper).fan = function (entryUid, $completion) {
    return this.wan_1.fan(entryUid, $completion);
  };
  protoOf(ContentEntryDao_DoorWrapper).gan = function (accountPersonUid, parentUid, langParam, categoryParam0, sortOrder, includeDeleted) {
    return this.wan_1.gan(accountPersonUid, parentUid, langParam, categoryParam0, sortOrder, includeDeleted);
  };
  protoOf(ContentEntryDao_DoorWrapper).han = function (accountPersonUid) {
    return this.wan_1.han(accountPersonUid);
  };
  protoOf(ContentEntryDao_DoorWrapper).ian = function (accountPersonUid) {
    return this.wan_1.ian(accountPersonUid);
  };
  protoOf(ContentEntryDao_DoorWrapper).kap = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$97(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.kap(entity instanceof ContentEntry ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var _tmp_title = $_result.rz('title');
      var _tmp_description = $_result.rz('description');
      var _tmp_entryId = $_result.rz('entryId');
      var _tmp_author = $_result.rz('author');
      var _tmp_publisher = $_result.rz('publisher');
      var _tmp_licenseType = $_result.c5t('licenseType');
      var _tmp_licenseName = $_result.rz('licenseName');
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var _tmp_lastModified = $_result.d5t('lastModified');
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var _tmp_leaf = $_result.o6c('leaf');
      var _tmp_publik = $_result.o6c('publik');
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var _tmp_minScore = $_result.c5t('minScore');
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntry();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.xan_1 = _tmp_contentEntryUid;
      this_0.yan_1 = _tmp_title;
      this_0.zan_1 = _tmp_description;
      this_0.aao_1 = _tmp_entryId;
      this_0.bao_1 = _tmp_author;
      this_0.cao_1 = _tmp_publisher;
      this_0.dao_1 = _tmp_licenseType;
      this_0.eao_1 = _tmp_licenseName;
      this_0.fao_1 = _tmp_licenseUrl;
      this_0.gao_1 = _tmp_sourceUrl;
      this_0.hao_1 = _tmp_thumbnailUrl;
      this_0.iao_1 = _tmp_lastModified;
      this_0.jao_1 = _tmp_primaryLanguageUid;
      this_0.kao_1 = _tmp_languageVariantUid;
      this_0.lao_1 = _tmp_contentFlags;
      this_0.mao_1 = _tmp_leaf;
      this_0.nao_1 = _tmp_publik;
      this_0.oao_1 = _tmp_ceInactive;
      this_0.pao_1 = _tmp_completionCriteria;
      this_0.qao_1 = _tmp_minScore;
      this_0.rao_1 = _tmp_contentTypeFlag;
      this_0.sao_1 = _tmp_contentOwner;
      this_0.tao_1 = _tmp_contentOwnerType;
      this_0.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
      this_0.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
      this_0.wao_1 = _tmp_contentEntryLastChangedBy;
      this_0.xao_1 = _tmp_contentEntryLct;
      return this_0;
    };
  }
  function ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryAndPicture();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByUidWithEditDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_30 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByUidWithEditDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.xan_1 = _tmp_contentEntryUid;
        this_1.yan_1 = _tmp_title;
        this_1.zan_1 = _tmp_description;
        this_1.aao_1 = _tmp_entryId;
        this_1.bao_1 = _tmp_author;
        this_1.cao_1 = _tmp_publisher;
        this_1.dao_1 = _tmp_licenseType;
        this_1.eao_1 = _tmp_licenseName;
        this_1.fao_1 = _tmp_licenseUrl;
        this_1.gao_1 = _tmp_sourceUrl;
        this_1.hao_1 = _tmp_thumbnailUrl;
        this_1.iao_1 = _tmp_lastModified;
        this_1.jao_1 = _tmp_primaryLanguageUid;
        this_1.kao_1 = _tmp_languageVariantUid;
        this_1.lao_1 = _tmp_contentFlags;
        this_1.mao_1 = _tmp_leaf;
        this_1.nao_1 = _tmp_publik;
        this_1.oao_1 = _tmp_ceInactive;
        this_1.pao_1 = _tmp_completionCriteria;
        this_1.qao_1 = _tmp_minScore;
        this_1.rao_1 = _tmp_contentTypeFlag;
        this_1.sao_1 = _tmp_contentOwner;
        this_1.tao_1 = _tmp_contentOwnerType;
        this_1.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_1.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_1.wao_1 = _tmp_contentEntryLastChangedBy;
        this_1.xao_1 = _tmp_contentEntryLct;
        tmp_30.lap_1 = this_1;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_31 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByUidWithEditDetails.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nap_1 = _tmp_cepUid;
        this_2.oap_1 = _tmp_cepLct;
        this_2.pap_1 = _tmp_cepPictureUri;
        this_2.qap_1 = _tmp_cepThumbnailUri;
        tmp_31.map_1 = this_2;
      }
      return this_0;
    };
  }
  function ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryVersion_nullCount = 0;
      var _tmp_cevUid = $_result.d5t('cevUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cevContentEntryUid = $_result.d5t('cevContentEntryUid');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cevOpenUri = $_result.rz('cevOpenUri');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cevContentType = $_result.rz('cevContentType');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_cevManifestUrl = $_result.rz('cevManifestUrl');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_cevSize = $_result.d5t('cevSize');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_cevInActive = $_result.o6c('cevInActive');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_cevLastModified = $_result.d5t('cevLastModified');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_cevLct = $_result.d5t('cevLct');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_cevStorageSize = $_result.d5t('cevStorageSize');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_cevOriginalSize = $_result.d5t('cevOriginalSize');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntryVersion_nullCount = _tmp_ContentEntryVersion_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_ContentEntryVersion_isAllNull = _tmp_ContentEntryVersion_nullCount === 11;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      var _tmp_BlockStatus_nullCount = 0;
      var _tmp_sPersonUid = $_result.d5t('sPersonUid');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_sCbUid = $_result.d5t('sCbUid');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_sProgress = getIntNullable($_result, 'sProgress');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_sIsCompleted = $_result.o6c('sIsCompleted');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_sIsSuccess = getBooleanNullable($_result, 'sIsSuccess');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_sScoreScaled = getFloatNullable($_result, 'sScoreScaled');
      var tmp_46;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_46 = Unit_instance;
      }
      var _tmp_BlockStatus_isAllNull = _tmp_BlockStatus_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryAndDetail();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByContentEntryUidWithDetailsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_47 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByContentEntryUidWithDetailsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.xan_1 = _tmp_contentEntryUid;
        this_1.yan_1 = _tmp_title;
        this_1.zan_1 = _tmp_description;
        this_1.aao_1 = _tmp_entryId;
        this_1.bao_1 = _tmp_author;
        this_1.cao_1 = _tmp_publisher;
        this_1.dao_1 = _tmp_licenseType;
        this_1.eao_1 = _tmp_licenseName;
        this_1.fao_1 = _tmp_licenseUrl;
        this_1.gao_1 = _tmp_sourceUrl;
        this_1.hao_1 = _tmp_thumbnailUrl;
        this_1.iao_1 = _tmp_lastModified;
        this_1.jao_1 = _tmp_primaryLanguageUid;
        this_1.kao_1 = _tmp_languageVariantUid;
        this_1.lao_1 = _tmp_contentFlags;
        this_1.mao_1 = _tmp_leaf;
        this_1.nao_1 = _tmp_publik;
        this_1.oao_1 = _tmp_ceInactive;
        this_1.pao_1 = _tmp_completionCriteria;
        this_1.qao_1 = _tmp_minScore;
        this_1.rao_1 = _tmp_contentTypeFlag;
        this_1.sao_1 = _tmp_contentOwner;
        this_1.tao_1 = _tmp_contentOwnerType;
        this_1.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_1.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_1.wao_1 = _tmp_contentEntryLastChangedBy;
        this_1.xao_1 = _tmp_contentEntryLct;
        tmp_47.rap_1 = this_1;
      }
      if (!_tmp_ContentEntryVersion_isAllNull) {
        var tmp_48 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new ContentEntryVersion();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByContentEntryUidWithDetailsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.vap_1 = _tmp_cevUid;
        this_2.wap_1 = _tmp_cevContentEntryUid;
        this_2.xap_1 = _tmp_cevOpenUri;
        this_2.yap_1 = _tmp_cevContentType;
        this_2.zap_1 = _tmp_cevManifestUrl;
        this_2.aaq_1 = _tmp_cevSize;
        this_2.baq_1 = _tmp_cevInActive;
        this_2.caq_1 = _tmp_cevLastModified;
        this_2.daq_1 = _tmp_cevLct;
        this_2.eaq_1 = _tmp_cevStorageSize;
        this_2.faq_1 = _tmp_cevOriginalSize;
        tmp_48.sap_1 = this_2;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_49 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByContentEntryUidWithDetailsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.nap_1 = _tmp_cepUid;
        this_3.oap_1 = _tmp_cepLct;
        this_3.pap_1 = _tmp_cepPictureUri;
        this_3.qap_1 = _tmp_cepThumbnailUri;
        tmp_49.tap_1 = this_3;
      }
      if (!_tmp_BlockStatus_isAllNull) {
        var tmp_50 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new BlockStatus();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.ContentEntryDao_JdbcImpl.findByContentEntryUidWithDetailsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.gaq_1 = _tmp_sPersonUid;
        this_4.haq_1 = _tmp_sCbUid;
        this_4.iaq_1 = _tmp_sProgress;
        this_4.jaq_1 = _tmp_sIsCompleted;
        this_4.kaq_1 = _tmp_sIsSuccess;
        this_4.laq_1 = _tmp_sScoreScaled;
        tmp_50.uap_1 = this_4;
      }
      return this_0;
    };
  }
  function ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda($clazzUid, $accountPersonUid, $courseBlockUid, $contentEntryUid, resultContinuation) {
    this.uaq_1 = $clazzUid;
    this.vaq_1 = $accountPersonUid;
    this.waq_1 = $courseBlockUid;
    this.xaq_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda).zaq = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.zaq((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.yaq_1.a5o(1, this.uaq_1);
            this.yaq_1.a5o(2, this.uaq_1);
            this.yaq_1.a5o(3, this.vaq_1);
            this.yaq_1.a5o(4, this.vaq_1);
            this.yaq_1.a5o(5, this.waq_1);
            this.yaq_1.a5o(6, this.vaq_1);
            this.yaq_1.a5o(7, this.vaq_1);
            this.yaq_1.a5o(8, this.vaq_1);
            this.yaq_1.a5o(9, this.vaq_1);
            this.yaq_1.a5o(10, this.vaq_1);
            this.yaq_1.a5o(11, this.xaq_1);
            this.yaq_1.a5o(12, this.xaq_1);
            this.yaq_1.a5o(13, this.xaq_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.yaq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda(this.uaq_1, this.vaq_1, this.waq_1, this.xaq_1, completion);
    i.yaq_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda_0($clazzUid, $accountPersonUid, $courseBlockUid, $contentEntryUid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda($clazzUid, $accountPersonUid, $courseBlockUid, $contentEntryUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.zaq(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.c67(1);
    };
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      var _tmp_ContentEntryParentChildJoin_nullCount = 0;
      var _tmp_cepcjUid = $_result.d5t('cepcjUid');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_cepcjLocalChangeSeqNum = $_result.d5t('cepcjLocalChangeSeqNum');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_cepcjMasterChangeSeqNum = $_result.d5t('cepcjMasterChangeSeqNum');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_cepcjLastChangedBy = $_result.c5t('cepcjLastChangedBy');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_cepcjLct = $_result.d5t('cepcjLct');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_cepcjDeleted = $_result.o6c('cepcjDeleted');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_cepcjParentContentEntryUid = $_result.d5t('cepcjParentContentEntryUid');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_cepcjChildContentEntryUid = $_result.d5t('cepcjChildContentEntryUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_childIndex = $_result.c5t('childIndex');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_ContentEntryParentChildJoin_isAllNull = _tmp_ContentEntryParentChildJoin_nullCount === 9;
      var _tmp_BlockStatus_nullCount = 0;
      var _tmp_sPersonUid = $_result.d5t('sPersonUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_sCbUid = $_result.d5t('sCbUid');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_sProgress = getIntNullable($_result, 'sProgress');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_sIsCompleted = $_result.o6c('sIsCompleted');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_sIsSuccess = getBooleanNullable($_result, 'sIsSuccess');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_sScoreScaled = getFloatNullable($_result, 'sScoreScaled');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_BlockStatus_isAllNull = _tmp_BlockStatus_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryAndListDetail();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_45 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.xan_1 = _tmp_contentEntryUid;
        this_1.yan_1 = _tmp_title;
        this_1.zan_1 = _tmp_description;
        this_1.aao_1 = _tmp_entryId;
        this_1.bao_1 = _tmp_author;
        this_1.cao_1 = _tmp_publisher;
        this_1.dao_1 = _tmp_licenseType;
        this_1.eao_1 = _tmp_licenseName;
        this_1.fao_1 = _tmp_licenseUrl;
        this_1.gao_1 = _tmp_sourceUrl;
        this_1.hao_1 = _tmp_thumbnailUrl;
        this_1.iao_1 = _tmp_lastModified;
        this_1.jao_1 = _tmp_primaryLanguageUid;
        this_1.kao_1 = _tmp_languageVariantUid;
        this_1.lao_1 = _tmp_contentFlags;
        this_1.mao_1 = _tmp_leaf;
        this_1.nao_1 = _tmp_publik;
        this_1.oao_1 = _tmp_ceInactive;
        this_1.pao_1 = _tmp_completionCriteria;
        this_1.qao_1 = _tmp_minScore;
        this_1.rao_1 = _tmp_contentTypeFlag;
        this_1.sao_1 = _tmp_contentOwner;
        this_1.tao_1 = _tmp_contentOwnerType;
        this_1.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_1.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_1.wao_1 = _tmp_contentEntryLastChangedBy;
        this_1.xao_1 = _tmp_contentEntryLct;
        tmp_45.aar_1 = this_1;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_46 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nap_1 = _tmp_cepUid;
        this_2.oap_1 = _tmp_cepLct;
        this_2.pap_1 = _tmp_cepPictureUri;
        this_2.qap_1 = _tmp_cepThumbnailUri;
        tmp_46.bar_1 = this_2;
      }
      if (!_tmp_ContentEntryParentChildJoin_isAllNull) {
        var tmp_47 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntryParentChildJoin();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.har_1 = _tmp_cepcjUid;
        this_3.iar_1 = _tmp_cepcjLocalChangeSeqNum;
        this_3.jar_1 = _tmp_cepcjMasterChangeSeqNum;
        this_3.kar_1 = _tmp_cepcjLastChangedBy;
        this_3.lar_1 = _tmp_cepcjLct;
        this_3.mar_1 = _tmp_cepcjDeleted;
        this_3.ear_1 = _tmp_cepcjParentContentEntryUid;
        this_3.far_1 = _tmp_cepcjChildContentEntryUid;
        this_3.gar_1 = _tmp_childIndex;
        tmp_47.car_1 = this_3;
      }
      if (!_tmp_BlockStatus_isAllNull) {
        var tmp_48 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new BlockStatus();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.gaq_1 = _tmp_sPersonUid;
        this_4.haq_1 = _tmp_sCbUid;
        this_4.iaq_1 = _tmp_sProgress;
        this_4.jaq_1 = _tmp_sIsCompleted;
        this_4.kaq_1 = _tmp_sIsSuccess;
        this_4.laq_1 = _tmp_sScoreScaled;
        tmp_48.dar_1 = this_4;
      }
      return this_0;
    };
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda($accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.var_1 = $accountPersonUid;
    this.war_1 = $parentUid;
    this.xar_1 = $langParam;
    this.yar_1 = $categoryParam0;
    this.zar_1 = $includeDeleted;
    this.aas_1 = $sortOrder;
    this.bas_1 = $_limit;
    this.cas_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda).eas = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda).he = function (p1, $completion) {
    return this.eas((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.das_1.a5o(1, this.var_1);
            this.das_1.a5o(2, this.var_1);
            this.das_1.a5o(3, this.var_1);
            this.das_1.a5o(4, this.var_1);
            this.das_1.a5o(5, this.var_1);
            this.das_1.a5o(6, this.var_1);
            this.das_1.a5o(7, this.war_1);
            this.das_1.a5o(8, this.xar_1);
            this.das_1.a5o(9, this.xar_1);
            this.das_1.a5o(10, this.yar_1);
            this.das_1.a5o(11, this.yar_1);
            this.das_1.n5n(12, this.zar_1);
            this.das_1.z5n(13, this.aas_1);
            this.das_1.z5n(14, this.aas_1);
            this.das_1.z5n(15, this.bas_1);
            this.das_1.z5n(16, this.cas_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.das_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda(this.var_1, this.war_1, this.xar_1, this.yar_1, this.zar_1, this.aas_1, this.bas_1, this.cas_1, completion);
    i.das_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda_0($accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda($accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.eas(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda($accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder, resultContinuation) {
    this.nas_1 = $accountPersonUid;
    this.oas_1 = $parentUid;
    this.pas_1 = $langParam;
    this.qas_1 = $categoryParam0;
    this.ras_1 = $includeDeleted;
    this.sas_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.tas_1.a5o(1, this.nas_1);
            this.tas_1.a5o(2, this.nas_1);
            this.tas_1.a5o(3, this.nas_1);
            this.tas_1.a5o(4, this.nas_1);
            this.tas_1.a5o(5, this.nas_1);
            this.tas_1.a5o(6, this.nas_1);
            this.tas_1.a5o(7, this.oas_1);
            this.tas_1.a5o(8, this.pas_1);
            this.tas_1.a5o(9, this.pas_1);
            this.tas_1.a5o(10, this.qas_1);
            this.tas_1.a5o(11, this.qas_1);
            this.tas_1.n5n(12, this.ras_1);
            this.tas_1.z5n(13, this.sas_1);
            this.tas_1.z5n(14, this.sas_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.tas_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda(this.nas_1, this.oas_1, this.pas_1, this.qas_1, this.ras_1, this.sas_1, completion);
    i.tas_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda_0($accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda($accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      var _tmp_ContentEntryParentChildJoin_nullCount = 0;
      var _tmp_cepcjUid = $_result.d5t('cepcjUid');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_cepcjLocalChangeSeqNum = $_result.d5t('cepcjLocalChangeSeqNum');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_cepcjMasterChangeSeqNum = $_result.d5t('cepcjMasterChangeSeqNum');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_cepcjLastChangedBy = $_result.c5t('cepcjLastChangedBy');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_cepcjLct = $_result.d5t('cepcjLct');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_cepcjDeleted = $_result.o6c('cepcjDeleted');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_cepcjParentContentEntryUid = $_result.d5t('cepcjParentContentEntryUid');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_cepcjChildContentEntryUid = $_result.d5t('cepcjChildContentEntryUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_childIndex = $_result.c5t('childIndex');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_ContentEntryParentChildJoin_isAllNull = _tmp_ContentEntryParentChildJoin_nullCount === 9;
      var _tmp_BlockStatus_nullCount = 0;
      var _tmp_sPersonUid = $_result.d5t('sPersonUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_sCbUid = $_result.d5t('sCbUid');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_sProgress = getIntNullable($_result, 'sProgress');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_sIsCompleted = $_result.o6c('sIsCompleted');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_sIsSuccess = getBooleanNullable($_result, 'sIsSuccess');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_sScoreScaled = getFloatNullable($_result, 'sScoreScaled');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_BlockStatus_isAllNull = _tmp_BlockStatus_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryAndListDetail();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_45 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.xan_1 = _tmp_contentEntryUid;
        this_1.yan_1 = _tmp_title;
        this_1.zan_1 = _tmp_description;
        this_1.aao_1 = _tmp_entryId;
        this_1.bao_1 = _tmp_author;
        this_1.cao_1 = _tmp_publisher;
        this_1.dao_1 = _tmp_licenseType;
        this_1.eao_1 = _tmp_licenseName;
        this_1.fao_1 = _tmp_licenseUrl;
        this_1.gao_1 = _tmp_sourceUrl;
        this_1.hao_1 = _tmp_thumbnailUrl;
        this_1.iao_1 = _tmp_lastModified;
        this_1.jao_1 = _tmp_primaryLanguageUid;
        this_1.kao_1 = _tmp_languageVariantUid;
        this_1.lao_1 = _tmp_contentFlags;
        this_1.mao_1 = _tmp_leaf;
        this_1.nao_1 = _tmp_publik;
        this_1.oao_1 = _tmp_ceInactive;
        this_1.pao_1 = _tmp_completionCriteria;
        this_1.qao_1 = _tmp_minScore;
        this_1.rao_1 = _tmp_contentTypeFlag;
        this_1.sao_1 = _tmp_contentOwner;
        this_1.tao_1 = _tmp_contentOwnerType;
        this_1.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_1.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_1.wao_1 = _tmp_contentEntryLastChangedBy;
        this_1.xao_1 = _tmp_contentEntryLct;
        tmp_45.aar_1 = this_1;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_46 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nap_1 = _tmp_cepUid;
        this_2.oap_1 = _tmp_cepLct;
        this_2.pap_1 = _tmp_cepPictureUri;
        this_2.qap_1 = _tmp_cepThumbnailUri;
        tmp_46.bar_1 = this_2;
      }
      if (!_tmp_ContentEntryParentChildJoin_isAllNull) {
        var tmp_47 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntryParentChildJoin();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.har_1 = _tmp_cepcjUid;
        this_3.iar_1 = _tmp_cepcjLocalChangeSeqNum;
        this_3.jar_1 = _tmp_cepcjMasterChangeSeqNum;
        this_3.kar_1 = _tmp_cepcjLastChangedBy;
        this_3.lar_1 = _tmp_cepcjLct;
        this_3.mar_1 = _tmp_cepcjDeleted;
        this_3.ear_1 = _tmp_cepcjParentContentEntryUid;
        this_3.far_1 = _tmp_cepcjChildContentEntryUid;
        this_3.gar_1 = _tmp_childIndex;
        tmp_47.car_1 = this_3;
      }
      if (!_tmp_BlockStatus_isAllNull) {
        var tmp_48 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new BlockStatus();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.gaq_1 = _tmp_sPersonUid;
        this_4.haq_1 = _tmp_sCbUid;
        this_4.iaq_1 = _tmp_sProgress;
        this_4.jaq_1 = _tmp_sIsCompleted;
        this_4.kaq_1 = _tmp_sIsSuccess;
        this_4.laq_1 = _tmp_sScoreScaled;
        tmp_48.dar_1 = this_4;
      }
      return this_0;
    };
  }
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda($accountPersonUid, $_limit, $_offset, resultContinuation) {
    this.cat_1 = $accountPersonUid;
    this.dat_1 = $_limit;
    this.eat_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda).eas = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda).he = function (p1, $completion) {
    return this.eas((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fat_1.a5o(1, this.cat_1);
            this.fat_1.a5o(2, this.cat_1);
            this.fat_1.a5o(3, this.cat_1);
            this.fat_1.a5o(4, this.cat_1);
            this.fat_1.a5o(5, this.cat_1);
            this.fat_1.a5o(6, this.cat_1);
            this.fat_1.a5o(7, this.cat_1);
            this.fat_1.z5n(8, this.dat_1);
            this.fat_1.z5n(9, this.eat_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.fat_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda(this.cat_1, this.dat_1, this.eat_1, completion);
    i.fat_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda_0($accountPersonUid, $_limit, $_offset, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda($accountPersonUid, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.eas(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda($accountPersonUid, resultContinuation) {
    this.oat_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.pat_1.a5o(1, this.oat_1);
            this.pat_1.a5o(2, this.oat_1);
            this.pat_1.a5o(3, this.oat_1);
            this.pat_1.a5o(4, this.oat_1);
            this.pat_1.a5o(5, this.oat_1);
            this.pat_1.a5o(6, this.oat_1);
            this.pat_1.a5o(7, this.oat_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.pat_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda(this.oat_1, completion);
    i.pat_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda_0($accountPersonUid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda($accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      var _tmp_ContentEntryParentChildJoin_nullCount = 0;
      var _tmp_cepcjUid = $_result.d5t('cepcjUid');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_cepcjLocalChangeSeqNum = $_result.d5t('cepcjLocalChangeSeqNum');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_cepcjMasterChangeSeqNum = $_result.d5t('cepcjMasterChangeSeqNum');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_cepcjLastChangedBy = $_result.c5t('cepcjLastChangedBy');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_cepcjLct = $_result.d5t('cepcjLct');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_cepcjDeleted = $_result.o6c('cepcjDeleted');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_cepcjParentContentEntryUid = $_result.d5t('cepcjParentContentEntryUid');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_cepcjChildContentEntryUid = $_result.d5t('cepcjChildContentEntryUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_childIndex = $_result.c5t('childIndex');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntryParentChildJoin_nullCount = _tmp_ContentEntryParentChildJoin_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_ContentEntryParentChildJoin_isAllNull = _tmp_ContentEntryParentChildJoin_nullCount === 9;
      var _tmp_BlockStatus_nullCount = 0;
      var _tmp_sPersonUid = $_result.d5t('sPersonUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_sCbUid = $_result.d5t('sCbUid');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_sProgress = getIntNullable($_result, 'sProgress');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_sIsCompleted = $_result.o6c('sIsCompleted');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_sIsSuccess = getBooleanNullable($_result, 'sIsSuccess');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_sScoreScaled = getFloatNullable($_result, 'sScoreScaled');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_BlockStatus_nullCount = _tmp_BlockStatus_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_BlockStatus_isAllNull = _tmp_BlockStatus_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryAndListDetail();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_45 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.xan_1 = _tmp_contentEntryUid;
        this_1.yan_1 = _tmp_title;
        this_1.zan_1 = _tmp_description;
        this_1.aao_1 = _tmp_entryId;
        this_1.bao_1 = _tmp_author;
        this_1.cao_1 = _tmp_publisher;
        this_1.dao_1 = _tmp_licenseType;
        this_1.eao_1 = _tmp_licenseName;
        this_1.fao_1 = _tmp_licenseUrl;
        this_1.gao_1 = _tmp_sourceUrl;
        this_1.hao_1 = _tmp_thumbnailUrl;
        this_1.iao_1 = _tmp_lastModified;
        this_1.jao_1 = _tmp_primaryLanguageUid;
        this_1.kao_1 = _tmp_languageVariantUid;
        this_1.lao_1 = _tmp_contentFlags;
        this_1.mao_1 = _tmp_leaf;
        this_1.nao_1 = _tmp_publik;
        this_1.oao_1 = _tmp_ceInactive;
        this_1.pao_1 = _tmp_completionCriteria;
        this_1.qao_1 = _tmp_minScore;
        this_1.rao_1 = _tmp_contentTypeFlag;
        this_1.sao_1 = _tmp_contentOwner;
        this_1.tao_1 = _tmp_contentOwnerType;
        this_1.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_1.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_1.wao_1 = _tmp_contentEntryLastChangedBy;
        this_1.xao_1 = _tmp_contentEntryLct;
        tmp_45.aar_1 = this_1;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_46 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nap_1 = _tmp_cepUid;
        this_2.oap_1 = _tmp_cepLct;
        this_2.pap_1 = _tmp_cepPictureUri;
        this_2.qap_1 = _tmp_cepThumbnailUri;
        tmp_46.bar_1 = this_2;
      }
      if (!_tmp_ContentEntryParentChildJoin_isAllNull) {
        var tmp_47 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntryParentChildJoin();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.har_1 = _tmp_cepcjUid;
        this_3.iar_1 = _tmp_cepcjLocalChangeSeqNum;
        this_3.jar_1 = _tmp_cepcjMasterChangeSeqNum;
        this_3.kar_1 = _tmp_cepcjLastChangedBy;
        this_3.lar_1 = _tmp_cepcjLct;
        this_3.mar_1 = _tmp_cepcjDeleted;
        this_3.ear_1 = _tmp_cepcjParentContentEntryUid;
        this_3.far_1 = _tmp_cepcjChildContentEntryUid;
        this_3.gar_1 = _tmp_childIndex;
        tmp_47.car_1 = this_3;
      }
      if (!_tmp_BlockStatus_isAllNull) {
        var tmp_48 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new BlockStatus();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.gaq_1 = _tmp_sPersonUid;
        this_4.haq_1 = _tmp_sCbUid;
        this_4.iaq_1 = _tmp_sProgress;
        this_4.jaq_1 = _tmp_sIsCompleted;
        this_4.kaq_1 = _tmp_sIsSuccess;
        this_4.laq_1 = _tmp_sScoreScaled;
        tmp_48.dar_1 = this_4;
      }
      return this_0;
    };
  }
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda$lambda$lambda(_result));
  }
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda($accountPersonUid, $_limit, $_offset, resultContinuation) {
    this.yat_1 = $accountPersonUid;
    this.zat_1 = $_limit;
    this.aau_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda).eas = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda).he = function (p1, $completion) {
    return this.eas((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.bau_1.a5o(1, this.yat_1);
            this.bau_1.a5o(2, this.yat_1);
            this.bau_1.a5o(3, this.yat_1);
            this.bau_1.a5o(4, this.yat_1);
            this.bau_1.a5o(5, this.yat_1);
            this.bau_1.a5o(6, this.yat_1);
            this.bau_1.a5o(7, this.yat_1);
            this.bau_1.z5n(8, this.zat_1);
            this.bau_1.z5n(9, this.aau_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.bau_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda(this.yat_1, this.zat_1, this.aau_1, completion);
    i.bau_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda_0($accountPersonUid, $_limit, $_offset, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda($accountPersonUid, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.eas(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda($accountPersonUid, resultContinuation) {
    this.kau_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.lau_1.a5o(1, this.kau_1);
            this.lau_1.a5o(2, this.kau_1);
            this.lau_1.a5o(3, this.kau_1);
            this.lau_1.a5o(4, this.kau_1);
            this.lau_1.a5o(5, this.kau_1);
            this.lau_1.a5o(6, this.kau_1);
            this.lau_1.a5o(7, this.kau_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.lau_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda(this.kau_1, completion);
    i.lau_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda_0($accountPersonUid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda($accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mau_1);
  }
  protoOf(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_abort$1).rau = function (stmt, entity) {
    if (entity.xan_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.xan_1);
    }
    stmt.d5o(2, entity.yan_1);
    stmt.d5o(3, entity.zan_1);
    stmt.d5o(4, entity.aao_1);
    stmt.d5o(5, entity.bao_1);
    stmt.d5o(6, entity.cao_1);
    stmt.z5n(7, entity.dao_1);
    stmt.d5o(8, entity.eao_1);
    stmt.d5o(9, entity.fao_1);
    stmt.d5o(10, entity.gao_1);
    stmt.d5o(11, entity.hao_1);
    stmt.a5o(12, entity.iao_1);
    stmt.a5o(13, entity.jao_1);
    stmt.a5o(14, entity.kao_1);
    stmt.z5n(15, entity.lao_1);
    stmt.n5n(16, entity.mao_1);
    stmt.n5n(17, entity.nao_1);
    stmt.n5n(18, entity.oao_1);
    stmt.z5n(19, entity.pao_1);
    stmt.z5n(20, entity.qao_1);
    stmt.z5n(21, entity.rao_1);
    stmt.a5o(22, entity.sao_1);
    stmt.z5n(23, entity.tao_1);
    stmt.a5o(24, entity.uao_1);
    stmt.a5o(25, entity.vao_1);
    stmt.z5n(26, entity.wao_1);
    stmt.a5o(27, entity.xao_1);
  };
  protoOf(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_abort$1).u5l = function (stmt, entity) {
    return this.rau(stmt, entity instanceof ContentEntry ? entity : THROW_CCE());
  };
  function ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mau_1);
  }
  protoOf(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_upsert$1).rau = function (stmt, entity) {
    if (entity.xan_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.xan_1);
    }
    stmt.d5o(2, entity.yan_1);
    stmt.d5o(3, entity.zan_1);
    stmt.d5o(4, entity.aao_1);
    stmt.d5o(5, entity.bao_1);
    stmt.d5o(6, entity.cao_1);
    stmt.z5n(7, entity.dao_1);
    stmt.d5o(8, entity.eao_1);
    stmt.d5o(9, entity.fao_1);
    stmt.d5o(10, entity.gao_1);
    stmt.d5o(11, entity.hao_1);
    stmt.a5o(12, entity.iao_1);
    stmt.a5o(13, entity.jao_1);
    stmt.a5o(14, entity.kao_1);
    stmt.z5n(15, entity.lao_1);
    stmt.n5n(16, entity.mao_1);
    stmt.n5n(17, entity.nao_1);
    stmt.n5n(18, entity.oao_1);
    stmt.z5n(19, entity.pao_1);
    stmt.z5n(20, entity.qao_1);
    stmt.z5n(21, entity.rao_1);
    stmt.a5o(22, entity.sao_1);
    stmt.z5n(23, entity.tao_1);
    stmt.a5o(24, entity.uao_1);
    stmt.a5o(25, entity.vao_1);
    stmt.z5n(26, entity.wao_1);
    stmt.a5o(27, entity.xao_1);
  };
  protoOf(ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_upsert$1).u5l = function (stmt, entity) {
    return this.rau(stmt, entity instanceof ContentEntry ? entity : THROW_CCE());
  };
  function ContentEntryDao_JdbcImpl$findByUidAsync$slambda($entryUid, resultContinuation) {
    this.cav_1 = $entryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$findByUidAsync$slambda).eav = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.eav((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.dav_1.a5o(1, this.cav_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.dav_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$findByUidAsync$slambda(this.cav_1, completion);
    i.dav_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$findByUidAsync$slambda_0($entryUid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$findByUidAsync$slambda($entryUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.eav(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda($uid, resultContinuation) {
    this.nav_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda).pav = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda).he = function (p1, $completion) {
    return this.pav((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.oav_1.a5o(1, this.nav_1);
            this.oav_1.a5o(2, this.nav_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.oav_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda(this.nav_1, completion);
    i.oav_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda_0($uid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.pav(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, $courseBlockUid, $contentEntryUid, resultContinuation) {
    this.yav_1 = this$0;
    this.zav_1 = $clazzUid;
    this.aaw_1 = $accountPersonUid;
    this.baw_1 = $courseBlockUid;
    this.caw_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda).daw = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda).r7e = function ($completion) {
    return this.daw($completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n              -- When the user is viewing ContentEntryDetail where the class is specified eg \n              -- for a ContentEntry that is part of a Clazz then results information will only be\n              -- included if the user is a student in the class\n              -- If the user is viewing the ContentEntryDetail via the library then the results\n              -- information will always be included\n              WITH IncludeResults(includeResults) AS (\n                   SELECT CAST(\n                      (SELECT (CAST(? AS BIGINT) = 0)\n                           OR (\n        (SELECT EXISTS(\n                SELECT 1\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)\n                   AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                   AND ClazzEnrolment.clazzEnrolmentRole = 1000))\n    )\n                      ) AS INTEGER)\n                  )\n\n              SELECT ContentEntry.*, ContentEntryVersion.*, ContentEntryPicture2.*,\n                   CAST(? AS BIGINT) AS sPersonUid,\n                   CAST(? AS BIGINT) AS sCbUid,\n                   \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n              FROM ContentEntry\n                   LEFT JOIN ContentEntryVersion\n                             ON ContentEntryVersion.cevUid = \n                             (SELECT ContentEntryVersion.cevUid\n                                FROM ContentEntryVersion\n                               WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT)\n                                 AND CAST(cevInActive AS INTEGER) = 0\n                            ORDER BY ContentEntryVersion.cevLct DESC\n                              LIMIT 1)\n                   LEFT JOIN ContentEntryPicture2\n                             ON ContentEntryPicture2.cepUid = CAST(? AS BIGINT)   \n             WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT)\n            ', VOID, VOID, VOID, '\n              -- When the user is viewing ContentEntryDetail where the class is specified eg \n              -- for a ContentEntry that is part of a Clazz then results information will only be\n              -- included if the user is a student in the class\n              -- If the user is viewing the ContentEntryDetail via the library then the results\n              -- information will always be included\n              WITH IncludeResults(includeResults) AS (\n                   SELECT CAST(\n                      (SELECT (? = 0)\n                           OR (\n        (SELECT EXISTS(\n                SELECT 1\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ?\n                   AND ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                   AND ClazzEnrolment.clazzEnrolmentRole = 1000))\n    )\n                      ) AS INTEGER)\n                  )\n\n              SELECT ContentEntry.*, ContentEntryVersion.*, ContentEntryPicture2.*,\n                   ? AS sPersonUid,\n                   ? AS sCbUid,\n                   \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n              FROM ContentEntry\n                   LEFT JOIN ContentEntryVersion\n                             ON ContentEntryVersion.cevUid = \n                             (SELECT ContentEntryVersion.cevUid\n                                FROM ContentEntryVersion\n                               WHERE ContentEntryVersion.cevContentEntryUid = ?\n                                 AND CAST(cevInActive AS INTEGER) = 0\n                            ORDER BY ContentEntryVersion.cevLct DESC\n                              LIMIT 1)\n                   LEFT JOIN ContentEntryPicture2\n                             ON ContentEntryPicture2.cepUid = ?   \n             WHERE ContentEntry.contentEntryUid = ?\n            \n', true);
            suspendResult = prepareAndUseStatementAsync(this.yav_1.mau_1, tmp_0, ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda$slambda_0(this.zav_1, this.aaw_1, this.baw_1, this.caw_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda).q7e = function (completion) {
    return new ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda(this.yav_1, this.zav_1, this.aaw_1, this.baw_1, this.caw_1, completion);
  };
  function ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda_0(this$0, $clazzUid, $accountPersonUid, $courseBlockUid, $contentEntryUid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, $courseBlockUid, $contentEntryUid, resultContinuation);
    var l = function ($completion) {
      return i.daw($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda($entryUid, resultContinuation) {
    this.maw_1 = $entryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda).m8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda).he = function (p1, $completion) {
    return this.m8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.naw_1.a5o(1, this.maw_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.naw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda(this.maw_1, completion);
    i.naw_1 = _stmt;
    return i;
  };
  function ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda_0($entryUid, resultContinuation) {
    var i = new ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda($entryUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.m8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$1(this$0, $accountPersonUid, $parentUid, $langParam, $categoryParam0, $includeDeleted, $sortOrder) {
    this.uaw_1 = this$0;
    this.vaw_1 = $accountPersonUid;
    this.waw_1 = $parentUid;
    this.xaw_1 = $langParam;
    this.yaw_1 = $categoryParam0;
    this.zaw_1 = $includeDeleted;
    this.aax_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['ContentEntry', 'ContentEntryContentCategoryJoin', 'ContentEntryPicture2', 'StatementEntity', 'ContentEntryParentChildJoin'];
    DoorLimitOffsetPagingSource.call(this, this$0.mau_1, tmp$ret$2);
  }
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$1).bax = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n            WITH IncludeResults(includeResults) AS (SELECT 1)\n            \n            SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n                   \n               CAST(? AS BIGINT) AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n              FROM ContentEntry \n                    LEFT JOIN ContentEntryParentChildJoin \n                         ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid \n                    LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n             WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) \n               AND (CAST(? AS BIGINT) = 0 OR ContentEntry.primaryLanguageUid = CAST(? AS BIGINT))\n               AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) \n                    IN (SELECT ceccjContentCategoryUid \n                          FROM ContentEntryContentCategoryJoin \n                         WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) \n               AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0)          \n            ORDER BY ContentEntryParentChildJoin.childIndex,\n                     CASE(?)\n                     WHEN 1 THEN ContentEntry.title\n                     ELSE ''\n                     END ASC,\n                     CASE(?)\n                     WHEN 2 THEN ContentEntry.title\n                     ELSE ''\n                     END DESC,             \n                     ContentEntry.contentEntryUid) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n            WITH IncludeResults(includeResults) AS (SELECT 1)\n            \n            SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n                   \n               ? AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n              FROM ContentEntry \n                    LEFT JOIN ContentEntryParentChildJoin \n                         ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid \n                    LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n             WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? \n               AND (? = 0 OR ContentEntry.primaryLanguageUid = ?)\n               AND (? = 0 OR ? \n                    IN (SELECT ceccjContentCategoryUid \n                          FROM ContentEntryContentCategoryJoin \n                         WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) \n               AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0)          \n            ORDER BY ContentEntryParentChildJoin.childIndex,\n                     CASE(?)\n                     WHEN 1 THEN ContentEntry.title\n                     ELSE ''\n                     END ASC,\n                     CASE(?)\n                     WHEN 2 THEN ContentEntry.title\n                     ELSE ''\n                     END DESC,             \n                     ContentEntry.contentEntryUid) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.uaw_1.mau_1, tmp, ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$loadRows$slambda_0(this.vaw_1, this.waw_1, this.xaw_1, this.yaw_1, this.zaw_1, this.aax_1, _limit, _offset, null), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$1).b5w = function (_limit, _offset, $completion) {
    return this.bax(_limit, _offset, $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n            WITH IncludeResults(includeResults) AS (SELECT 1)\n            \n            SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n                   \n               CAST(? AS BIGINT) AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n              FROM ContentEntry \n                    LEFT JOIN ContentEntryParentChildJoin \n                         ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid \n                    LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n             WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) \n               AND (CAST(? AS BIGINT) = 0 OR ContentEntry.primaryLanguageUid = CAST(? AS BIGINT))\n               AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) \n                    IN (SELECT ceccjContentCategoryUid \n                          FROM ContentEntryContentCategoryJoin \n                         WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) \n               AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0)          \n            ORDER BY ContentEntryParentChildJoin.childIndex,\n                     CASE(?)\n                     WHEN 1 THEN ContentEntry.title\n                     ELSE ''\n                     END ASC,\n                     CASE(?)\n                     WHEN 2 THEN ContentEntry.title\n                     ELSE ''\n                     END DESC,             \n                     ContentEntry.contentEntryUid) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n            WITH IncludeResults(includeResults) AS (SELECT 1)\n            \n            SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n                   \n               ? AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n              FROM ContentEntry \n                    LEFT JOIN ContentEntryParentChildJoin \n                         ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid \n                    LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n             WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? \n               AND (? = 0 OR ContentEntry.primaryLanguageUid = ?)\n               AND (? = 0 OR ? \n                    IN (SELECT ceccjContentCategoryUid \n                          FROM ContentEntryContentCategoryJoin \n                         WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) \n               AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0)          \n            ORDER BY ContentEntryParentChildJoin.childIndex,\n                     CASE(?)\n                     WHEN 1 THEN ContentEntry.title\n                     ELSE ''\n                     END ASC,\n                     CASE(?)\n                     WHEN 2 THEN ContentEntry.title\n                     ELSE ''\n                     END DESC,             \n                     ContentEntry.contentEntryUid) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.uaw_1.mau_1, tmp, ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$o$countRows$slambda_0(this.vaw_1, this.waw_1, this.xaw_1, this.yaw_1, this.zaw_1, this.aax_1, null), $completion);
  };
  function ContentEntryDao_JdbcImpl$getContentFromMyCourses$1(this$0, $accountPersonUid) {
    this.iax_1 = this$0;
    this.jax_1 = $accountPersonUid;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['ContentEntry', 'CourseBlock', 'ClazzEnrolment', 'ContentEntryPicture2', 'StatementEntity', 'ContentEntryParentChildJoin'];
    DoorLimitOffsetPagingSource.call(this, this$0.mau_1, tmp$ret$2);
  }
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$1).bax = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n               \n               CAST(? AS BIGINT) AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM CourseBlock\n               JOIN ContentEntry \n                    ON CourseBlock.cbType = 104\n                       AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n                       AND CAST(CourseBlock.cbActive AS INTEGER) = 1\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid          \n         WHERE CourseBlock.cbClazzUid IN\n               (SELECT ClazzEnrolment.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT))\n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n               \n               ? AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM CourseBlock\n               JOIN ContentEntry \n                    ON CourseBlock.cbType = 104\n                       AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n                       AND CAST(CourseBlock.cbActive AS INTEGER) = 1\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid          \n         WHERE CourseBlock.cbClazzUid IN\n               (SELECT ClazzEnrolment.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?)\n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.iax_1.mau_1, tmp, ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$loadRows$slambda_0(this.jax_1, _limit, _offset, null), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$1).b5w = function (_limit, _offset, $completion) {
    return this.bax(_limit, _offset, $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentFromMyCourses$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n               \n               CAST(? AS BIGINT) AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM CourseBlock\n               JOIN ContentEntry \n                    ON CourseBlock.cbType = 104\n                       AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n                       AND CAST(CourseBlock.cbActive AS INTEGER) = 1\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid          \n         WHERE CourseBlock.cbClazzUid IN\n               (SELECT ClazzEnrolment.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT))\n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*,\n               \n               ? AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM CourseBlock\n               JOIN ContentEntry \n                    ON CourseBlock.cbType = 104\n                       AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n                       AND CAST(CourseBlock.cbActive AS INTEGER) = 1\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid          \n         WHERE CourseBlock.cbClazzUid IN\n               (SELECT ClazzEnrolment.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?)\n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.iax_1.mau_1, tmp, ContentEntryDao_JdbcImpl$getContentFromMyCourses$o$countRows$slambda_0(this.jax_1, null), $completion);
  };
  function ContentEntryDao_JdbcImpl$getContentByOwner$1(this$0, $accountPersonUid) {
    this.qax_1 = this$0;
    this.rax_1 = $accountPersonUid;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['ContentEntry', 'ContentEntryPicture2', 'StatementEntity', 'ContentEntryParentChildJoin'];
    DoorLimitOffsetPagingSource.call(this, this$0.mau_1, tmp$ret$2);
  }
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$1).bax = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, \n               \n               CAST(? AS BIGINT) AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM ContentEntry\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n         WHERE ContentEntry.contentOwner = CAST(? AS BIGINT)\n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, \n               \n               ? AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM ContentEntry\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n         WHERE ContentEntry.contentOwner = ?\n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.qax_1.mau_1, tmp, ContentEntryDao_JdbcImpl$getContentByOwner$o$loadRows$slambda_0(this.rax_1, _limit, _offset, null), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$1).b5w = function (_limit, _offset, $completion) {
    return this.bax(_limit, _offset, $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl$getContentByOwner$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, \n               \n               CAST(? AS BIGINT) AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM ContentEntry\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n         WHERE ContentEntry.contentOwner = CAST(? AS BIGINT)\n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        WITH IncludeResults(includeResults) AS (SELECT 1)\n        \n        SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, \n               \n               ? AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = ?\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = ?\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = ?\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = ?\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    \n          FROM ContentEntry\n               LEFT JOIN ContentEntryParentChildJoin\n                         ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0\n               LEFT JOIN ContentEntryPicture2\n                         ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid\n         WHERE ContentEntry.contentOwner = ?\n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.qax_1.mau_1, tmp, ContentEntryDao_JdbcImpl$getContentByOwner$o$countRows$slambda_0(this.rax_1, null), $completion);
  };
  function $insertAsyncCOROUTINE$98(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.aay_1 = _this__u8e3s4;
    this.bay_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$98).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.aay_1.nau_1.b5n(this.bay_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryDao_JdbcImpl(_db) {
    ContentEntryDao.call(this);
    this.mau_1 = _db;
    var tmp = this;
    tmp.nau_1 = new ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_abort$1(this);
    var tmp_0 = this;
    tmp_0.oau_1 = new ContentEntryDao_JdbcImpl$_insertAdapterContentEntry_upsert$1(this);
  }
  protoOf(ContentEntryDao_JdbcImpl).ban = function (entity, $completion) {
    return this.oau_1.a5n(entity, $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl).kap = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$98(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.kap(entity instanceof ContentEntry ? entity : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl).can = function (entryUid, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM ContentEntry WHERE contentEntryUid = CAST(? AS BIGINT)', VOID, VOID, VOID, 'SELECT * FROM ContentEntry WHERE contentEntryUid = ?\n', true);
    return prepareAndUseStatementAsync(this.mau_1, tmp, ContentEntryDao_JdbcImpl$findByUidAsync$slambda_0(entryUid, null), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl).dan = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT ContentEntry.*, ContentEntryPicture2.*\n          FROM ContentEntry\n               LEFT JOIN ContentEntryPicture2 \n                         ON ContentEntryPicture2.cepUid = CAST(? AS BIGINT)\n         WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT)                \n    ', VOID, VOID, VOID, '\n        SELECT ContentEntry.*, ContentEntryPicture2.*\n          FROM ContentEntry\n               LEFT JOIN ContentEntryPicture2 \n                         ON ContentEntryPicture2.cepUid = ?\n         WHERE ContentEntry.contentEntryUid = ?                \n    \n', true);
    return prepareAndUseStatementAsync(this.mau_1, tmp, ContentEntryDao_JdbcImpl$findByUidWithEditDetails$slambda_0(uid, null), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl).ean = function (contentEntryUid, clazzUid, courseBlockUid, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ContentEntry', 'ContentEntryVersion', 'ContentEntryPicture2', 'CourseBlock', 'ClazzEnrolment', 'StatementEntity'];
    return doorFlow(this.mau_1, tmp, ContentEntryDao_JdbcImpl$findByContentEntryUidWithDetailsAsFlow$slambda_0(this, clazzUid, accountPersonUid, courseBlockUid, contentEntryUid, null));
  };
  protoOf(ContentEntryDao_JdbcImpl).fan = function (entryUid, $completion) {
    var tmp = new PreparedStatementConfig('SELECT title FROM ContentEntry WHERE contentEntryUid = CAST(? AS BIGINT)', VOID, VOID, VOID, 'SELECT title FROM ContentEntry WHERE contentEntryUid = ?\n', true);
    return prepareAndUseStatementAsync(this.mau_1, tmp, ContentEntryDao_JdbcImpl$findTitleByUidAsync$slambda_0(entryUid, null), $completion);
  };
  protoOf(ContentEntryDao_JdbcImpl).gan = function (accountPersonUid, parentUid, langParam, categoryParam0, sortOrder, includeDeleted) {
    return new ContentEntryDao_JdbcImpl$getChildrenByParentUidWithCategoryFilterOrderByName$1(this, accountPersonUid, parentUid, langParam, categoryParam0, includeDeleted, sortOrder);
  };
  protoOf(ContentEntryDao_JdbcImpl).han = function (accountPersonUid) {
    return new ContentEntryDao_JdbcImpl$getContentFromMyCourses$1(this, accountPersonUid);
  };
  protoOf(ContentEntryDao_JdbcImpl).ian = function (accountPersonUid) {
    return new ContentEntryDao_JdbcImpl$getContentByOwner$1(this, accountPersonUid);
  };
  function ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ContentEntryDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation) {
    this.kay_1 = this$0;
    this.lay_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_Repo$upsertAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kay_1.oay_1.ban(this.lay_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new ContentEntryDao_Repo$upsertAsync$slambda(this.kay_1, this.lay_1, completion);
  };
  function ContentEntryDao_Repo$upsertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentEntryDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryDao_Repo$findByUidWithEditDetails$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda(this$0, $contentEntryUid, $clazzUid, $courseBlockUid, $accountPersonUid, resultContinuation) {
    this.baz_1 = this$0;
    this.caz_1 = $contentEntryUid;
    this.daz_1 = $clazzUid;
    this.eaz_1 = $courseBlockUid;
    this.faz_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.gaz_1 = this.baz_1.nay_1;
            var tmp_1 = this;
            tmp_1.haz_1 = 'ContentEntryDao/findByContentEntryUidWithDetailsAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.iaz_1 = this.baz_1.pay_1;
            var tmp_3 = this;
            tmp_3.jaz_1 = this.iaz_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.baz_1.nay_1.a3d(), 'ContentEntryDao/findByContentEntryUidWithDetailsAsFlow');
            doorNodeIdHeader(this_0, this.baz_1.nay_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'contentEntryUid', this.baz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.caz_1));
            parameter(this_0, 'clazzUid', this.baz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.daz_1));
            parameter(this_0, 'courseBlockUid', this.baz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.eaz_1));
            parameter(this_0, 'accountPersonUid', this.baz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.faz_1));
            tmp_4.kaz_1 = this_0;
            this.kaz_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.laz_1 = this.jaz_1;
            var tmp_6 = this;
            tmp_6.maz_1 = this.kaz_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.maz_1, this.laz_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.naz_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.baz_1.may_1, this.naz_1, this.baz_1.nay_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda$lambda(this.gaz_1, this.haz_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda).q7e = function (completion) {
    return new ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda(this.baz_1, this.caz_1, this.daz_1, this.eaz_1, this.faz_1, completion);
  };
  function ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda_0(this$0, $contentEntryUid, $clazzUid, $courseBlockUid, $accountPersonUid, resultContinuation) {
    var i = new ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda(this$0, $contentEntryUid, $clazzUid, $courseBlockUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryDao_Repo$findTitleByUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda(this$0, $accountPersonUid, $parentUid, $langParam, $categoryParam0, $sortOrder, $includeDeleted, resultContinuation) {
    this.waz_1 = this$0;
    this.xaz_1 = $accountPersonUid;
    this.yaz_1 = $parentUid;
    this.zaz_1 = $langParam;
    this.ab0_1 = $categoryParam0;
    this.bb0_1 = $sortOrder;
    this.cb0_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.fb0_1 = this.waz_1.nay_1;
            var tmp_1 = this;
            tmp_1.gb0_1 = 'ContentEntryDao/getChildrenByParentUidWithCategoryFilterOrderByName';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.hb0_1 = this.waz_1.pay_1;
            var tmp_3 = this;
            tmp_3.ib0_1 = this.hb0_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.waz_1.nay_1.a3d(), 'ContentEntryDao/getChildrenByParentUidWithCategoryFilterOrderByName');
            doorNodeIdHeader(this_0, this.waz_1.nay_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.waz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.xaz_1));
            parameter(this_0, 'parentUid', this.waz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.yaz_1));
            parameter(this_0, 'langParam', this.waz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.zaz_1));
            parameter(this_0, 'categoryParam0', this.waz_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ab0_1));
            parameter(this_0, 'sortOrder', this.waz_1.nay_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.bb0_1));
            parameter(this_0, 'includeDeleted', this.waz_1.nay_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.cb0_1));
            pagingSourceLoadParameters(this_0, this.waz_1.nay_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.db0_1);
            tmp_4.jb0_1 = this_0;
            this.jb0_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.kb0_1 = this.ib0_1;
            var tmp_6 = this;
            tmp_6.lb0_1 = this.jb0_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.lb0_1, this.kb0_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.mb0_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.waz_1.may_1, this.mb0_1, this.waz_1.nay_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.eb0_1 = endOfPaginationReached(this.mb0_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda$lambda(this.fb0_1, this.gb0_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.eb0_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda).d8c = function (_pagingParams, completion) {
    var i = new ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda(this.waz_1, this.xaz_1, this.yaz_1, this.zaz_1, this.ab0_1, this.bb0_1, this.cb0_1, completion);
    i.db0_1 = _pagingParams;
    return i;
  };
  function ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda_0(this$0, $accountPersonUid, $parentUid, $langParam, $categoryParam0, $sortOrder, $includeDeleted, resultContinuation) {
    var i = new ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda(this$0, $accountPersonUid, $parentUid, $langParam, $categoryParam0, $sortOrder, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.vb0_1 = this$0;
    this.wb0_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentEntryDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.vb0_1.oay_1.insertAsync(this.wb0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentEntryDao_Repo$insertAsync$slambda(this.vb0_1, this.wb0_1, completion);
  };
  function ContentEntryDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentEntryDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByUidAsyncCOROUTINE$100(_this__u8e3s4, entryUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fb1_1 = _this__u8e3s4;
    this.gb1_1 = entryUid;
  }
  protoOf($findByUidAsyncCOROUTINE$100).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.fb1_1.oay_1.can(this.gb1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidWithEditDetailsCOROUTINE$102(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pb1_1 = _this__u8e3s4;
    this.qb1_1 = uid;
  }
  protoOf($findByUidWithEditDetailsCOROUTINE$102).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.rb1_1 = this.pb1_1.nay_1;
            var tmp_1 = this;
            tmp_1.sb1_1 = 'ContentEntryDao/findByUidWithEditDetails';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tb1_1 = this.pb1_1.pay_1;
            var tmp_3 = this;
            tmp_3.ub1_1 = this.tb1_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.pb1_1.nay_1.a3d(), 'ContentEntryDao/findByUidWithEditDetails');
            doorNodeIdHeader(this_0, this.pb1_1.nay_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.pb1_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qb1_1));
            tmp_4.vb1_1 = this_0;
            this.vb1_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wb1_1 = this.ub1_1;
            var tmp_6 = this;
            tmp_6.xb1_1 = this.vb1_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xb1_1, this.wb1_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.yb1_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.pb1_1.may_1, this.yb1_1, this.pb1_1.nay_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.zb1_1 = this.kd_1;
              Napier_getInstance().i5k(this.zb1_1, 'DoorLog', ContentEntryDao_Repo$findByUidWithEditDetails$lambda(this.rb1_1, this.sb1_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.pb1_1.oay_1.dan(this.qb1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findTitleByUidAsyncCOROUTINE$103(_this__u8e3s4, entryUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ib2_1 = _this__u8e3s4;
    this.jb2_1 = entryUid;
  }
  protoOf($findTitleByUidAsyncCOROUTINE$103).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.kb2_1 = this.ib2_1.nay_1;
            var tmp_1 = this;
            tmp_1.lb2_1 = 'ContentEntryDao/findTitleByUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.mb2_1 = this.ib2_1.pay_1;
            var tmp_3 = this;
            tmp_3.nb2_1 = this.mb2_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ib2_1.nay_1.a3d(), 'ContentEntryDao/findTitleByUidAsync');
            doorNodeIdHeader(this_0, this.ib2_1.nay_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'entryUid', this.ib2_1.nay_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jb2_1));
            tmp_4.ob2_1 = this_0;
            this.ob2_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.pb2_1 = this.nb2_1;
            var tmp_6 = this;
            tmp_6.qb2_1 = this.ob2_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.qb2_1, this.pb2_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.rb2_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ib2_1.may_1, this.rb2_1, this.ib2_1.nay_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.sb2_1 = this.kd_1;
              Napier_getInstance().i5k(this.sb2_1, 'DoorLog', ContentEntryDao_Repo$findTitleByUidAsync$lambda(this.kb2_1, this.lb2_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.ib2_1.oay_1.fan(this.jb2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$112(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bb3_1 = _this__u8e3s4;
    this.cb3_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$112).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.bb3_1.nay_1, 'ContentEntry', ContentEntryDao_Repo$insertAsync$slambda_0(this.bb3_1, this.cb3_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryDao.call(this);
    this.may_1 = _db;
    this.nay_1 = _repo;
    this.oay_1 = _dao;
    this.pay_1 = _httpClient;
    this.qay_1 = _clientId;
    this.ray_1 = _endpoint;
    this.say_1 = new RepoDaoFlowHelper(this.nay_1);
  }
  protoOf(ContentEntryDao_Repo).ban = function (entity, $completion) {
    return withRepoChangeMonitorAsync(this.nay_1, 'ContentEntry', ContentEntryDao_Repo$upsertAsync$slambda_0(this, entity, null), $completion);
  };
  protoOf(ContentEntryDao_Repo).can = function (entryUid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$100(this, entryUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo).dan = function (uid, $completion) {
    var tmp = new $findByUidWithEditDetailsCOROUTINE$102(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo).ean = function (contentEntryUid, clazzUid, courseBlockUid, accountPersonUid) {
    var tmp = this.oay_1.ean(contentEntryUid, clazzUid, courseBlockUid, accountPersonUid);
    return this.say_1.t6d(tmp, ContentEntryDao_Repo$findByContentEntryUidWithDetailsAsFlow$slambda_0(this, contentEntryUid, clazzUid, courseBlockUid, accountPersonUid, null));
  };
  protoOf(ContentEntryDao_Repo).fan = function (entryUid, $completion) {
    var tmp = new $findTitleByUidAsyncCOROUTINE$103(this, entryUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo).gan = function (accountPersonUid, parentUid, langParam, categoryParam0, sortOrder, includeDeleted) {
    var tmp = this.oay_1.gan(accountPersonUid, parentUid, langParam, categoryParam0, sortOrder, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.nay_1, 'ContentEntryDao/getChildrenByParentUidWithCategoryFilterOrderByName', tmp, ContentEntryDao_Repo$getChildrenByParentUidWithCategoryFilterOrderByName$slambda_0(this, accountPersonUid, parentUid, langParam, categoryParam0, sortOrder, includeDeleted, null));
  };
  protoOf(ContentEntryDao_Repo).han = function (accountPersonUid) {
    var _result = this.oay_1.han(accountPersonUid);
    return _result;
  };
  protoOf(ContentEntryDao_Repo).ian = function (accountPersonUid) {
    var _result = this.oay_1.ian(accountPersonUid);
    return _result;
  };
  protoOf(ContentEntryDao_Repo).kap = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$112(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryDao_Repo).insertAsync = function (entity, $completion) {
    return this.kap(entity instanceof ContentEntry ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryImportJobDao() {
  }
  function ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda$lambda(_result) {
    return mapRows(_result, ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda$lambda$lambda(_result));
  }
  function ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cjiUid = $_result.d5t('cjiUid');
      var _tmp_cjiItemProgress = $_result.d5t('cjiItemProgress');
      var _tmp_cjiItemTotal = $_result.d5t('cjiItemTotal');
      var _tmp_cjiStatus = $_result.c5t('cjiStatus');
      var _tmp_cjiError = $_result.rz('cjiError');
      var _tmp_cjiOwnerPersonUid = $_result.d5t('cjiOwnerPersonUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryImportJobProgress();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryImportJobDao_JdbcImpl.findInProgressJobsByContentEntryUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.eb3_1 = _tmp_cjiUid;
      this_0.fb3_1 = _tmp_cjiItemProgress;
      this_0.gb3_1 = _tmp_cjiItemTotal;
      this_0.hb3_1 = _tmp_cjiStatus;
      this_0.ib3_1 = _tmp_cjiError;
      this_0.jb3_1 = _tmp_cjiOwnerPersonUid;
      return this_0;
    };
  }
  function ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda($contentEntryUid, resultContinuation) {
    this.sb3_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda).ub3 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda).he = function (p1, $completion) {
    return this.ub3((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.tb3_1.a5o(1, this.sb3_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.tb3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda(this.sb3_1, completion);
    i.tb3_1 = _stmt;
    return i;
  };
  function ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda_0($contentEntryUid, resultContinuation) {
    var i = new ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda($contentEntryUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ub3(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryImportJobDao_JdbcImpl$_insertAdapterContentEntryImportJob_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.vb3_1);
  }
  protoOf(ContentEntryImportJobDao_JdbcImpl$_insertAdapterContentEntryImportJob_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntryImportJob (cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$_insertAdapterContentEntryImportJob_abort$1).zb3 = function (stmt, entity) {
    if (entity.ab4_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ab4_1);
    }
    stmt.d5o(2, entity.bb4_1);
    stmt.d5o(3, entity.cb4_1);
    stmt.a5o(4, entity.db4_1);
    stmt.a5o(5, entity.eb4_1);
    stmt.a5o(6, entity.fb4_1);
    stmt.a5o(7, entity.gb4_1);
    stmt.a5o(8, entity.hb4_1);
    stmt.z5n(9, entity.ib4_1);
    stmt.z5n(10, entity.jb4_1);
    stmt.z5n(11, entity.kb4_1);
    stmt.a5o(12, entity.lb4_1);
    stmt.a5o(13, entity.mb4_1);
    stmt.a5o(14, entity.nb4_1);
    stmt.n5n(15, entity.ob4_1);
    stmt.z5n(16, entity.pb4_1);
    stmt.d5o(17, entity.qb4_1);
    stmt.n5n(18, entity.rb4_1);
    stmt.a5o(19, entity.sb4_1);
    stmt.d5o(20, entity.tb4_1);
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$_insertAdapterContentEntryImportJob_abort$1).u5l = function (stmt, entity) {
    return this.zb3(stmt, entity instanceof ContentEntryImportJob ? entity : THROW_CCE());
  };
  function ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda(this$0, $contentEntryUid, resultContinuation) {
    this.cb5_1 = this$0;
    this.db5_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda).eb5 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda).r7e = function ($completion) {
    return this.eb5($completion);
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT ContentEntryImportJob.cjiUid,\n               ContentEntryImportJob.cjiItemProgress,\n               ContentEntryImportJob.cjiItemTotal,\n               ContentEntryImportJob.cjiStatus,\n               ContentEntryImportJob.cjiError,\n               ContentEntryImportJob.cjiOwnerPersonUid\n          FROM ContentEntryImportJob\n         WHERE ContentEntryImportJob.cjiContentEntryUid = CAST(? AS BIGINT)\n           AND (   ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20\n                OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed))\n    ', VOID, VOID, VOID, '\n        SELECT ContentEntryImportJob.cjiUid,\n               ContentEntryImportJob.cjiItemProgress,\n               ContentEntryImportJob.cjiItemTotal,\n               ContentEntryImportJob.cjiStatus,\n               ContentEntryImportJob.cjiError,\n               ContentEntryImportJob.cjiOwnerPersonUid\n          FROM ContentEntryImportJob\n         WHERE ContentEntryImportJob.cjiContentEntryUid = ?\n           AND (   ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20\n                OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed))\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.cb5_1.vb3_1, tmp_0, ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda$slambda_0(this.db5_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda).q7e = function (completion) {
    return new ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda(this.cb5_1, this.db5_1, completion);
  };
  function ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda_0(this$0, $contentEntryUid, resultContinuation) {
    var i = new ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda(this$0, $contentEntryUid, resultContinuation);
    var l = function ($completion) {
      return i.eb5($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryImportJobDao_JdbcImpl(_db) {
    ContentEntryImportJobDao.call(this);
    this.vb3_1 = _db;
    var tmp = this;
    tmp.wb3_1 = new ContentEntryImportJobDao_JdbcImpl$_insertAdapterContentEntryImportJob_abort$1(this);
  }
  protoOf(ContentEntryImportJobDao_JdbcImpl).db3 = function (contentEntryUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ContentEntryImportJob'];
    return doorFlow(this.vb3_1, tmp, ContentEntryImportJobDao_JdbcImpl$findInProgressJobsByContentEntryUid$slambda_0(this, contentEntryUid, null));
  };
  function ContentEntryParentChildJoinDao() {
  }
  function $insertAsyncCOROUTINE$119(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pb5_1 = _this__u8e3s4;
    this.qb5_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$119).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.rb5_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.pb5_1.tb5_1));
            if (this.qb5_1.har_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.rb5_1.t68(7, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.sb5_1 = suspendResult;
            this.qb5_1.har_1 = this.sb5_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.qb5_1.lar_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.pb5_1.ub5_1.insertAsync(this.qb5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.qb5_1.har_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryParentChildJoinDao_DoorWrapper(_db, _dao) {
    ContentEntryParentChildJoinDao.call(this);
    this.tb5_1 = _db;
    this.ub5_1 = _dao;
  }
  protoOf(ContentEntryParentChildJoinDao_DoorWrapper).fb5 = function (contentEntryUid, selectedItems, updateTime, $completion) {
    return this.ub5_1.fb5(contentEntryUid, selectedItems, updateTime, $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_DoorWrapper).gb5 = function (selectedUids, isDeleted, updateTime, $completion) {
    return this.ub5_1.gb5(selectedUids, isDeleted, updateTime, $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_DoorWrapper).vb5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$119(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.vb5(entity instanceof ContentEntryParentChildJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.wb5_1);
  }
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_abort$1).bb6 = function (stmt, entity) {
    if (entity.har_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.har_1);
    }
    stmt.a5o(2, entity.iar_1);
    stmt.a5o(3, entity.jar_1);
    stmt.z5n(4, entity.kar_1);
    stmt.a5o(5, entity.lar_1);
    stmt.n5n(6, entity.mar_1);
    stmt.a5o(7, entity.ear_1);
    stmt.a5o(8, entity.far_1);
    stmt.z5n(9, entity.gar_1);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_abort$1).u5l = function (stmt, entity) {
    return this.bb6(stmt, entity instanceof ContentEntryParentChildJoin ? entity : THROW_CCE());
  };
  function ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.wb5_1);
  }
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_upsert$1).bb6 = function (stmt, entity) {
    if (entity.har_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.har_1);
    }
    stmt.a5o(2, entity.iar_1);
    stmt.a5o(3, entity.jar_1);
    stmt.z5n(4, entity.kar_1);
    stmt.a5o(5, entity.lar_1);
    stmt.n5n(6, entity.mar_1);
    stmt.a5o(7, entity.ear_1);
    stmt.a5o(8, entity.far_1);
    stmt.z5n(9, entity.gar_1);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_upsert$1).u5l = function (stmt, entity) {
    return this.bb6(stmt, entity instanceof ContentEntryParentChildJoin ? entity : THROW_CCE());
  };
  function ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda($contentEntryUid, $updateTime, $selectedItems, resultContinuation) {
    this.mb6_1 = $contentEntryUid;
    this.nb6_1 = $updateTime;
    this.ob6_1 = $selectedItems;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.pb6_1.a5o(1, this.mb6_1);
            this.pb6_1.a5o(2, this.nb6_1);
            var tmp_0 = this.pb6_1.w5m();
            var this_0 = this.ob6_1;
            this.pb6_1.e5o(3, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.pb6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda(this.mb6_1, this.nb6_1, this.ob6_1, completion);
    i.pb6_1 = _stmt;
    return i;
  };
  function ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda_0($contentEntryUid, $updateTime, $selectedItems, resultContinuation) {
    var i = new ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda($contentEntryUid, $updateTime, $selectedItems, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda($isDeleted, $updateTime, $selectedUids, resultContinuation) {
    this.yb6_1 = $isDeleted;
    this.zb6_1 = $updateTime;
    this.ab7_1 = $selectedUids;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.bb7_1.n5n(1, this.yb6_1);
            this.bb7_1.a5o(2, this.zb6_1);
            var tmp_0 = this.bb7_1.w5m();
            var this_0 = this.ab7_1;
            this.bb7_1.e5o(3, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.bb7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda(this.yb6_1, this.zb6_1, this.ab7_1, completion);
    i.bb7_1 = _stmt;
    return i;
  };
  function ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda_0($isDeleted, $updateTime, $selectedUids, resultContinuation) {
    var i = new ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda($isDeleted, $updateTime, $selectedUids, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$120(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kb7_1 = _this__u8e3s4;
    this.lb7_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$120).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kb7_1.xb5_1.b5n(this.lb7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $moveListOfEntriesToNewParentCOROUTINE$121(_this__u8e3s4, contentEntryUid, selectedItems, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ub7_1 = _this__u8e3s4;
    this.vb7_1 = contentEntryUid;
    this.wb7_1 = selectedItems;
    this.xb7_1 = updateTime;
  }
  protoOf($moveListOfEntriesToNewParentCOROUTINE$121).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ContentEntryParentChildJoin \n           SET cepcjParentContentEntryUid = CAST(? AS BIGINT), \n               cepcjLct = CAST(? AS BIGINT) \n               WHERE cepcjUid IN (?)\n    ', true, VOID, VOID, '\n        UPDATE ContentEntryParentChildJoin \n           SET cepcjParentContentEntryUid = ?, \n               cepcjLct = ? \n               WHERE cepcjUid IN (?)\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.ub7_1.wb5_1, tmp_0, ContentEntryParentChildJoinDao_JdbcImpl$moveListOfEntriesToNewParent$slambda_0(this.vb7_1, this.xb7_1, this.wb7_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $setEntriesDeletedCOROUTINE$122(_this__u8e3s4, selectedUids, isDeleted, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gb8_1 = _this__u8e3s4;
    this.hb8_1 = selectedUids;
    this.ib8_1 = isDeleted;
    this.jb8_1 = updateTime;
  }
  protoOf($setEntriesDeletedCOROUTINE$122).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ContentEntryParentChildJoin\n           SET cepcjDeleted = ?,\n               cepcjLct = CAST(? AS BIGINT)\n         WHERE cepcjUid IN (?) \n    ', true, VOID, VOID, '\n        UPDATE ContentEntryParentChildJoin\n           SET cepcjDeleted = ?,\n               cepcjLct = ?\n         WHERE cepcjUid IN (?) \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.gb8_1.wb5_1, tmp_0, ContentEntryParentChildJoinDao_JdbcImpl$setEntriesDeleted$slambda_0(this.ib8_1, this.jb8_1, this.hb8_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryParentChildJoinDao_JdbcImpl(_db) {
    ContentEntryParentChildJoinDao.call(this);
    this.wb5_1 = _db;
    var tmp = this;
    tmp.xb5_1 = new ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_abort$1(this);
    var tmp_0 = this;
    tmp_0.yb5_1 = new ContentEntryParentChildJoinDao_JdbcImpl$_insertAdapterContentEntryParentChildJoin_upsert$1(this);
  }
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl).vb5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$120(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.vb5(entity instanceof ContentEntryParentChildJoin ? entity : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl).fb5 = function (contentEntryUid, selectedItems, updateTime, $completion) {
    var tmp = new $moveListOfEntriesToNewParentCOROUTINE$121(this, contentEntryUid, selectedItems, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_JdbcImpl).gb5 = function (selectedUids, isDeleted, updateTime, $completion) {
    var tmp = new $setEntriesDeletedCOROUTINE$122(this, selectedUids, isDeleted, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda(this$0, $contentEntryUid, $selectedItems, $updateTime, resultContinuation) {
    this.sb8_1 = this$0;
    this.tb8_1 = $contentEntryUid;
    this.ub8_1 = $selectedItems;
    this.vb8_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.sb8_1.yb8_1.fb5(this.tb8_1, this.ub8_1, this.vb8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda).q7e = function (completion) {
    return new ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda(this.sb8_1, this.tb8_1, this.ub8_1, this.vb8_1, completion);
  };
  function ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda_0(this$0, $contentEntryUid, $selectedItems, $updateTime, resultContinuation) {
    var i = new ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda(this$0, $contentEntryUid, $selectedItems, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda(this$0, $selectedUids, $isDeleted, $updateTime, resultContinuation) {
    this.kb9_1 = this$0;
    this.lb9_1 = $selectedUids;
    this.mb9_1 = $isDeleted;
    this.nb9_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kb9_1.yb8_1.gb5(this.lb9_1, this.mb9_1, this.nb9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda).q7e = function (completion) {
    return new ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda(this.kb9_1, this.lb9_1, this.mb9_1, this.nb9_1, completion);
  };
  function ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda_0(this$0, $selectedUids, $isDeleted, $updateTime, resultContinuation) {
    var i = new ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda(this$0, $selectedUids, $isDeleted, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryParentChildJoinDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.wb9_1 = this$0;
    this.xb9_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryParentChildJoinDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.wb9_1.yb8_1.insertAsync(this.xb9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentEntryParentChildJoinDao_Repo$insertAsync$slambda(this.wb9_1, this.xb9_1, completion);
  };
  function ContentEntryParentChildJoinDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentEntryParentChildJoinDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$126(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gba_1 = _this__u8e3s4;
    this.hba_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$126).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.gba_1.xb8_1, 'ContentEntryParentChildJoin', ContentEntryParentChildJoinDao_Repo$insertAsync$slambda_0(this.gba_1, this.hba_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryParentChildJoinDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryParentChildJoinDao.call(this);
    this.wb8_1 = _db;
    this.xb8_1 = _repo;
    this.yb8_1 = _dao;
    this.zb8_1 = _httpClient;
    this.ab9_1 = _clientId;
    this.bb9_1 = _endpoint;
  }
  protoOf(ContentEntryParentChildJoinDao_Repo).fb5 = function (contentEntryUid, selectedItems, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.xb8_1, 'ContentEntryParentChildJoin', ContentEntryParentChildJoinDao_Repo$moveListOfEntriesToNewParent$slambda_0(this, contentEntryUid, selectedItems, updateTime, null), $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo).gb5 = function (selectedUids, isDeleted, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.xb8_1, 'ContentEntryParentChildJoin', ContentEntryParentChildJoinDao_Repo$setEntriesDeleted$slambda_0(this, selectedUids, isDeleted, updateTime, null), $completion);
  };
  protoOf(ContentEntryParentChildJoinDao_Repo).vb5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$126(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryParentChildJoinDao_Repo).insertAsync = function (entity, $completion) {
    return this.vb5(entity instanceof ContentEntryParentChildJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryPicture2Dao() {
  }
  function ContentEntryPicture2Dao_DoorWrapper(_db, _dao) {
    ContentEntryPicture2Dao.call(this);
    this.kba_1 = _db;
    this.lba_1 = _dao;
  }
  protoOf(ContentEntryPicture2Dao_DoorWrapper).iba = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryPicture2Dao_DoorWrapper.upsertListAsync.<anonymous>' call
      element.oap_1 = systemTimeInMillis();
    }
    return this.lba_1.iba(entities, $completion);
  };
  protoOf(ContentEntryPicture2Dao_DoorWrapper).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return this.lba_1.jba(uid, uri, thumbnailUri, time, $completion);
  };
  function ContentEntryPicture2Dao_JdbcImpl$_insertAdapterContentEntryPicture2_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mba_1);
  }
  protoOf(ContentEntryPicture2Dao_JdbcImpl$_insertAdapterContentEntryPicture2_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ContentEntryPicture2 (cepUid, cepLct, cepPictureUri, cepThumbnailUri) VALUES(?, ?, ?, ?)';
  };
  protoOf(ContentEntryPicture2Dao_JdbcImpl$_insertAdapterContentEntryPicture2_upsert$1).qba = function (stmt, entity) {
    stmt.a5o(1, entity.nap_1);
    stmt.a5o(2, entity.oap_1);
    stmt.d5o(3, entity.pap_1);
    stmt.d5o(4, entity.qap_1);
  };
  protoOf(ContentEntryPicture2Dao_JdbcImpl$_insertAdapterContentEntryPicture2_upsert$1).u5l = function (stmt, entity) {
    return this.qba(stmt, entity instanceof ContentEntryPicture2 ? entity : THROW_CCE());
  };
  function ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    this.zba_1 = $uri;
    this.abb_1 = $thumbnailUri;
    this.bbb_1 = $time;
    this.cbb_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.dbb_1.d5o(1, this.zba_1);
            this.dbb_1.d5o(2, this.abb_1);
            this.dbb_1.a5o(3, this.bbb_1);
            this.dbb_1.a5o(4, this.cbb_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.dbb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda(this.zba_1, this.abb_1, this.bbb_1, this.cbb_1, completion);
    i.dbb_1 = _stmt;
    return i;
  };
  function ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda_0($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    var i = new ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateUriCOROUTINE$127(_this__u8e3s4, uid, uri, thumbnailUri, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mbb_1 = _this__u8e3s4;
    this.nbb_1 = uid;
    this.obb_1 = uri;
    this.pbb_1 = thumbnailUri;
    this.qbb_1 = time;
  }
  protoOf($updateUriCOROUTINE$127).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ContentEntryPicture2\n           SET cepPictureUri = ?,\n               cepThumbnailUri = ?,\n               cepLct = CAST(? AS BIGINT)\n         WHERE cepUid = CAST(? AS BIGINT)  \n    ', VOID, VOID, VOID, '\n        UPDATE ContentEntryPicture2\n           SET cepPictureUri = ?,\n               cepThumbnailUri = ?,\n               cepLct = ?\n         WHERE cepUid = ?  \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.mbb_1.mba_1, tmp_0, ContentEntryPicture2Dao_JdbcImpl$updateUri$slambda_0(this.obb_1, this.pbb_1, this.qbb_1, this.nbb_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryPicture2Dao_JdbcImpl(_db) {
    ContentEntryPicture2Dao.call(this);
    this.mba_1 = _db;
    var tmp = this;
    tmp.nba_1 = new ContentEntryPicture2Dao_JdbcImpl$_insertAdapterContentEntryPicture2_upsert$1(this);
  }
  protoOf(ContentEntryPicture2Dao_JdbcImpl).iba = function (entities, $completion) {
    return this.nba_1.e5n(entities, $completion);
  };
  protoOf(ContentEntryPicture2Dao_JdbcImpl).jba = function (uid, uri, thumbnailUri, time, $completion) {
    var tmp = new $updateUriCOROUTINE$127(this, uid, uri, thumbnailUri, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ContentEntryPicture2Dao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.zbb_1 = this$0;
    this.abc_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryPicture2Dao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPicture2Dao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryPicture2Dao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.zbb_1.dbc_1.iba(this.abc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryPicture2Dao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ContentEntryPicture2Dao_Repo$upsertListAsync$slambda(this.zbb_1, this.abc_1, completion);
  };
  function ContentEntryPicture2Dao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ContentEntryPicture2Dao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryPicture2Dao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    this.pbc_1 = this$0;
    this.qbc_1 = $uid;
    this.rbc_1 = $uri;
    this.sbc_1 = $thumbnailUri;
    this.tbc_1 = $time;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryPicture2Dao_Repo$updateUri$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPicture2Dao_Repo$updateUri$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryPicture2Dao_Repo$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.pbc_1.dbc_1.jba(this.qbc_1, this.rbc_1, this.sbc_1, this.tbc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryPicture2Dao_Repo$updateUri$slambda).q7e = function (completion) {
    return new ContentEntryPicture2Dao_Repo$updateUri$slambda(this.pbc_1, this.qbc_1, this.rbc_1, this.sbc_1, this.tbc_1, completion);
  };
  function ContentEntryPicture2Dao_Repo$updateUri$slambda_0(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    var i = new ContentEntryPicture2Dao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryPicture2Dao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryPicture2Dao.call(this);
    this.bbc_1 = _db;
    this.cbc_1 = _repo;
    this.dbc_1 = _dao;
    this.ebc_1 = _httpClient;
    this.fbc_1 = _clientId;
    this.gbc_1 = _endpoint;
  }
  protoOf(ContentEntryPicture2Dao_Repo).iba = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.cbc_1, 'ContentEntryPicture2', ContentEntryPicture2Dao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ContentEntryPicture2Dao_Repo).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return withRepoChangeMonitorAsync(this.cbc_1, 'ContentEntryPicture2', ContentEntryPicture2Dao_Repo$updateUri$slambda_0(this, uid, uri, thumbnailUri, time, null), $completion);
  };
  function ContentEntryPictureDao() {
  }
  function $insertAsyncCOROUTINE$128(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cbd_1 = _this__u8e3s4;
    this.dbd_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$128).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.ebd_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.cbd_1.gbd_1));
            if (this.dbd_1.ibd_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.ebd_1.t68(138, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.fbd_1 = suspendResult;
            this.dbd_1.ibd_1 = this.fbd_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.dbd_1.nbd_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.cbd_1.hbd_1.insertAsync(this.dbd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.dbd_1.ibd_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryPictureDao_DoorWrapper(_db, _dao) {
    ContentEntryPictureDao.call(this);
    this.gbd_1 = _db;
    this.hbd_1 = _dao;
  }
  protoOf(ContentEntryPictureDao_DoorWrapper).qbd = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$128(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPictureDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.qbd(entity instanceof ContentEntryPicture ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryPictureDao_JdbcImpl$_insertAdapterContentEntryPicture_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.rbd_1);
  }
  protoOf(ContentEntryPictureDao_JdbcImpl$_insertAdapterContentEntryPicture_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntryPicture (cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryPictureDao_JdbcImpl$_insertAdapterContentEntryPicture_abort$1).vbd = function (stmt, entity) {
    if (entity.ibd_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ibd_1);
    }
    stmt.a5o(2, entity.jbd_1);
    stmt.d5o(3, entity.kbd_1);
    stmt.d5o(4, entity.lbd_1);
    stmt.z5n(5, entity.mbd_1);
    stmt.a5o(6, entity.nbd_1);
    stmt.d5o(7, entity.obd_1);
    stmt.n5n(8, entity.pbd_1);
  };
  protoOf(ContentEntryPictureDao_JdbcImpl$_insertAdapterContentEntryPicture_abort$1).u5l = function (stmt, entity) {
    return this.vbd(stmt, entity instanceof ContentEntryPicture ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$129(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ebe_1 = _this__u8e3s4;
    this.fbe_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$129).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ebe_1.sbd_1.b5n(this.fbe_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryPictureDao_JdbcImpl(_db) {
    ContentEntryPictureDao.call(this);
    this.rbd_1 = _db;
    var tmp = this;
    tmp.sbd_1 = new ContentEntryPictureDao_JdbcImpl$_insertAdapterContentEntryPicture_abort$1(this);
  }
  protoOf(ContentEntryPictureDao_JdbcImpl).qbd = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$129(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPictureDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.qbd(entity instanceof ContentEntryPicture ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryPictureDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.obe_1 = this$0;
    this.pbe_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryPictureDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPictureDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentEntryPictureDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.obe_1.sbe_1.insertAsync(this.pbe_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryPictureDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentEntryPictureDao_Repo$insertAsync$slambda(this.obe_1, this.pbe_1, completion);
  };
  function ContentEntryPictureDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentEntryPictureDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$132(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ebf_1 = _this__u8e3s4;
    this.fbf_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$132).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.ebf_1.rbe_1, 'ContentEntryPicture', ContentEntryPictureDao_Repo$insertAsync$slambda_0(this.ebf_1, this.fbf_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryPictureDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryPictureDao.call(this);
    this.qbe_1 = _db;
    this.rbe_1 = _repo;
    this.sbe_1 = _dao;
    this.tbe_1 = _httpClient;
    this.ube_1 = _clientId;
    this.vbe_1 = _endpoint;
  }
  protoOf(ContentEntryPictureDao_Repo).qbd = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$132(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryPictureDao_Repo).insertAsync = function (entity, $completion) {
    return this.qbd(entity instanceof ContentEntryPicture ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryRelatedEntryJoinDao() {
  }
  function $insertAsyncCOROUTINE$133(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.obf_1 = _this__u8e3s4;
    this.pbf_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$133).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.qbf_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.obf_1.sbf_1));
            if (this.pbf_1.ubf_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.qbf_1.t68(8, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.rbf_1 = suspendResult;
            this.pbf_1.ubf_1 = this.rbf_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.pbf_1.dbg_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.obf_1.tbf_1.insertAsync(this.pbf_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.pbf_1.ubf_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryRelatedEntryJoinDao_DoorWrapper(_db, _dao) {
    ContentEntryRelatedEntryJoinDao.call(this);
    this.sbf_1 = _db;
    this.tbf_1 = _dao;
  }
  protoOf(ContentEntryRelatedEntryJoinDao_DoorWrapper).ebg = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$133(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryRelatedEntryJoinDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.ebg(entity instanceof ContentEntryRelatedEntryJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryRelatedEntryJoinDao_JdbcImpl$_insertAdapterContentEntryRelatedEntryJoin_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.fbg_1);
  }
  protoOf(ContentEntryRelatedEntryJoinDao_JdbcImpl$_insertAdapterContentEntryRelatedEntryJoin_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntryRelatedEntryJoin (cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryRelatedEntryJoinDao_JdbcImpl$_insertAdapterContentEntryRelatedEntryJoin_abort$1).jbg = function (stmt, entity) {
    if (entity.ubf_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ubf_1);
    }
    stmt.a5o(2, entity.vbf_1);
    stmt.a5o(3, entity.wbf_1);
    stmt.z5n(4, entity.xbf_1);
    stmt.z5n(5, entity.ybf_1);
    stmt.d5o(6, entity.zbf_1);
    stmt.a5o(7, entity.abg_1);
    stmt.a5o(8, entity.bbg_1);
    stmt.a5o(9, entity.cbg_1);
    stmt.a5o(10, entity.dbg_1);
  };
  protoOf(ContentEntryRelatedEntryJoinDao_JdbcImpl$_insertAdapterContentEntryRelatedEntryJoin_abort$1).u5l = function (stmt, entity) {
    return this.jbg(stmt, entity instanceof ContentEntryRelatedEntryJoin ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$134(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.sbg_1 = _this__u8e3s4;
    this.tbg_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$134).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.sbg_1.gbg_1.b5n(this.tbg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryRelatedEntryJoinDao_JdbcImpl(_db) {
    ContentEntryRelatedEntryJoinDao.call(this);
    this.fbg_1 = _db;
    var tmp = this;
    tmp.gbg_1 = new ContentEntryRelatedEntryJoinDao_JdbcImpl$_insertAdapterContentEntryRelatedEntryJoin_abort$1(this);
  }
  protoOf(ContentEntryRelatedEntryJoinDao_JdbcImpl).ebg = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$134(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryRelatedEntryJoinDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.ebg(entity instanceof ContentEntryRelatedEntryJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.cbh_1 = this$0;
    this.dbh_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cbh_1.gbh_1.insertAsync(this.dbh_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda(this.cbh_1, this.dbh_1, completion);
  };
  function ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$136(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.sbh_1 = _this__u8e3s4;
    this.tbh_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$136).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.sbh_1.fbh_1, 'ContentEntryRelatedEntryJoin', ContentEntryRelatedEntryJoinDao_Repo$insertAsync$slambda_0(this.sbh_1, this.tbh_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryRelatedEntryJoinDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryRelatedEntryJoinDao.call(this);
    this.ebh_1 = _db;
    this.fbh_1 = _repo;
    this.gbh_1 = _dao;
    this.hbh_1 = _httpClient;
    this.ibh_1 = _clientId;
    this.jbh_1 = _endpoint;
  }
  protoOf(ContentEntryRelatedEntryJoinDao_Repo).ebg = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$136(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryRelatedEntryJoinDao_Repo).insertAsync = function (entity, $completion) {
    return this.ebg(entity instanceof ContentEntryRelatedEntryJoin ? entity : THROW_CCE(), $completion);
  };
  function ContentEntryVersionDao() {
  }
  function ContentEntryVersionDao_DoorWrapper(_db, _dao) {
    ContentEntryVersionDao.call(this);
    this.ybh_1 = _db;
    this.zbh_1 = _dao;
  }
  protoOf(ContentEntryVersionDao_DoorWrapper).ubh = function (cevUid, $completion) {
    return this.zbh_1.ubh(cevUid, $completion);
  };
  protoOf(ContentEntryVersionDao_DoorWrapper).vbh = function (contentEntryUid, $completion) {
    return this.zbh_1.vbh(contentEntryUid, $completion);
  };
  protoOf(ContentEntryVersionDao_DoorWrapper).wbh = function (contentEntryUid) {
    return this.zbh_1.wbh(contentEntryUid);
  };
  protoOf(ContentEntryVersionDao_DoorWrapper).xbh = function (entityUid, transferJobItemUid, $completion) {
    return this.zbh_1.xbh(entityUid, transferJobItemUid, $completion);
  };
  function ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cevUid = $_result.d5t('cevUid');
      var _tmp_cevContentEntryUid = $_result.d5t('cevContentEntryUid');
      var _tmp_cevOpenUri = $_result.rz('cevOpenUri');
      var _tmp_cevContentType = $_result.rz('cevContentType');
      var _tmp_cevManifestUrl = $_result.rz('cevManifestUrl');
      var _tmp_cevSize = $_result.d5t('cevSize');
      var _tmp_cevInActive = $_result.o6c('cevInActive');
      var _tmp_cevLastModified = $_result.d5t('cevLastModified');
      var _tmp_cevLct = $_result.d5t('cevLct');
      var _tmp_cevStorageSize = $_result.d5t('cevStorageSize');
      var _tmp_cevOriginalSize = $_result.d5t('cevOriginalSize');
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryVersion();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryVersionDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.vap_1 = _tmp_cevUid;
      this_0.wap_1 = _tmp_cevContentEntryUid;
      this_0.xap_1 = _tmp_cevOpenUri;
      this_0.yap_1 = _tmp_cevContentType;
      this_0.zap_1 = _tmp_cevManifestUrl;
      this_0.aaq_1 = _tmp_cevSize;
      this_0.baq_1 = _tmp_cevInActive;
      this_0.caq_1 = _tmp_cevLastModified;
      this_0.daq_1 = _tmp_cevLct;
      this_0.eaq_1 = _tmp_cevStorageSize;
      this_0.faq_1 = _tmp_cevOriginalSize;
      return this_0;
    };
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda$lambda$lambda(_result));
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cevUid = $_result.d5t('cevUid');
      var _tmp_cevContentEntryUid = $_result.d5t('cevContentEntryUid');
      var _tmp_cevOpenUri = $_result.rz('cevOpenUri');
      var _tmp_cevContentType = $_result.rz('cevContentType');
      var _tmp_cevManifestUrl = $_result.rz('cevManifestUrl');
      var _tmp_cevSize = $_result.d5t('cevSize');
      var _tmp_cevInActive = $_result.o6c('cevInActive');
      var _tmp_cevLastModified = $_result.d5t('cevLastModified');
      var _tmp_cevLct = $_result.d5t('cevLct');
      var _tmp_cevStorageSize = $_result.d5t('cevStorageSize');
      var _tmp_cevOriginalSize = $_result.d5t('cevOriginalSize');
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryVersion();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryVersionDao_JdbcImpl.findLatestVersionUidByContentEntryUidEntity.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.vap_1 = _tmp_cevUid;
      this_0.wap_1 = _tmp_cevContentEntryUid;
      this_0.xap_1 = _tmp_cevOpenUri;
      this_0.yap_1 = _tmp_cevContentType;
      this_0.zap_1 = _tmp_cevManifestUrl;
      this_0.aaq_1 = _tmp_cevSize;
      this_0.baq_1 = _tmp_cevInActive;
      this_0.caq_1 = _tmp_cevLastModified;
      this_0.daq_1 = _tmp_cevLct;
      this_0.eaq_1 = _tmp_cevStorageSize;
      this_0.faq_1 = _tmp_cevOriginalSize;
      return this_0;
    };
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cevUid = $_result.d5t('cevUid');
      var _tmp_cevContentEntryUid = $_result.d5t('cevContentEntryUid');
      var _tmp_cevOpenUri = $_result.rz('cevOpenUri');
      var _tmp_cevContentType = $_result.rz('cevContentType');
      var _tmp_cevManifestUrl = $_result.rz('cevManifestUrl');
      var _tmp_cevSize = $_result.d5t('cevSize');
      var _tmp_cevInActive = $_result.o6c('cevInActive');
      var _tmp_cevLastModified = $_result.d5t('cevLastModified');
      var _tmp_cevLct = $_result.d5t('cevLct');
      var _tmp_cevStorageSize = $_result.d5t('cevStorageSize');
      var _tmp_cevOriginalSize = $_result.d5t('cevOriginalSize');
      // Inline function 'kotlin.apply' call
      var this_0 = new ContentEntryVersion();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ContentEntryVersionDao_JdbcImpl.findLatestByContentEntryUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.vap_1 = _tmp_cevUid;
      this_0.wap_1 = _tmp_cevContentEntryUid;
      this_0.xap_1 = _tmp_cevOpenUri;
      this_0.yap_1 = _tmp_cevContentType;
      this_0.zap_1 = _tmp_cevManifestUrl;
      this_0.aaq_1 = _tmp_cevSize;
      this_0.baq_1 = _tmp_cevInActive;
      this_0.caq_1 = _tmp_cevLastModified;
      this_0.daq_1 = _tmp_cevLct;
      this_0.eaq_1 = _tmp_cevStorageSize;
      this_0.faq_1 = _tmp_cevOriginalSize;
      return this_0;
    };
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda($contentEntryUid, resultContinuation) {
    this.ibi_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda).kbi = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.kbi((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.jbi_1.a5o(1, this.ibi_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.jbi_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda(this.ibi_1, completion);
    i.jbi_1 = _stmt;
    return i;
  };
  function ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda_0($contentEntryUid, resultContinuation) {
    var i = new ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda($contentEntryUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.kbi(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryVersionDao_JdbcImpl$_insertAdapterContentEntryVersion_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.lbi_1);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl$_insertAdapterContentEntryVersion_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ContentEntryVersion (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$_insertAdapterContentEntryVersion_abort$1).pbi = function (stmt, entity) {
    if (entity.vap_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.vap_1);
    }
    stmt.a5o(2, entity.wap_1);
    stmt.d5o(3, entity.xap_1);
    stmt.d5o(4, entity.yap_1);
    stmt.d5o(5, entity.zap_1);
    stmt.a5o(6, entity.aaq_1);
    stmt.n5n(7, entity.baq_1);
    stmt.a5o(8, entity.caq_1);
    stmt.a5o(9, entity.daq_1);
    stmt.a5o(10, entity.eaq_1);
    stmt.a5o(11, entity.faq_1);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$_insertAdapterContentEntryVersion_abort$1).u5l = function (stmt, entity) {
    return this.pbi(stmt, entity instanceof ContentEntryVersion ? entity : THROW_CCE());
  };
  function ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda($cevUid, resultContinuation) {
    this.ybi_1 = $cevUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda).kbi = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.kbi((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.zbi_1.a5o(1, this.ybi_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.zbi_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda(this.ybi_1, completion);
    i.zbi_1 = _stmt;
    return i;
  };
  function ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda_0($cevUid, resultContinuation) {
    var i = new ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda($cevUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.kbi(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda($contentEntryUid, resultContinuation) {
    this.ibj_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda).kbi = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda).he = function (p1, $completion) {
    return this.kbi((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.jbj_1.a5o(1, this.ibj_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.jbj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda(this.ibj_1, completion);
    i.jbj_1 = _stmt;
    return i;
  };
  function ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda_0($contentEntryUid, resultContinuation) {
    var i = new ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda($contentEntryUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.kbi(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda(this$0, $contentEntryUid, resultContinuation) {
    this.sbj_1 = this$0;
    this.tbj_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda).ubj = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda).r7e = function ($completion) {
    return this.ubj($completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT ContentEntryVersion.*\n          FROM ContentEntryVersion\n         WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT)\n      ORDER BY ContentEntryVersion.cevLastModified DESC\n         LIMIT 1\n    ', VOID, VOID, VOID, '\n        SELECT ContentEntryVersion.*\n          FROM ContentEntryVersion\n         WHERE ContentEntryVersion.cevContentEntryUid = ?\n      ORDER BY ContentEntryVersion.cevLastModified DESC\n         LIMIT 1\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.sbj_1.lbi_1, tmp_0, ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda$slambda_0(this.tbj_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda).q7e = function (completion) {
    return new ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda(this.sbj_1, this.tbj_1, completion);
  };
  function ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda_0(this$0, $contentEntryUid, resultContinuation) {
    var i = new ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda(this$0, $contentEntryUid, resultContinuation);
    var l = function ($completion) {
      return i.ubj($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda($entityUid, $transferJobItemUid, resultContinuation) {
    this.dbk_1 = $entityUid;
    this.ebk_1 = $transferJobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fbk_1.a5o(1, this.dbk_1);
            this.fbk_1.z5n(2, this.ebk_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.fbk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda).r5l = function (_stmt, completion) {
    var i = new ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda(this.dbk_1, this.ebk_1, completion);
    i.fbk_1 = _stmt;
    return i;
  };
  function ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda_0($entityUid, $transferJobItemUid, resultContinuation) {
    var i = new ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda($entityUid, $transferJobItemUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateTransferJobItemEtagCOROUTINE$139(_this__u8e3s4, entityUid, transferJobItemUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.obk_1 = _this__u8e3s4;
    this.pbk_1 = entityUid;
    this.qbk_1 = transferJobItemUid;
  }
  protoOf($updateTransferJobItemEtagCOROUTINE$139).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE TransferJobItem\n           SET tjiEntityEtag = \n               (SELECT cevLct\n                  FROM ContentEntryVersion\n                 WHERE cevUid = CAST(? AS BIGINT))\n         WHERE tjiUid = ?\n    ', VOID, VOID, VOID, '\n        UPDATE TransferJobItem\n           SET tjiEntityEtag = \n               (SELECT cevLct\n                  FROM ContentEntryVersion\n                 WHERE cevUid = ?)\n         WHERE tjiUid = ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.obk_1.lbi_1, tmp_0, ContentEntryVersionDao_JdbcImpl$updateTransferJobItemEtag$slambda_0(this.pbk_1, this.qbk_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryVersionDao_JdbcImpl(_db) {
    ContentEntryVersionDao.call(this);
    this.lbi_1 = _db;
    var tmp = this;
    tmp.mbi_1 = new ContentEntryVersionDao_JdbcImpl$_insertAdapterContentEntryVersion_abort$1(this);
  }
  protoOf(ContentEntryVersionDao_JdbcImpl).ubh = function (cevUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT ContentEntryVersion.*\n          FROM ContentEntryVersion\n         WHERE cevUid = CAST(? AS BIGINT) \n    ', VOID, VOID, VOID, '\n        SELECT ContentEntryVersion.*\n          FROM ContentEntryVersion\n         WHERE cevUid = ? \n    \n', true);
    return prepareAndUseStatementAsync(this.lbi_1, tmp, ContentEntryVersionDao_JdbcImpl$findByUidAsync$slambda_0(cevUid, null), $completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl).vbh = function (contentEntryUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT ContentEntryVersion.*\n          FROM ContentEntryVersion\n         WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT)\n      ORDER BY ContentEntryVersion.cevLastModified DESC\n         LIMIT 1\n    ', VOID, VOID, VOID, '\n        SELECT ContentEntryVersion.*\n          FROM ContentEntryVersion\n         WHERE ContentEntryVersion.cevContentEntryUid = ?\n      ORDER BY ContentEntryVersion.cevLastModified DESC\n         LIMIT 1\n    \n', true);
    return prepareAndUseStatementAsync(this.lbi_1, tmp, ContentEntryVersionDao_JdbcImpl$findLatestVersionUidByContentEntryUidEntity$slambda_0(contentEntryUid, null), $completion);
  };
  protoOf(ContentEntryVersionDao_JdbcImpl).wbh = function (contentEntryUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ContentEntryVersion'];
    return doorFlow(this.lbi_1, tmp, ContentEntryVersionDao_JdbcImpl$findLatestByContentEntryUidAsFlow$slambda_0(this, contentEntryUid, null));
  };
  protoOf(ContentEntryVersionDao_JdbcImpl).xbh = function (entityUid, transferJobItemUid, $completion) {
    var tmp = new $updateTransferJobItemEtagCOROUTINE$139(this, entityUid, transferJobItemUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ContentEntryVersionDao_Repo$findLatestVersionUidByContentEntryUidEntity$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda(this$0, $contentEntryUid, resultContinuation) {
    this.zbk_1 = this$0;
    this.abl_1 = $contentEntryUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.bbl_1 = this.zbk_1.kbl_1;
            var tmp_1 = this;
            tmp_1.cbl_1 = 'ContentEntryVersionDao/findLatestByContentEntryUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.dbl_1 = this.zbk_1.mbl_1;
            var tmp_3 = this;
            tmp_3.ebl_1 = this.dbl_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.zbk_1.kbl_1.a3d(), 'ContentEntryVersionDao/findLatestByContentEntryUidAsFlow');
            doorNodeIdHeader(this_0, this.zbk_1.kbl_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'contentEntryUid', this.zbk_1.kbl_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.abl_1));
            tmp_4.fbl_1 = this_0;
            this.fbl_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.gbl_1 = this.ebl_1;
            var tmp_6 = this;
            tmp_6.hbl_1 = this.fbl_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.hbl_1, this.gbl_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ibl_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.zbk_1.jbl_1, this.ibl_1, this.zbk_1.kbl_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda$lambda(this.bbl_1, this.cbl_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda).q7e = function (completion) {
    return new ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda(this.zbk_1, this.abl_1, completion);
  };
  function ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda_0(this$0, $contentEntryUid, resultContinuation) {
    var i = new ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda(this$0, $contentEntryUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda(this$0, $entityUid, $transferJobItemUid, resultContinuation) {
    this.ybl_1 = this$0;
    this.zbl_1 = $entityUid;
    this.abm_1 = $transferJobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ybl_1.lbl_1.xbh(this.zbl_1, this.abm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda).q7e = function (completion) {
    return new ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda(this.ybl_1, this.zbl_1, this.abm_1, completion);
  };
  function ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda_0(this$0, $entityUid, $transferJobItemUid, resultContinuation) {
    var i = new ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda(this$0, $entityUid, $transferJobItemUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByUidAsyncCOROUTINE$140(_this__u8e3s4, cevUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.jbm_1 = _this__u8e3s4;
    this.kbm_1 = cevUid;
  }
  protoOf($findByUidAsyncCOROUTINE$140).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.jbm_1.lbl_1.ubh(this.kbm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findLatestVersionUidByContentEntryUidEntityCOROUTINE$142(_this__u8e3s4, contentEntryUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tbm_1 = _this__u8e3s4;
    this.ubm_1 = contentEntryUid;
  }
  protoOf($findLatestVersionUidByContentEntryUidEntityCOROUTINE$142).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.vbm_1 = this.tbm_1.kbl_1;
            var tmp_1 = this;
            tmp_1.wbm_1 = 'ContentEntryVersionDao/findLatestVersionUidByContentEntryUidEntity';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.xbm_1 = this.tbm_1.mbl_1;
            var tmp_3 = this;
            tmp_3.ybm_1 = this.xbm_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.tbm_1.kbl_1.a3d(), 'ContentEntryVersionDao/findLatestVersionUidByContentEntryUidEntity');
            doorNodeIdHeader(this_0, this.tbm_1.kbl_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'contentEntryUid', this.tbm_1.kbl_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ubm_1));
            tmp_4.zbm_1 = this_0;
            this.zbm_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.abn_1 = this.ybm_1;
            var tmp_6 = this;
            tmp_6.bbn_1 = this.zbm_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.bbn_1, this.abn_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.cbn_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.tbm_1.jbl_1, this.cbn_1, this.tbm_1.kbl_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.dbn_1 = this.kd_1;
              Napier_getInstance().i5k(this.dbn_1, 'DoorLog', ContentEntryVersionDao_Repo$findLatestVersionUidByContentEntryUidEntity$lambda(this.vbm_1, this.wbm_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.tbm_1.lbl_1.vbh(this.ubm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ContentEntryVersionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ContentEntryVersionDao.call(this);
    this.jbl_1 = _db;
    this.kbl_1 = _repo;
    this.lbl_1 = _dao;
    this.mbl_1 = _httpClient;
    this.nbl_1 = _clientId;
    this.obl_1 = _endpoint;
    this.pbl_1 = new RepoDaoFlowHelper(this.kbl_1);
  }
  protoOf(ContentEntryVersionDao_Repo).ubh = function (cevUid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$140(this, cevUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_Repo).vbh = function (contentEntryUid, $completion) {
    var tmp = new $findLatestVersionUidByContentEntryUidEntityCOROUTINE$142(this, contentEntryUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ContentEntryVersionDao_Repo).wbh = function (contentEntryUid) {
    var tmp = this.lbl_1.wbh(contentEntryUid);
    return this.pbl_1.t6d(tmp, ContentEntryVersionDao_Repo$findLatestByContentEntryUidAsFlow$slambda_0(this, contentEntryUid, null));
  };
  protoOf(ContentEntryVersionDao_Repo).xbh = function (entityUid, transferJobItemUid, $completion) {
    return withRepoChangeMonitorAsync(this.kbl_1, 'TransferJobItem', ContentEntryVersionDao_Repo$updateTransferJobItemEtag$slambda_0(this, entityUid, transferJobItemUid, null), $completion);
  };
  function CourseAssignmentMarkDao() {
  }
  function $insertAsyncCOROUTINE$144(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.obn_1 = _this__u8e3s4;
    this.pbn_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$144).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.qbn_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.obn_1.sbn_1));
            if (this.pbn_1.ubn_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.qbn_1.t68(523, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.rbn_1 = suspendResult;
            this.pbn_1.ubn_1 = this.rbn_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.pbn_1.dbo_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.obn_1.tbn_1.insertAsync(this.pbn_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.pbn_1.ubn_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentMarkDao_DoorWrapper(_db, _dao) {
    CourseAssignmentMarkDao.call(this);
    this.sbn_1 = _db;
    this.tbn_1 = _dao;
  }
  protoOf(CourseAssignmentMarkDao_DoorWrapper).ebn = function (accountPersonUid, assignmentUid) {
    return this.tbn_1.ebn(accountPersonUid, assignmentUid);
  };
  protoOf(CourseAssignmentMarkDao_DoorWrapper).fbn = function (submitterUid, assignmentUid) {
    return this.tbn_1.fbn(submitterUid, assignmentUid);
  };
  protoOf(CourseAssignmentMarkDao_DoorWrapper).fbo = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$144(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.fbo(entity instanceof CourseAssignmentMark ? entity : THROW_CCE(), $completion);
  };
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_markerFirstNames = $_result.rz('markerFirstNames');
      var _tmp_markerLastName = $_result.rz('markerLastName');
      var _tmp_markerPictureUri = $_result.rz('markerPictureUri');
      var _tmp_CourseAssignmentMark_nullCount = 0;
      var _tmp_camUid = $_result.d5t('camUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_camAssignmentUid = $_result.d5t('camAssignmentUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_camSubmitterUid = $_result.d5t('camSubmitterUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_camMarkerSubmitterUid = $_result.d5t('camMarkerSubmitterUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_camMarkerPersonUid = $_result.d5t('camMarkerPersonUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_camMarkerComment = $_result.rz('camMarkerComment');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_camMark = $_result.q6c('camMark');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_camMaxMark = $_result.q6c('camMaxMark');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_camPenalty = $_result.q6c('camPenalty');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_camLct = $_result.d5t('camLct');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_camClazzUid = $_result.d5t('camClazzUid');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_CourseAssignmentMark_isAllNull = _tmp_CourseAssignmentMark_nullCount === 11;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentMarkAndMarkerName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentMarkDao_JdbcImpl.getAllMarksForUserAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.hbo_1 = _tmp_markerFirstNames;
      this_0.ibo_1 = _tmp_markerLastName;
      this_0.jbo_1 = _tmp_markerPictureUri;
      if (!_tmp_CourseAssignmentMark_isAllNull) {
        var tmp_10 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseAssignmentMark();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentMarkDao_JdbcImpl.getAllMarksForUserAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.ubn_1 = _tmp_camUid;
        this_1.vbn_1 = _tmp_camAssignmentUid;
        this_1.wbn_1 = _tmp_camSubmitterUid;
        this_1.xbn_1 = _tmp_camMarkerSubmitterUid;
        this_1.ybn_1 = _tmp_camMarkerPersonUid;
        this_1.zbn_1 = _tmp_camMarkerComment;
        this_1.abo_1 = _tmp_camMark;
        this_1.bbo_1 = _tmp_camMaxMark;
        this_1.cbo_1 = _tmp_camPenalty;
        this_1.dbo_1 = _tmp_camLct;
        this_1.ebo_1 = _tmp_camClazzUid;
        tmp_10.gbo_1 = this_1;
      }
      return this_0;
    };
  }
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda($assignmentUid, $accountPersonUid, resultContinuation) {
    this.sbo_1 = $assignmentUid;
    this.tbo_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda).vbo = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.vbo((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ubo_1.a5o(1, this.sbo_1);
            this.ubo_1.a5o(2, this.tbo_1);
            this.ubo_1.a5o(3, this.sbo_1);
            this.ubo_1.a5o(4, this.sbo_1);
            this.ubo_1.a5o(5, this.tbo_1);
            this.ubo_1.a5o(6, this.sbo_1);
            this.ubo_1.a5o(7, this.tbo_1);
            this.ubo_1.a5o(8, this.sbo_1);
            this.ubo_1.a5o(9, this.sbo_1);
            this.ubo_1.a5o(10, this.tbo_1);
            this.ubo_1.a5o(11, this.sbo_1);
            this.ubo_1.a5o(12, this.sbo_1);
            this.ubo_1.a5o(13, this.tbo_1);
            this.ubo_1.a5o(14, this.sbo_1);
            this.ubo_1.a5o(15, this.sbo_1);
            this.ubo_1.a5o(16, this.tbo_1);
            this.ubo_1.a5o(17, this.sbo_1);
            this.ubo_1.a5o(18, this.tbo_1);
            this.ubo_1.a5o(19, this.sbo_1);
            this.ubo_1.a5o(20, this.sbo_1);
            this.ubo_1.a5o(21, this.tbo_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ubo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda(this.sbo_1, this.tbo_1, completion);
    i.ubo_1 = _stmt;
    return i;
  };
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda_0($assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda($assignmentUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vbo(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_markerFirstNames = $_result.rz('markerFirstNames');
      var _tmp_markerLastName = $_result.rz('markerLastName');
      var _tmp_markerPictureUri = $_result.rz('markerPictureUri');
      var _tmp_CourseAssignmentMark_nullCount = 0;
      var _tmp_camUid = $_result.d5t('camUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_camAssignmentUid = $_result.d5t('camAssignmentUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_camSubmitterUid = $_result.d5t('camSubmitterUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_camMarkerSubmitterUid = $_result.d5t('camMarkerSubmitterUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_camMarkerPersonUid = $_result.d5t('camMarkerPersonUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_camMarkerComment = $_result.rz('camMarkerComment');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_camMark = $_result.q6c('camMark');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_camMaxMark = $_result.q6c('camMaxMark');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_camPenalty = $_result.q6c('camPenalty');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_camLct = $_result.d5t('camLct');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_camClazzUid = $_result.d5t('camClazzUid');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentMark_nullCount = _tmp_CourseAssignmentMark_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_CourseAssignmentMark_isAllNull = _tmp_CourseAssignmentMark_nullCount === 11;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentMarkAndMarkerName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentMarkDao_JdbcImpl.getAllMarksForSubmitterAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.hbo_1 = _tmp_markerFirstNames;
      this_0.ibo_1 = _tmp_markerLastName;
      this_0.jbo_1 = _tmp_markerPictureUri;
      if (!_tmp_CourseAssignmentMark_isAllNull) {
        var tmp_10 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseAssignmentMark();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentMarkDao_JdbcImpl.getAllMarksForSubmitterAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.ubn_1 = _tmp_camUid;
        this_1.vbn_1 = _tmp_camAssignmentUid;
        this_1.wbn_1 = _tmp_camSubmitterUid;
        this_1.xbn_1 = _tmp_camMarkerSubmitterUid;
        this_1.ybn_1 = _tmp_camMarkerPersonUid;
        this_1.zbn_1 = _tmp_camMarkerComment;
        this_1.abo_1 = _tmp_camMark;
        this_1.bbo_1 = _tmp_camMaxMark;
        this_1.cbo_1 = _tmp_camPenalty;
        this_1.dbo_1 = _tmp_camLct;
        this_1.ebo_1 = _tmp_camClazzUid;
        tmp_10.gbo_1 = this_1;
      }
      return this_0;
    };
  }
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda($assignmentUid, $submitterUid, resultContinuation) {
    this.ebp_1 = $assignmentUid;
    this.fbp_1 = $submitterUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda).vbo = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.vbo((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.gbp_1.a5o(1, this.ebp_1);
            this.gbp_1.a5o(2, this.fbp_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.gbp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda(this.ebp_1, this.fbp_1, completion);
    i.gbp_1 = _stmt;
    return i;
  };
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda_0($assignmentUid, $submitterUid, resultContinuation) {
    var i = new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda($assignmentUid, $submitterUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vbo(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentMarkDao_JdbcImpl$_insertAdapterCourseAssignmentMark_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.hbp_1);
  }
  protoOf(CourseAssignmentMarkDao_JdbcImpl$_insertAdapterCourseAssignmentMark_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseAssignmentMark (camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$_insertAdapterCourseAssignmentMark_abort$1).lbp = function (stmt, entity) {
    if (entity.ubn_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ubn_1);
    }
    stmt.a5o(2, entity.vbn_1);
    stmt.a5o(3, entity.wbn_1);
    stmt.a5o(4, entity.xbn_1);
    stmt.a5o(5, entity.ybn_1);
    stmt.d5o(6, entity.zbn_1);
    stmt.b5o(7, entity.abo_1);
    stmt.b5o(8, entity.bbo_1);
    stmt.b5o(9, entity.cbo_1);
    stmt.a5o(10, entity.dbo_1);
    stmt.a5o(11, entity.ebo_1);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$_insertAdapterCourseAssignmentMark_abort$1).u5l = function (stmt, entity) {
    return this.lbp(stmt, entity instanceof CourseAssignmentMark ? entity : THROW_CCE());
  };
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda(this$0, $assignmentUid, $accountPersonUid, resultContinuation) {
    this.ubp_1 = this$0;
    this.vbp_1 = $assignmentUid;
    this.wbp_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda).xbp = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda).r7e = function ($completion) {
    return this.xbp($completion);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentMark.*,\n               Person.firstNames AS markerFirstNames,\n               Person.lastName AS markerLastName,\n               PersonPicture.personPictureThumbnailUri AS markerPictureUri\n          FROM CourseAssignmentMark\n               LEFT JOIN Person\n                         ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid\n         WHERE (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    ) > 0\n           AND CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT)\n           AND CourseAssignmentMark.camSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    )\n      ORDER BY CourseAssignmentMark.camLct DESC    \n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentMark.*,\n               Person.firstNames AS markerFirstNames,\n               Person.lastName AS markerLastName,\n               PersonPicture.personPictureThumbnailUri AS markerPictureUri\n          FROM CourseAssignmentMark\n               LEFT JOIN Person\n                         ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid\n         WHERE (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    ) > 0\n           AND CourseAssignmentMark.camAssignmentUid = ?\n           AND CourseAssignmentMark.camSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    )\n      ORDER BY CourseAssignmentMark.camLct DESC    \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.ubp_1.hbp_1, tmp_0, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda$slambda_0(this.vbp_1, this.wbp_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda(this.ubp_1, this.vbp_1, this.wbp_1, completion);
  };
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda_0(this$0, $assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda(this$0, $assignmentUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.xbp($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda(this$0, $assignmentUid, $submitterUid, resultContinuation) {
    this.gbq_1 = this$0;
    this.hbq_1 = $assignmentUid;
    this.ibq_1 = $submitterUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda).xbp = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda).r7e = function ($completion) {
    return this.xbp($completion);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentMark.*,\n               Person.firstNames AS markerFirstNames,\n               Person.lastName AS markerLastName,\n               PersonPicture.personPictureThumbnailUri AS markerPictureUri\n          FROM CourseAssignmentMark\n               LEFT JOIN Person\n                         ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid\n         WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT)\n           AND CourseAssignmentMark.camSubmitterUid = CAST(? AS BIGINT)\n      ORDER BY CourseAssignmentMark.camLct DESC                             \n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentMark.*,\n               Person.firstNames AS markerFirstNames,\n               Person.lastName AS markerLastName,\n               PersonPicture.personPictureThumbnailUri AS markerPictureUri\n          FROM CourseAssignmentMark\n               LEFT JOIN Person\n                         ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid\n         WHERE CourseAssignmentMark.camAssignmentUid = ?\n           AND CourseAssignmentMark.camSubmitterUid = ?\n      ORDER BY CourseAssignmentMark.camLct DESC                             \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.gbq_1.hbp_1, tmp_0, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda$slambda_0(this.hbq_1, this.ibq_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda(this.gbq_1, this.hbq_1, this.ibq_1, completion);
  };
  function CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda_0(this$0, $assignmentUid, $submitterUid, resultContinuation) {
    var i = new CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda(this$0, $assignmentUid, $submitterUid, resultContinuation);
    var l = function ($completion) {
      return i.xbp($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$145(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rbq_1 = _this__u8e3s4;
    this.sbq_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$145).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.rbq_1.ibp_1.b5n(this.sbq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentMarkDao_JdbcImpl(_db) {
    CourseAssignmentMarkDao.call(this);
    this.hbp_1 = _db;
    var tmp = this;
    tmp.ibp_1 = new CourseAssignmentMarkDao_JdbcImpl$_insertAdapterCourseAssignmentMark_abort$1(this);
  }
  protoOf(CourseAssignmentMarkDao_JdbcImpl).fbo = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$145(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.fbo(entity instanceof CourseAssignmentMark ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl).ebn = function (accountPersonUid, assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseAssignmentMark', 'Person', 'ClazzAssignment', 'CourseGroupMember', 'ClazzEnrolment', 'PersonPicture'];
    return doorFlow(this.hbp_1, tmp, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForUserAsFlow$slambda_0(this, assignmentUid, accountPersonUid, null));
  };
  protoOf(CourseAssignmentMarkDao_JdbcImpl).fbn = function (submitterUid, assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseAssignmentMark', 'Person', 'PersonPicture'];
    return doorFlow(this.hbp_1, tmp, CourseAssignmentMarkDao_JdbcImpl$getAllMarksForSubmitterAsFlow$slambda_0(this, assignmentUid, submitterUid, null));
  };
  function CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda(this$0, $accountPersonUid, $assignmentUid, resultContinuation) {
    this.bbr_1 = this$0;
    this.cbr_1 = $accountPersonUid;
    this.dbr_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ebr_1 = this.bbr_1.nbr_1;
            var tmp_1 = this;
            tmp_1.fbr_1 = 'CourseAssignmentMarkDao/getAllMarksForUserAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.gbr_1 = this.bbr_1.pbr_1;
            var tmp_3 = this;
            tmp_3.hbr_1 = this.gbr_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.bbr_1.nbr_1.a3d(), 'CourseAssignmentMarkDao/getAllMarksForUserAsFlow');
            doorNodeIdHeader(this_0, this.bbr_1.nbr_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.bbr_1.nbr_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.cbr_1));
            parameter(this_0, 'assignmentUid', this.bbr_1.nbr_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.dbr_1));
            tmp_4.ibr_1 = this_0;
            this.ibr_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.jbr_1 = this.hbr_1;
            var tmp_6 = this;
            tmp_6.kbr_1 = this.ibr_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.kbr_1, this.jbr_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.lbr_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.bbr_1.mbr_1, this.lbr_1, this.bbr_1.nbr_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda$lambda(this.ebr_1, this.fbr_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda(this.bbr_1, this.cbr_1, this.dbr_1, completion);
  };
  function CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda_0(this$0, $accountPersonUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda(this$0, $accountPersonUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    this.bbs_1 = this$0;
    this.cbs_1 = $submitterUid;
    this.dbs_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ebs_1 = this.bbs_1.nbr_1;
            var tmp_1 = this;
            tmp_1.fbs_1 = 'CourseAssignmentMarkDao/getAllMarksForSubmitterAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.gbs_1 = this.bbs_1.pbr_1;
            var tmp_3 = this;
            tmp_3.hbs_1 = this.gbs_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.bbs_1.nbr_1.a3d(), 'CourseAssignmentMarkDao/getAllMarksForSubmitterAsFlow');
            doorNodeIdHeader(this_0, this.bbs_1.nbr_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'submitterUid', this.bbs_1.nbr_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.cbs_1));
            parameter(this_0, 'assignmentUid', this.bbs_1.nbr_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.dbs_1));
            tmp_4.ibs_1 = this_0;
            this.ibs_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.jbs_1 = this.hbs_1;
            var tmp_6 = this;
            tmp_6.kbs_1 = this.ibs_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.kbs_1, this.jbs_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.lbs_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.bbs_1.mbr_1, this.lbs_1, this.bbs_1.nbr_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda$lambda(this.ebs_1, this.fbs_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda(this.bbs_1, this.cbs_1, this.dbs_1, completion);
  };
  function CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda_0(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentMarkDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.ubs_1 = this$0;
    this.vbs_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentMarkDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseAssignmentMarkDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ubs_1.obr_1.insertAsync(this.vbs_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentMarkDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseAssignmentMarkDao_Repo$insertAsync$slambda(this.ubs_1, this.vbs_1, completion);
  };
  function CourseAssignmentMarkDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseAssignmentMarkDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$148(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ebt_1 = _this__u8e3s4;
    this.fbt_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$148).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.ebt_1.nbr_1, 'CourseAssignmentMark', CourseAssignmentMarkDao_Repo$insertAsync$slambda_0(this.ebt_1, this.fbt_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentMarkDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseAssignmentMarkDao.call(this);
    this.mbr_1 = _db;
    this.nbr_1 = _repo;
    this.obr_1 = _dao;
    this.pbr_1 = _httpClient;
    this.qbr_1 = _clientId;
    this.rbr_1 = _endpoint;
    this.sbr_1 = new RepoDaoFlowHelper(this.nbr_1);
  }
  protoOf(CourseAssignmentMarkDao_Repo).ebn = function (accountPersonUid, assignmentUid) {
    var tmp = this.obr_1.ebn(accountPersonUid, assignmentUid);
    return this.sbr_1.t6d(tmp, CourseAssignmentMarkDao_Repo$getAllMarksForUserAsFlow$slambda_0(this, accountPersonUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentMarkDao_Repo).fbn = function (submitterUid, assignmentUid) {
    var tmp = this.obr_1.fbn(submitterUid, assignmentUid);
    return this.sbr_1.t6d(tmp, CourseAssignmentMarkDao_Repo$getAllMarksForSubmitterAsFlow$slambda_0(this, submitterUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentMarkDao_Repo).fbo = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$148(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentMarkDao_Repo).insertAsync = function (entity, $completion) {
    return this.fbo(entity instanceof CourseAssignmentMark ? entity : THROW_CCE(), $completion);
  };
  function CourseAssignmentSubmissionDao() {
  }
  function $insertAsyncCOROUTINE$150(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tbt_1 = _this__u8e3s4;
    this.ubt_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$150).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.vbt_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.tbt_1.xbt_1));
            if (this.ubt_1.zbt_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.vbt_1.t68(522, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.wbt_1 = suspendResult;
            this.ubt_1.zbt_1 = this.wbt_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.ubt_1.fbu_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.tbt_1.ybt_1.insertAsync(this.ubt_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.ubt_1.zbt_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentSubmissionDao_DoorWrapper(_db, _dao) {
    CourseAssignmentSubmissionDao.call(this);
    this.xbt_1 = _db;
    this.ybt_1 = _dao;
  }
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).gbt = function (submitterUid, assignmentUid) {
    return this.ybt_1.gbt(submitterUid, assignmentUid);
  };
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).hbt = function (accountPersonUid, assignmentUid, $completion) {
    return this.ybt_1.hbt(accountPersonUid, assignmentUid, $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).ibt = function (assignmentUid, $completion) {
    return this.ybt_1.ibt(assignmentUid, $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).jbt = function (assignmentUid) {
    return this.ybt_1.jbt(assignmentUid);
  };
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).kbt = function (accountPersonUid, assignmentUid) {
    return this.ybt_1.kbt(accountPersonUid, assignmentUid);
  };
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).hbu = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$150(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.hbu(entity instanceof CourseAssignmentSubmission ? entity : THROW_CCE(), $completion);
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_casUid = $_result.d5t('casUid');
      var _tmp_casAssignmentUid = $_result.d5t('casAssignmentUid');
      var _tmp_casSubmitterUid = $_result.d5t('casSubmitterUid');
      var _tmp_casSubmitterPersonUid = $_result.d5t('casSubmitterPersonUid');
      var _tmp_casText = $_result.rz('casText');
      var _tmp_casType = $_result.c5t('casType');
      var _tmp_casTimestamp = $_result.d5t('casTimestamp');
      var _tmp_casClazzUid = $_result.d5t('casClazzUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentSubmission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionDao_JdbcImpl.getAllSubmissionsFromSubmitterAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.zbt_1 = _tmp_casUid;
      this_0.abu_1 = _tmp_casAssignmentUid;
      this_0.bbu_1 = _tmp_casSubmitterUid;
      this_0.cbu_1 = _tmp_casSubmitterPersonUid;
      this_0.dbu_1 = _tmp_casText;
      this_0.ebu_1 = _tmp_casType;
      this_0.fbu_1 = _tmp_casTimestamp;
      this_0.gbu_1 = _tmp_casClazzUid;
      return this_0;
    };
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda($assignmentUid, $submitterUid, resultContinuation) {
    this.qbu_1 = $assignmentUid;
    this.rbu_1 = $submitterUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda).tbu = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.tbu((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.sbu_1.a5o(1, this.qbu_1);
            this.sbu_1.a5o(2, this.rbu_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.sbu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda(this.qbu_1, this.rbu_1, completion);
    i.sbu_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda_0($assignmentUid, $submitterUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda($assignmentUid, $submitterUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.tbu(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda$lambda(_result) {
    return mapNextRow(_result, false, CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda$lambda(_result) {
    return mapNextRow(_result, false, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, false, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda($assignmentUid, resultContinuation) {
    this.cbv_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.dbv_1.a5o(1, this.cbv_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.dbv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda(this.cbv_1, completion);
    i.dbv_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda_0($assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda($assignmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_casUid = $_result.d5t('casUid');
      var _tmp_casAssignmentUid = $_result.d5t('casAssignmentUid');
      var _tmp_casSubmitterUid = $_result.d5t('casSubmitterUid');
      var _tmp_casSubmitterPersonUid = $_result.d5t('casSubmitterPersonUid');
      var _tmp_casText = $_result.rz('casText');
      var _tmp_casType = $_result.c5t('casType');
      var _tmp_casTimestamp = $_result.d5t('casTimestamp');
      var _tmp_casClazzUid = $_result.d5t('casClazzUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentSubmission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionDao_JdbcImpl.findByAssignmentUidAndAccountPersonUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.zbt_1 = _tmp_casUid;
      this_0.abu_1 = _tmp_casAssignmentUid;
      this_0.bbu_1 = _tmp_casSubmitterUid;
      this_0.cbu_1 = _tmp_casSubmitterPersonUid;
      this_0.dbu_1 = _tmp_casText;
      this_0.ebu_1 = _tmp_casType;
      this_0.fbu_1 = _tmp_casTimestamp;
      this_0.gbu_1 = _tmp_casClazzUid;
      return this_0;
    };
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda($assignmentUid, $accountPersonUid, resultContinuation) {
    this.mbv_1 = $assignmentUid;
    this.nbv_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda).tbu = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda).he = function (p1, $completion) {
    return this.tbu((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.obv_1.a5o(1, this.mbv_1);
            this.obv_1.a5o(2, this.mbv_1);
            this.obv_1.a5o(3, this.nbv_1);
            this.obv_1.a5o(4, this.mbv_1);
            this.obv_1.a5o(5, this.mbv_1);
            this.obv_1.a5o(6, this.nbv_1);
            this.obv_1.a5o(7, this.mbv_1);
            this.obv_1.a5o(8, this.nbv_1);
            this.obv_1.a5o(9, this.mbv_1);
            this.obv_1.a5o(10, this.mbv_1);
            this.obv_1.a5o(11, this.nbv_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.obv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda(this.mbv_1, this.nbv_1, completion);
    i.obv_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda_0($assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda($assignmentUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.tbu(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$_insertAdapterCourseAssignmentSubmission_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.pbv_1);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$_insertAdapterCourseAssignmentSubmission_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseAssignmentSubmission (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$_insertAdapterCourseAssignmentSubmission_abort$1).tbv = function (stmt, entity) {
    if (entity.zbt_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.zbt_1);
    }
    stmt.a5o(2, entity.abu_1);
    stmt.a5o(3, entity.bbu_1);
    stmt.a5o(4, entity.cbu_1);
    stmt.d5o(5, entity.dbu_1);
    stmt.z5n(6, entity.ebu_1);
    stmt.a5o(7, entity.fbu_1);
    stmt.a5o(8, entity.gbu_1);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$_insertAdapterCourseAssignmentSubmission_abort$1).u5l = function (stmt, entity) {
    return this.tbv(stmt, entity instanceof CourseAssignmentSubmission ? entity : THROW_CCE());
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda(this$0, $assignmentUid, $submitterUid, resultContinuation) {
    this.cbw_1 = this$0;
    this.dbw_1 = $assignmentUid;
    this.ebw_1 = $submitterUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda).fbw = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda).r7e = function ($completion) {
    return this.fbw($completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentSubmission.*\n          FROM CourseAssignmentSubmission\n         WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n           AND CourseAssignmentSubmission.casSubmitterUid = CAST(? AS BIGINT)\n      ORDER BY CourseAssignmentSubmission.casTimestamp DESC      \n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentSubmission.*\n          FROM CourseAssignmentSubmission\n         WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n           AND CourseAssignmentSubmission.casSubmitterUid = ?\n      ORDER BY CourseAssignmentSubmission.casTimestamp DESC      \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.cbw_1.pbv_1, tmp_0, CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda$slambda_0(this.dbw_1, this.ebw_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda(this.cbw_1, this.dbw_1, this.ebw_1, completion);
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda_0(this$0, $assignmentUid, $submitterUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda(this$0, $assignmentUid, $submitterUid, resultContinuation);
    var l = function ($completion) {
      return i.fbw($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda($assignmentUid, $accountPersonUid, resultContinuation) {
    this.obw_1 = $assignmentUid;
    this.pbw_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.qbw_1.a5o(1, this.obw_1);
            this.qbw_1.a5o(2, this.pbw_1);
            this.qbw_1.a5o(3, this.obw_1);
            this.qbw_1.a5o(4, this.obw_1);
            this.qbw_1.a5o(5, this.pbw_1);
            this.qbw_1.a5o(6, this.obw_1);
            this.qbw_1.a5o(7, this.pbw_1);
            this.qbw_1.a5o(8, this.obw_1);
            this.qbw_1.a5o(9, this.obw_1);
            this.qbw_1.a5o(10, this.pbw_1);
            this.qbw_1.a5o(11, this.obw_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.qbw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda(this.obw_1, this.pbw_1, completion);
    i.qbw_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda_0($assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda($assignmentUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda($assignmentUid, resultContinuation) {
    this.zbw_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.abx_1.a5o(1, this.zbw_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.abx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda(this.zbw_1, completion);
    i.abx_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda_0($assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda($assignmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda(this$0, $assignmentUid, resultContinuation) {
    this.jbx_1 = this$0;
    this.kbx_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda).ta0 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda).r7e = function ($completion) {
    return this.ta0($completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n         SELECT NOT EXISTS(SELECT 1\n                        FROM CourseAssignmentSubmission\n                       WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n                       LIMIT 1)\n    ', VOID, VOID, VOID, '\n         SELECT NOT EXISTS(SELECT 1\n                        FROM CourseAssignmentSubmission\n                       WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n                       LIMIT 1)\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.jbx_1.pbv_1, tmp_0, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda$slambda_0(this.kbx_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda(this.jbx_1, this.kbx_1, completion);
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda_0(this$0, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda(this$0, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.ta0($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda(this$0, $assignmentUid, $accountPersonUid, resultContinuation) {
    this.tbx_1 = this$0;
    this.ubx_1 = $assignmentUid;
    this.vbx_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda).fbw = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda).r7e = function ($completion) {
    return this.fbw($completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentSubmission.*\n          FROM CourseAssignmentSubmission\n         WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n           AND CourseAssignmentSubmission.casSubmitterUid = \n               (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    )\n      ORDER BY CourseAssignmentSubmission.casTimestamp DESC\n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentSubmission.*\n          FROM CourseAssignmentSubmission\n         WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n           AND CourseAssignmentSubmission.casSubmitterUid = \n               (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    )\n      ORDER BY CourseAssignmentSubmission.casTimestamp DESC\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.tbx_1.pbv_1, tmp_0, CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda$slambda_0(this.ubx_1, this.vbx_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda(this.tbx_1, this.ubx_1, this.vbx_1, completion);
  };
  function CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda_0(this$0, $assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda(this$0, $assignmentUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.fbw($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$151(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.eby_1 = _this__u8e3s4;
    this.fby_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$151).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.eby_1.qbv_1.b5n(this.fby_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentSubmissionDao_JdbcImpl(_db) {
    CourseAssignmentSubmissionDao.call(this);
    this.pbv_1 = _db;
    var tmp = this;
    tmp.qbv_1 = new CourseAssignmentSubmissionDao_JdbcImpl$_insertAdapterCourseAssignmentSubmission_abort$1(this);
  }
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).hbu = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$151(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.hbu(entity instanceof CourseAssignmentSubmission ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).gbt = function (submitterUid, assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseAssignmentSubmission'];
    return doorFlow(this.pbv_1, tmp, CourseAssignmentSubmissionDao_JdbcImpl$getAllSubmissionsFromSubmitterAsFlow$slambda_0(this, assignmentUid, submitterUid, null));
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).hbt = function (accountPersonUid, assignmentUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT EXISTS\n               (SELECT CourseAssignmentSubmission.casUid\n                  FROM CourseAssignmentSubmission\n                 WHERE CourseAssignmentSubmission.casSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    )\n                   AND CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT))\n    ', VOID, VOID, VOID, '\n        SELECT EXISTS\n               (SELECT CourseAssignmentSubmission.casUid\n                  FROM CourseAssignmentSubmission\n                 WHERE CourseAssignmentSubmission.casSubmitterUid = (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    )\n                   AND CourseAssignmentSubmission.casAssignmentUid = ?)\n    \n', true);
    return prepareAndUseStatementAsync(this.pbv_1, tmp, CourseAssignmentSubmissionDao_JdbcImpl$doesUserHaveSubmissions$slambda_0(assignmentUid, accountPersonUid, null), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).ibt = function (assignmentUid, $completion) {
    var tmp = new PreparedStatementConfig('\n         SELECT NOT EXISTS(SELECT 1\n                        FROM CourseAssignmentSubmission\n                       WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n                       LIMIT 1)\n    ', VOID, VOID, VOID, '\n         SELECT NOT EXISTS(SELECT 1\n                        FROM CourseAssignmentSubmission\n                       WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n                       LIMIT 1)\n    \n', true);
    return prepareAndUseStatementAsync(this.pbv_1, tmp, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeAsync$slambda_0(assignmentUid, null), $completion);
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).jbt = function (assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseAssignmentSubmission'];
    return doorFlow(this.pbv_1, tmp, CourseAssignmentSubmissionDao_JdbcImpl$checkNoSubmissionsMadeFlow$slambda_0(this, assignmentUid, null));
  };
  protoOf(CourseAssignmentSubmissionDao_JdbcImpl).kbt = function (accountPersonUid, assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseAssignmentSubmission', 'ClazzAssignment', 'CourseGroupMember', 'ClazzEnrolment'];
    return doorFlow(this.pbv_1, tmp, CourseAssignmentSubmissionDao_JdbcImpl$findByAssignmentUidAndAccountPersonUid$slambda_0(this, assignmentUid, accountPersonUid, null));
  };
  function CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    this.oby_1 = this$0;
    this.pby_1 = $submitterUid;
    this.qby_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.rby_1 = this.oby_1.abz_1;
            var tmp_1 = this;
            tmp_1.sby_1 = 'CourseAssignmentSubmissionDao/getAllSubmissionsFromSubmitterAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tby_1 = this.oby_1.cbz_1;
            var tmp_3 = this;
            tmp_3.uby_1 = this.tby_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.oby_1.abz_1.a3d(), 'CourseAssignmentSubmissionDao/getAllSubmissionsFromSubmitterAsFlow');
            doorNodeIdHeader(this_0, this.oby_1.abz_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'submitterUid', this.oby_1.abz_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.pby_1));
            parameter(this_0, 'assignmentUid', this.oby_1.abz_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qby_1));
            tmp_4.vby_1 = this_0;
            this.vby_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wby_1 = this.uby_1;
            var tmp_6 = this;
            tmp_6.xby_1 = this.vby_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xby_1, this.wby_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.yby_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.oby_1.zby_1, this.yby_1, this.oby_1.abz_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda$lambda(this.rby_1, this.sby_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda(this.oby_1, this.pby_1, this.qby_1, completion);
  };
  function CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda_0(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda(this$0, $accountPersonUid, $assignmentUid, resultContinuation) {
    this.obz_1 = this$0;
    this.pbz_1 = $accountPersonUid;
    this.qbz_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.rbz_1 = this.obz_1.abz_1;
            var tmp_1 = this;
            tmp_1.sbz_1 = 'CourseAssignmentSubmissionDao/findByAssignmentUidAndAccountPersonUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tbz_1 = this.obz_1.cbz_1;
            var tmp_3 = this;
            tmp_3.ubz_1 = this.tbz_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.obz_1.abz_1.a3d(), 'CourseAssignmentSubmissionDao/findByAssignmentUidAndAccountPersonUid');
            doorNodeIdHeader(this_0, this.obz_1.abz_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.obz_1.abz_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.pbz_1));
            parameter(this_0, 'assignmentUid', this.obz_1.abz_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qbz_1));
            tmp_4.vbz_1 = this_0;
            this.vbz_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wbz_1 = this.ubz_1;
            var tmp_6 = this;
            tmp_6.xbz_1 = this.vbz_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xbz_1, this.wbz_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ybz_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.obz_1.zby_1, this.ybz_1, this.obz_1.abz_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda$lambda(this.rbz_1, this.sbz_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda(this.obz_1, this.pbz_1, this.qbz_1, completion);
  };
  function CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda_0(this$0, $accountPersonUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda(this$0, $accountPersonUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.hc0_1 = this$0;
    this.ic0_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.hc0_1.bbz_1.insertAsync(this.ic0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionDao_Repo$insertAsync$slambda(this.hc0_1, this.ic0_1, completion);
  };
  function CourseAssignmentSubmissionDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseAssignmentSubmissionDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $doesUserHaveSubmissionsCOROUTINE$153(_this__u8e3s4, accountPersonUid, assignmentUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rc0_1 = _this__u8e3s4;
    this.sc0_1 = accountPersonUid;
    this.tc0_1 = assignmentUid;
  }
  protoOf($doesUserHaveSubmissionsCOROUTINE$153).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.rc0_1.bbz_1.hbt(this.sc0_1, this.tc0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $checkNoSubmissionsMadeAsyncCOROUTINE$157(_this__u8e3s4, assignmentUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cc1_1 = _this__u8e3s4;
    this.dc1_1 = assignmentUid;
  }
  protoOf($checkNoSubmissionsMadeAsyncCOROUTINE$157).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cc1_1.bbz_1.ibt(this.dc1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$158(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mc1_1 = _this__u8e3s4;
    this.nc1_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$158).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.mc1_1.abz_1, 'CourseAssignmentSubmission', CourseAssignmentSubmissionDao_Repo$insertAsync$slambda_0(this.mc1_1, this.nc1_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentSubmissionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseAssignmentSubmissionDao.call(this);
    this.zby_1 = _db;
    this.abz_1 = _repo;
    this.bbz_1 = _dao;
    this.cbz_1 = _httpClient;
    this.dbz_1 = _clientId;
    this.ebz_1 = _endpoint;
    this.fbz_1 = new RepoDaoFlowHelper(this.abz_1);
  }
  protoOf(CourseAssignmentSubmissionDao_Repo).gbt = function (submitterUid, assignmentUid) {
    var tmp = this.bbz_1.gbt(submitterUid, assignmentUid);
    return this.fbz_1.t6d(tmp, CourseAssignmentSubmissionDao_Repo$getAllSubmissionsFromSubmitterAsFlow$slambda_0(this, submitterUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentSubmissionDao_Repo).hbt = function (accountPersonUid, assignmentUid, $completion) {
    var tmp = new $doesUserHaveSubmissionsCOROUTINE$153(this, accountPersonUid, assignmentUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_Repo).ibt = function (assignmentUid, $completion) {
    var tmp = new $checkNoSubmissionsMadeAsyncCOROUTINE$157(this, assignmentUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_Repo).jbt = function (assignmentUid) {
    var _result = this.bbz_1.jbt(assignmentUid);
    return _result;
  };
  protoOf(CourseAssignmentSubmissionDao_Repo).kbt = function (accountPersonUid, assignmentUid) {
    var tmp = this.bbz_1.kbt(accountPersonUid, assignmentUid);
    return this.fbz_1.t6d(tmp, CourseAssignmentSubmissionDao_Repo$findByAssignmentUidAndAccountPersonUid$slambda_0(this, accountPersonUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentSubmissionDao_Repo).hbu = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$158(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionDao_Repo).insertAsync = function (entity, $completion) {
    return this.hbu(entity instanceof CourseAssignmentSubmission ? entity : THROW_CCE(), $completion);
  };
  function CourseAssignmentSubmissionFileDao() {
  }
  function $insertListAsyncCOROUTINE$159(_this__u8e3s4, entityList, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cc2_1 = _this__u8e3s4;
    this.dc2_1 = entityList;
  }
  protoOf($insertListAsyncCOROUTINE$159).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.ec2_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.cc2_1.lc2_1));
            var tmp_0 = this;
            tmp_0.fc2_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.gc2_1 = this.dc2_1.w();
            var tmp_2 = this;
            tmp_2.hc2_1 = this.gc2_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.hc2_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.ic2_1 = this.hc2_1.e();
            var tmp_3 = this;
            tmp_3.jc2_1 = this.ic2_1;
            if (this.jc2_1.nc2_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.ec2_1.t68(90, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.kc2_1 = suspendResult;
            this.jc2_1.nc2_1 = this.kc2_1;
            var this_0 = this.fc2_1;
            var element = this.kc2_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.jc2_1.wc2_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.cc2_1.mc2_1.oc1(this.dc2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$160(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gc3_1 = _this__u8e3s4;
    this.hc3_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$160).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.ic3_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.gc3_1.lc2_1));
            if (this.hc3_1.nc2_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.ic3_1.t68(90, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.jc3_1 = suspendResult;
            this.hc3_1.nc2_1 = this.jc3_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.hc3_1.wc2_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.gc3_1.mc2_1.insertAsync(this.hc3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.hc3_1.nc2_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentSubmissionFileDao_DoorWrapper(_db, _dao) {
    CourseAssignmentSubmissionFileDao.call(this);
    this.lc2_1 = _db;
    this.mc2_1 = _dao;
  }
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).oc1 = function (entityList, $completion) {
    var tmp = new $insertListAsyncCOROUTINE$159(this, entityList, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).pc1 = function (submissionUid) {
    return this.mc2_1.pc1(submissionUid);
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).qc1 = function (accountPersonUid, assignmentUid) {
    return this.mc2_1.qc1(accountPersonUid, assignmentUid);
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).rc1 = function (submitterUid, assignmentUid) {
    return this.mc2_1.rc1(submitterUid, assignmentUid);
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).sc1 = function (casaUid, uri, updateTime, $completion) {
    return this.mc2_1.sc1(casaUid, uri, updateTime, $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).tc1 = function (casaUid, deleted, updateTime, $completion) {
    return this.mc2_1.tc1(casaUid, deleted, updateTime, $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).kc3 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$160(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.kc3(entity instanceof CourseAssignmentSubmissionFile ? entity : THROW_CCE(), $completion);
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseAssignmentSubmissionFile_nullCount = 0;
      var _tmp_casaUid = $_result.d5t('casaUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_casaSubmissionUid = $_result.d5t('casaSubmissionUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_casaSubmitterUid = $_result.d5t('casaSubmitterUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_casaCaUid = $_result.d5t('casaCaUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_casaClazzUid = $_result.d5t('casaClazzUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_casaMimeType = $_result.rz('casaMimeType');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_casaFileName = $_result.rz('casaFileName');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_casaUri = $_result.rz('casaUri');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_casaSize = $_result.c5t('casaSize');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_casaTimestamp = $_result.d5t('casaTimestamp');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_casaDeleted = $_result.o6c('casaDeleted');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_CourseAssignmentSubmissionFile_isAllNull = _tmp_CourseAssignmentSubmissionFile_nullCount === 11;
      var _tmp_TransferJobItem_nullCount = 0;
      var _tmp_tjiUid = $_result.c5t('tjiUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_tjiTjUid = $_result.c5t('tjiTjUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_tjTotalSize = $_result.d5t('tjTotalSize');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_tjTransferred = $_result.d5t('tjTransferred');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_tjAttemptCount = $_result.c5t('tjAttemptCount');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_tjiSrc = $_result.rz('tjiSrc');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_tjiDest = $_result.rz('tjiDest');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_tjiType = $_result.c5t('tjiType');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_tjiStatus = $_result.c5t('tjiStatus');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_tjiTableId = $_result.c5t('tjiTableId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_tjiEntityUid = $_result.d5t('tjiEntityUid');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_tjiEntityEtag = $_result.d5t('tjiEntityEtag');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_tjiLockIdToRelease = $_result.d5t('tjiLockIdToRelease');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_tjiPartialTmpFile = $_result.rz('tjiPartialTmpFile');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_TransferJobItem_isAllNull = _tmp_TransferJobItem_nullCount === 14;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentSubmissionFileAndTransferJob();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getBySubmissionUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseAssignmentSubmissionFile_isAllNull) {
        var tmp_24 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseAssignmentSubmissionFile();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getBySubmissionUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.nc2_1 = _tmp_casaUid;
        this_1.oc2_1 = _tmp_casaSubmissionUid;
        this_1.pc2_1 = _tmp_casaSubmitterUid;
        this_1.qc2_1 = _tmp_casaCaUid;
        this_1.rc2_1 = _tmp_casaClazzUid;
        this_1.sc2_1 = _tmp_casaMimeType;
        this_1.tc2_1 = _tmp_casaFileName;
        this_1.uc2_1 = _tmp_casaUri;
        this_1.vc2_1 = _tmp_casaSize;
        this_1.wc2_1 = _tmp_casaTimestamp;
        this_1.xc2_1 = _tmp_casaDeleted;
        tmp_24.lc3_1 = this_1;
      }
      if (!_tmp_TransferJobItem_isAllNull) {
        var tmp_25 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new TransferJobItem();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getBySubmissionUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nc3_1 = _tmp_tjiUid;
        this_2.oc3_1 = _tmp_tjiTjUid;
        this_2.pc3_1 = _tmp_tjTotalSize;
        this_2.qc3_1 = _tmp_tjTransferred;
        this_2.rc3_1 = _tmp_tjAttemptCount;
        this_2.sc3_1 = _tmp_tjiSrc;
        this_2.tc3_1 = _tmp_tjiDest;
        this_2.uc3_1 = _tmp_tjiType;
        this_2.vc3_1 = _tmp_tjiStatus;
        this_2.wc3_1 = _tmp_tjiTableId;
        this_2.xc3_1 = _tmp_tjiEntityUid;
        this_2.yc3_1 = _tmp_tjiEntityEtag;
        this_2.zc3_1 = _tmp_tjiLockIdToRelease;
        this_2.ac4_1 = _tmp_tjiPartialTmpFile;
        tmp_25.mc3_1 = this_2;
      }
      return this_0;
    };
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda($submissionUid, resultContinuation) {
    this.jc4_1 = $submissionUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda).lc4 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda).he = function (p1, $completion) {
    return this.lc4((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.kc4_1.a5o(1, this.jc4_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.kc4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda(this.jc4_1, completion);
    i.kc4_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda_0($submissionUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda($submissionUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.lc4(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseAssignmentSubmissionFile_nullCount = 0;
      var _tmp_casaUid = $_result.d5t('casaUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_casaSubmissionUid = $_result.d5t('casaSubmissionUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_casaSubmitterUid = $_result.d5t('casaSubmitterUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_casaCaUid = $_result.d5t('casaCaUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_casaClazzUid = $_result.d5t('casaClazzUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_casaMimeType = $_result.rz('casaMimeType');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_casaFileName = $_result.rz('casaFileName');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_casaUri = $_result.rz('casaUri');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_casaSize = $_result.c5t('casaSize');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_casaTimestamp = $_result.d5t('casaTimestamp');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_casaDeleted = $_result.o6c('casaDeleted');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_CourseAssignmentSubmissionFile_isAllNull = _tmp_CourseAssignmentSubmissionFile_nullCount === 11;
      var _tmp_TransferJobItem_nullCount = 0;
      var _tmp_tjiUid = $_result.c5t('tjiUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_tjiTjUid = $_result.c5t('tjiTjUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_tjTotalSize = $_result.d5t('tjTotalSize');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_tjTransferred = $_result.d5t('tjTransferred');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_tjAttemptCount = $_result.c5t('tjAttemptCount');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_tjiSrc = $_result.rz('tjiSrc');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_tjiDest = $_result.rz('tjiDest');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_tjiType = $_result.c5t('tjiType');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_tjiStatus = $_result.c5t('tjiStatus');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_tjiTableId = $_result.c5t('tjiTableId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_tjiEntityUid = $_result.d5t('tjiEntityUid');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_tjiEntityEtag = $_result.d5t('tjiEntityEtag');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_tjiLockIdToRelease = $_result.d5t('tjiLockIdToRelease');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_tjiPartialTmpFile = $_result.rz('tjiPartialTmpFile');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_TransferJobItem_isAllNull = _tmp_TransferJobItem_nullCount === 14;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentSubmissionFileAndTransferJob();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getByAssignmentUidAndPersonUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseAssignmentSubmissionFile_isAllNull) {
        var tmp_24 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseAssignmentSubmissionFile();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getByAssignmentUidAndPersonUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.nc2_1 = _tmp_casaUid;
        this_1.oc2_1 = _tmp_casaSubmissionUid;
        this_1.pc2_1 = _tmp_casaSubmitterUid;
        this_1.qc2_1 = _tmp_casaCaUid;
        this_1.rc2_1 = _tmp_casaClazzUid;
        this_1.sc2_1 = _tmp_casaMimeType;
        this_1.tc2_1 = _tmp_casaFileName;
        this_1.uc2_1 = _tmp_casaUri;
        this_1.vc2_1 = _tmp_casaSize;
        this_1.wc2_1 = _tmp_casaTimestamp;
        this_1.xc2_1 = _tmp_casaDeleted;
        tmp_24.lc3_1 = this_1;
      }
      if (!_tmp_TransferJobItem_isAllNull) {
        var tmp_25 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new TransferJobItem();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getByAssignmentUidAndPersonUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nc3_1 = _tmp_tjiUid;
        this_2.oc3_1 = _tmp_tjiTjUid;
        this_2.pc3_1 = _tmp_tjTotalSize;
        this_2.qc3_1 = _tmp_tjTransferred;
        this_2.rc3_1 = _tmp_tjAttemptCount;
        this_2.sc3_1 = _tmp_tjiSrc;
        this_2.tc3_1 = _tmp_tjiDest;
        this_2.uc3_1 = _tmp_tjiType;
        this_2.vc3_1 = _tmp_tjiStatus;
        this_2.wc3_1 = _tmp_tjiTableId;
        this_2.xc3_1 = _tmp_tjiEntityUid;
        this_2.yc3_1 = _tmp_tjiEntityEtag;
        this_2.zc3_1 = _tmp_tjiLockIdToRelease;
        this_2.ac4_1 = _tmp_tjiPartialTmpFile;
        tmp_25.mc3_1 = this_2;
      }
      return this_0;
    };
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda($assignmentUid, $accountPersonUid, resultContinuation) {
    this.uc4_1 = $assignmentUid;
    this.vc4_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda).lc4 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda).he = function (p1, $completion) {
    return this.lc4((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.wc4_1.a5o(1, this.uc4_1);
            this.wc4_1.a5o(2, this.uc4_1);
            this.wc4_1.a5o(3, this.vc4_1);
            this.wc4_1.a5o(4, this.uc4_1);
            this.wc4_1.a5o(5, this.uc4_1);
            this.wc4_1.a5o(6, this.vc4_1);
            this.wc4_1.a5o(7, this.uc4_1);
            this.wc4_1.a5o(8, this.vc4_1);
            this.wc4_1.a5o(9, this.uc4_1);
            this.wc4_1.a5o(10, this.uc4_1);
            this.wc4_1.a5o(11, this.vc4_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.wc4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda(this.uc4_1, this.vc4_1, completion);
    i.wc4_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda_0($assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda($assignmentUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.lc4(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseAssignmentSubmissionFile_nullCount = 0;
      var _tmp_casaUid = $_result.d5t('casaUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_casaSubmissionUid = $_result.d5t('casaSubmissionUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_casaSubmitterUid = $_result.d5t('casaSubmitterUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_casaCaUid = $_result.d5t('casaCaUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_casaClazzUid = $_result.d5t('casaClazzUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_casaMimeType = $_result.rz('casaMimeType');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_casaFileName = $_result.rz('casaFileName');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_casaUri = $_result.rz('casaUri');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_casaSize = $_result.c5t('casaSize');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_casaTimestamp = $_result.d5t('casaTimestamp');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_casaDeleted = $_result.o6c('casaDeleted');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseAssignmentSubmissionFile_nullCount = _tmp_CourseAssignmentSubmissionFile_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_CourseAssignmentSubmissionFile_isAllNull = _tmp_CourseAssignmentSubmissionFile_nullCount === 11;
      var _tmp_TransferJobItem_nullCount = 0;
      var _tmp_tjiUid = $_result.c5t('tjiUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_tjiTjUid = $_result.c5t('tjiTjUid');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_tjTotalSize = $_result.d5t('tjTotalSize');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_tjTransferred = $_result.d5t('tjTransferred');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_tjAttemptCount = $_result.c5t('tjAttemptCount');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_tjiSrc = $_result.rz('tjiSrc');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_tjiDest = $_result.rz('tjiDest');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_tjiType = $_result.c5t('tjiType');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_tjiStatus = $_result.c5t('tjiStatus');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_tjiTableId = $_result.c5t('tjiTableId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_tjiEntityUid = $_result.d5t('tjiEntityUid');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_tjiEntityEtag = $_result.d5t('tjiEntityEtag');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_tjiLockIdToRelease = $_result.d5t('tjiLockIdToRelease');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_tjiPartialTmpFile = $_result.rz('tjiPartialTmpFile');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_TransferJobItem_isAllNull = _tmp_TransferJobItem_nullCount === 14;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseAssignmentSubmissionFileAndTransferJob();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getAllSubmissionFilesFromSubmitterAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseAssignmentSubmissionFile_isAllNull) {
        var tmp_24 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseAssignmentSubmissionFile();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getAllSubmissionFilesFromSubmitterAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.nc2_1 = _tmp_casaUid;
        this_1.oc2_1 = _tmp_casaSubmissionUid;
        this_1.pc2_1 = _tmp_casaSubmitterUid;
        this_1.qc2_1 = _tmp_casaCaUid;
        this_1.rc2_1 = _tmp_casaClazzUid;
        this_1.sc2_1 = _tmp_casaMimeType;
        this_1.tc2_1 = _tmp_casaFileName;
        this_1.uc2_1 = _tmp_casaUri;
        this_1.vc2_1 = _tmp_casaSize;
        this_1.wc2_1 = _tmp_casaTimestamp;
        this_1.xc2_1 = _tmp_casaDeleted;
        tmp_24.lc3_1 = this_1;
      }
      if (!_tmp_TransferJobItem_isAllNull) {
        var tmp_25 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new TransferJobItem();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl.getAllSubmissionFilesFromSubmitterAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.nc3_1 = _tmp_tjiUid;
        this_2.oc3_1 = _tmp_tjiTjUid;
        this_2.pc3_1 = _tmp_tjTotalSize;
        this_2.qc3_1 = _tmp_tjTransferred;
        this_2.rc3_1 = _tmp_tjAttemptCount;
        this_2.sc3_1 = _tmp_tjiSrc;
        this_2.tc3_1 = _tmp_tjiDest;
        this_2.uc3_1 = _tmp_tjiType;
        this_2.vc3_1 = _tmp_tjiStatus;
        this_2.wc3_1 = _tmp_tjiTableId;
        this_2.xc3_1 = _tmp_tjiEntityUid;
        this_2.yc3_1 = _tmp_tjiEntityEtag;
        this_2.zc3_1 = _tmp_tjiLockIdToRelease;
        this_2.ac4_1 = _tmp_tjiPartialTmpFile;
        tmp_25.mc3_1 = this_2;
      }
      return this_0;
    };
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda($submitterUid, $assignmentUid, resultContinuation) {
    this.fc5_1 = $submitterUid;
    this.gc5_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda).lc4 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.lc4((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hc5_1.a5o(1, this.fc5_1);
            this.hc5_1.a5o(2, this.gc5_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.hc5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda(this.fc5_1, this.gc5_1, completion);
    i.hc5_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda_0($submitterUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda($submitterUid, $assignmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.lc4(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$_insertAdapterCourseAssignmentSubmissionFile_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ic5_1);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$_insertAdapterCourseAssignmentSubmissionFile_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseAssignmentSubmissionFile (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$_insertAdapterCourseAssignmentSubmissionFile_abort$1).mc5 = function (stmt, entity) {
    if (entity.nc2_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.nc2_1);
    }
    stmt.a5o(2, entity.oc2_1);
    stmt.a5o(3, entity.pc2_1);
    stmt.a5o(4, entity.qc2_1);
    stmt.a5o(5, entity.rc2_1);
    stmt.d5o(6, entity.sc2_1);
    stmt.d5o(7, entity.tc2_1);
    stmt.d5o(8, entity.uc2_1);
    stmt.z5n(9, entity.vc2_1);
    stmt.a5o(10, entity.wc2_1);
    stmt.n5n(11, entity.xc2_1);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$_insertAdapterCourseAssignmentSubmissionFile_abort$1).u5l = function (stmt, entity) {
    return this.mc5(stmt, entity instanceof CourseAssignmentSubmissionFile ? entity : THROW_CCE());
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda(this$0, $submissionUid, resultContinuation) {
    this.vc5_1 = this$0;
    this.wc5_1 = $submissionUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda).xc5 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda).r7e = function ($completion) {
    return this.xc5($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.*\n          FROM CourseAssignmentSubmissionFile\n               LEFT JOIN TransferJobItem\n                         ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid\n                            AND TransferJobItem.tjiTableId = 90\n         WHERE CourseAssignmentSubmissionFile.casaSubmissionUid = CAST(? AS BIGINT)\n           AND NOT CourseAssignmentSubmissionFile.casaDeleted\n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.*\n          FROM CourseAssignmentSubmissionFile\n               LEFT JOIN TransferJobItem\n                         ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid\n                            AND TransferJobItem.tjiTableId = 90\n         WHERE CourseAssignmentSubmissionFile.casaSubmissionUid = ?\n           AND NOT CourseAssignmentSubmissionFile.casaDeleted\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.vc5_1.ic5_1, tmp_0, CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda$slambda_0(this.wc5_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda(this.vc5_1, this.wc5_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda_0(this$0, $submissionUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda(this$0, $submissionUid, resultContinuation);
    var l = function ($completion) {
      return i.xc5($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda(this$0, $assignmentUid, $accountPersonUid, resultContinuation) {
    this.gc6_1 = this$0;
    this.hc6_1 = $assignmentUid;
    this.ic6_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda).xc5 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda).r7e = function ($completion) {
    return this.xc5($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.*\n          FROM CourseAssignmentSubmissionFile\n               LEFT JOIN TransferJobItem\n                         ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid\n                            AND TransferJobItem.tjiTableId = 90\n         WHERE CourseAssignmentSubmissionFile.casaSubmissionUid IN\n               (SELECT CourseAssignmentSubmission.casUid\n                  FROM CourseAssignmentSubmission\n                 WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)\n                   AND CourseAssignmentSubmission.casSubmitterUid = \n                       (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    ))\n           AND NOT CourseAssignmentSubmissionFile.casaDeleted        \n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.*\n          FROM CourseAssignmentSubmissionFile\n               LEFT JOIN TransferJobItem\n                         ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid\n                            AND TransferJobItem.tjiTableId = 90\n         WHERE CourseAssignmentSubmissionFile.casaSubmissionUid IN\n               (SELECT CourseAssignmentSubmission.casUid\n                  FROM CourseAssignmentSubmission\n                 WHERE CourseAssignmentSubmission.casAssignmentUid = ?\n                   AND CourseAssignmentSubmission.casSubmitterUid = \n                       (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    ))\n           AND NOT CourseAssignmentSubmissionFile.casaDeleted        \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.gc6_1.ic5_1, tmp_0, CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda$slambda_0(this.hc6_1, this.ic6_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda(this.gc6_1, this.hc6_1, this.ic6_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda_0(this$0, $assignmentUid, $accountPersonUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda(this$0, $assignmentUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.xc5($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    this.rc6_1 = this$0;
    this.sc6_1 = $submitterUid;
    this.tc6_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda).xc5 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda).r7e = function ($completion) {
    return this.xc5($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.*\n          FROM CourseAssignmentSubmissionFile\n               LEFT JOIN TransferJobItem\n                         ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid\n                            AND TransferJobItem.tjiTableId = 90\n         WHERE CourseAssignmentSubmissionFile.casaSubmitterUid = CAST(? AS BIGINT)\n           AND CourseAssignmentSubmissionFile.casaCaUid = CAST(? AS BIGINT)\n           AND NOT CourseAssignmentSubmissionFile.casaDeleted\n    ', VOID, VOID, VOID, '\n        SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.*\n          FROM CourseAssignmentSubmissionFile\n               LEFT JOIN TransferJobItem\n                         ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid\n                            AND TransferJobItem.tjiTableId = 90\n         WHERE CourseAssignmentSubmissionFile.casaSubmitterUid = ?\n           AND CourseAssignmentSubmissionFile.casaCaUid = ?\n           AND NOT CourseAssignmentSubmissionFile.casaDeleted\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.rc6_1.ic5_1, tmp_0, CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda$slambda_0(this.sc6_1, this.tc6_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda(this.rc6_1, this.sc6_1, this.tc6_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda_0(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.xc5($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda($uri, $updateTime, $casaUid, resultContinuation) {
    this.cc7_1 = $uri;
    this.dc7_1 = $updateTime;
    this.ec7_1 = $casaUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fc7_1.d5o(1, this.cc7_1);
            this.fc7_1.a5o(2, this.dc7_1);
            this.fc7_1.a5o(3, this.ec7_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.fc7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda(this.cc7_1, this.dc7_1, this.ec7_1, completion);
    i.fc7_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda_0($uri, $updateTime, $casaUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda($uri, $updateTime, $casaUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda($deleted, $updateTime, $casaUid, resultContinuation) {
    this.oc7_1 = $deleted;
    this.pc7_1 = $updateTime;
    this.qc7_1 = $casaUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rc7_1.n5n(1, this.oc7_1);
            this.rc7_1.a5o(2, this.pc7_1);
            this.rc7_1.a5o(3, this.qc7_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.rc7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda).r5l = function (_stmt, completion) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda(this.oc7_1, this.pc7_1, this.qc7_1, completion);
    i.rc7_1 = _stmt;
    return i;
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda_0($deleted, $updateTime, $casaUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda($deleted, $updateTime, $casaUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$161(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ac8_1 = _this__u8e3s4;
    this.bc8_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$161).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ac8_1.jc5_1.b5n(this.bc8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateUriCOROUTINE$162(_this__u8e3s4, casaUid, uri, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kc8_1 = _this__u8e3s4;
    this.lc8_1 = casaUid;
    this.mc8_1 = uri;
    this.nc8_1 = updateTime;
  }
  protoOf($updateUriCOROUTINE$162).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE CourseAssignmentSubmissionFile\n           SET casaUri = ?,\n               casaTimestamp = CAST(? AS BIGINT)\n         WHERE casaUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        UPDATE CourseAssignmentSubmissionFile\n           SET casaUri = ?,\n               casaTimestamp = ?\n         WHERE casaUid = ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.kc8_1.ic5_1, tmp_0, CourseAssignmentSubmissionFileDao_JdbcImpl$updateUri$slambda_0(this.mc8_1, this.nc8_1, this.lc8_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $setDeletedCOROUTINE$163(_this__u8e3s4, casaUid, deleted, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wc8_1 = _this__u8e3s4;
    this.xc8_1 = casaUid;
    this.yc8_1 = deleted;
    this.zc8_1 = updateTime;
  }
  protoOf($setDeletedCOROUTINE$163).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE CourseAssignmentSubmissionFile\n           SET casaDeleted = ?,\n               casaTimestamp = CAST(? AS BIGINT)\n         WHERE casaUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        UPDATE CourseAssignmentSubmissionFile\n           SET casaDeleted = ?,\n               casaTimestamp = ?\n         WHERE casaUid = ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.wc8_1.ic5_1, tmp_0, CourseAssignmentSubmissionFileDao_JdbcImpl$setDeleted$slambda_0(this.yc8_1, this.zc8_1, this.xc8_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentSubmissionFileDao_JdbcImpl(_db) {
    CourseAssignmentSubmissionFileDao.call(this);
    this.ic5_1 = _db;
    var tmp = this;
    tmp.jc5_1 = new CourseAssignmentSubmissionFileDao_JdbcImpl$_insertAdapterCourseAssignmentSubmissionFile_abort$1(this);
  }
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).oc1 = function (entityList, $completion) {
    return this.jc5_1.e5n(entityList, $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).kc3 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$161(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.kc3(entity instanceof CourseAssignmentSubmissionFile ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).pc1 = function (submissionUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['TransferJobItem', 'CourseAssignmentSubmissionFile'];
    return doorFlow(this.ic5_1, tmp, CourseAssignmentSubmissionFileDao_JdbcImpl$getBySubmissionUid$slambda_0(this, submissionUid, null));
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).qc1 = function (accountPersonUid, assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseAssignmentSubmission', 'ClazzAssignment', 'TransferJobItem', 'CourseGroupMember', 'CourseAssignmentSubmissionFile', 'ClazzEnrolment'];
    return doorFlow(this.ic5_1, tmp, CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$slambda_0(this, assignmentUid, accountPersonUid, null));
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).rc1 = function (submitterUid, assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['TransferJobItem', 'CourseAssignmentSubmissionFile'];
    return doorFlow(this.ic5_1, tmp, CourseAssignmentSubmissionFileDao_JdbcImpl$getAllSubmissionFilesFromSubmitterAsFlow$slambda_0(this, submitterUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).sc1 = function (casaUid, uri, updateTime, $completion) {
    var tmp = new $updateUriCOROUTINE$162(this, casaUid, uri, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_JdbcImpl).tc1 = function (casaUid, deleted, updateTime, $completion) {
    var tmp = new $setDeletedCOROUTINE$163(this, casaUid, deleted, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda(this$0, $entityList, resultContinuation) {
    this.ic9_1 = this$0;
    this.jc9_1 = $entityList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ic9_1.mc9_1.oc1(this.jc9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda(this.ic9_1, this.jc9_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda_0(this$0, $entityList, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda(this$0, $entityList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda(this$0, $accountPersonUid, $assignmentUid, resultContinuation) {
    this.zc9_1 = this$0;
    this.aca_1 = $accountPersonUid;
    this.bca_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.cca_1 = this.zc9_1.lc9_1;
            var tmp_1 = this;
            tmp_1.dca_1 = 'CourseAssignmentSubmissionFileDao/getByAssignmentUidAndPersonUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.eca_1 = this.zc9_1.nc9_1;
            var tmp_3 = this;
            tmp_3.fca_1 = this.eca_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.zc9_1.lc9_1.a3d(), 'CourseAssignmentSubmissionFileDao/getByAssignmentUidAndPersonUid');
            doorNodeIdHeader(this_0, this.zc9_1.lc9_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.zc9_1.lc9_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.aca_1));
            parameter(this_0, 'assignmentUid', this.zc9_1.lc9_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.bca_1));
            tmp_4.gca_1 = this_0;
            this.gca_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.hca_1 = this.fca_1;
            var tmp_6 = this;
            tmp_6.ica_1 = this.gca_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ica_1, this.hca_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.jca_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.zc9_1.kc9_1, this.jca_1, this.zc9_1.lc9_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda$lambda(this.cca_1, this.dca_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda(this.zc9_1, this.aca_1, this.bca_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda_0(this$0, $accountPersonUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda(this$0, $accountPersonUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    this.sca_1 = this$0;
    this.tca_1 = $submitterUid;
    this.uca_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.vca_1 = this.sca_1.lc9_1;
            var tmp_1 = this;
            tmp_1.wca_1 = 'CourseAssignmentSubmissionFileDao/getAllSubmissionFilesFromSubmitterAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.xca_1 = this.sca_1.nc9_1;
            var tmp_3 = this;
            tmp_3.yca_1 = this.xca_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.sca_1.lc9_1.a3d(), 'CourseAssignmentSubmissionFileDao/getAllSubmissionFilesFromSubmitterAsFlow');
            doorNodeIdHeader(this_0, this.sca_1.lc9_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'submitterUid', this.sca_1.lc9_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.tca_1));
            parameter(this_0, 'assignmentUid', this.sca_1.lc9_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.uca_1));
            tmp_4.zca_1 = this_0;
            this.zca_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.acb_1 = this.yca_1;
            var tmp_6 = this;
            tmp_6.bcb_1 = this.zca_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.bcb_1, this.acb_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ccb_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.sca_1.kc9_1, this.ccb_1, this.sca_1.lc9_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda$lambda(this.vca_1, this.wca_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda(this.sca_1, this.tca_1, this.uca_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda_0(this$0, $submitterUid, $assignmentUid, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda(this$0, $submitterUid, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda(this$0, $casaUid, $uri, $updateTime, resultContinuation) {
    this.lcb_1 = this$0;
    this.mcb_1 = $casaUid;
    this.ncb_1 = $uri;
    this.ocb_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.lcb_1.mc9_1.sc1(this.mcb_1, this.ncb_1, this.ocb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda(this.lcb_1, this.mcb_1, this.ncb_1, this.ocb_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda_0(this$0, $casaUid, $uri, $updateTime, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda(this$0, $casaUid, $uri, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda(this$0, $casaUid, $deleted, $updateTime, resultContinuation) {
    this.xcb_1 = this$0;
    this.ycb_1 = $casaUid;
    this.zcb_1 = $deleted;
    this.acc_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xcb_1.mc9_1.tc1(this.ycb_1, this.zcb_1, this.acc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda(this.xcb_1, this.ycb_1, this.zcb_1, this.acc_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda_0(this$0, $casaUid, $deleted, $updateTime, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda(this$0, $casaUid, $deleted, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.jcc_1 = this$0;
    this.kcc_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.jcc_1.mc9_1.insertAsync(this.kcc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda(this.jcc_1, this.kcc_1, completion);
  };
  function CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$164(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tcc_1 = _this__u8e3s4;
    this.ucc_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$164).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.tcc_1.lc9_1, 'CourseAssignmentSubmissionFile', CourseAssignmentSubmissionFileDao_Repo$insertAsync$slambda_0(this.tcc_1, this.ucc_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseAssignmentSubmissionFileDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseAssignmentSubmissionFileDao.call(this);
    this.kc9_1 = _db;
    this.lc9_1 = _repo;
    this.mc9_1 = _dao;
    this.nc9_1 = _httpClient;
    this.oc9_1 = _clientId;
    this.pc9_1 = _endpoint;
    this.qc9_1 = new RepoDaoFlowHelper(this.lc9_1);
  }
  protoOf(CourseAssignmentSubmissionFileDao_Repo).oc1 = function (entityList, $completion) {
    return withRepoChangeMonitorAsync(this.lc9_1, 'CourseAssignmentSubmissionFile', CourseAssignmentSubmissionFileDao_Repo$insertListAsync$slambda_0(this, entityList, null), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).pc1 = function (submissionUid) {
    var _result = this.mc9_1.pc1(submissionUid);
    return _result;
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).qc1 = function (accountPersonUid, assignmentUid) {
    var tmp = this.mc9_1.qc1(accountPersonUid, assignmentUid);
    return this.qc9_1.t6d(tmp, CourseAssignmentSubmissionFileDao_Repo$getByAssignmentUidAndPersonUid$slambda_0(this, accountPersonUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).rc1 = function (submitterUid, assignmentUid) {
    var tmp = this.mc9_1.rc1(submitterUid, assignmentUid);
    return this.qc9_1.t6d(tmp, CourseAssignmentSubmissionFileDao_Repo$getAllSubmissionFilesFromSubmitterAsFlow$slambda_0(this, submitterUid, assignmentUid, null));
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).sc1 = function (casaUid, uri, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.lc9_1, 'CourseAssignmentSubmissionFile', CourseAssignmentSubmissionFileDao_Repo$updateUri$slambda_0(this, casaUid, uri, updateTime, null), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).tc1 = function (casaUid, deleted, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.lc9_1, 'CourseAssignmentSubmissionFile', CourseAssignmentSubmissionFileDao_Repo$setDeleted$slambda_0(this, casaUid, deleted, updateTime, null), $completion);
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).kc3 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$164(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseAssignmentSubmissionFileDao_Repo).insertAsync = function (entity, $completion) {
    return this.kc3(entity instanceof CourseAssignmentSubmissionFile ? entity : THROW_CCE(), $completion);
  };
  function CourseBlockDao() {
  }
  function $upsertListAsyncCOROUTINE$166(_this__u8e3s4, entities, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mcd_1 = _this__u8e3s4;
    this.ncd_1 = entities;
  }
  protoOf($upsertListAsyncCOROUTINE$166).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.ocd_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.mcd_1.vcd_1));
            var tmp_0 = this;
            tmp_0.pcd_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.qcd_1 = this.ncd_1.w();
            var tmp_2 = this;
            tmp_2.rcd_1 = this.qcd_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.rcd_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.scd_1 = this.rcd_1.e();
            var tmp_3 = this;
            tmp_3.tcd_1 = this.scd_1;
            if (this.tcd_1.o83_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.ocd_1.t68(124, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.ucd_1 = suspendResult;
            this.tcd_1.o83_1 = this.ucd_1;
            var this_0 = this.pcd_1;
            var element = this.ucd_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.tcd_1.h84_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.mcd_1.wcd_1.zcc(this.ncd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$167(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fce_1 = _this__u8e3s4;
    this.gce_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$167).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.hce_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.fce_1.vcd_1));
            if (this.gce_1.o83_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.hce_1.t68(124, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ice_1 = suspendResult;
            this.gce_1.o83_1 = this.ice_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.gce_1.h84_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.fce_1.wcd_1.insertAsync(this.gce_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.gce_1.o83_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseBlockDao_DoorWrapper(_db, _dao) {
    CourseBlockDao.call(this);
    this.vcd_1 = _db;
    this.wcd_1 = _dao;
  }
  protoOf(CourseBlockDao_DoorWrapper).vcc = function (uid) {
    return this.wcd_1.vcc(uid);
  };
  protoOf(CourseBlockDao_DoorWrapper).wcc = function (clazzUid, includeInactive, $completion) {
    return this.wcd_1.wcc(clazzUid, includeInactive, $completion);
  };
  protoOf(CourseBlockDao_DoorWrapper).xcc = function (clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid) {
    return this.wcd_1.xcc(clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid);
  };
  protoOf(CourseBlockDao_DoorWrapper).ycc = function (cbUid, active, changeTime, $completion) {
    return this.wcd_1.ycc(cbUid, active, changeTime, $completion);
  };
  protoOf(CourseBlockDao_DoorWrapper).zcc = function (entities, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$166(this, entities, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_DoorWrapper).acd = function (postUid, $completion) {
    return this.wcd_1.acd(postUid, $completion);
  };
  protoOf(CourseBlockDao_DoorWrapper).bcd = function (courseBlockUid, $completion) {
    return this.wcd_1.bcd(courseBlockUid, $completion);
  };
  protoOf(CourseBlockDao_DoorWrapper).ccd = function (assignmentUid) {
    return this.wcd_1.ccd(assignmentUid);
  };
  protoOf(CourseBlockDao_DoorWrapper).dcd = function (clazzUid) {
    return this.wcd_1.dcd(clazzUid);
  };
  protoOf(CourseBlockDao_DoorWrapper).jce = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$167(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.jce(entity instanceof CourseBlock ? entity : THROW_CCE(), $completion);
  };
  function CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      var _tmp_CourseBlockPicture_nullCount = 0;
      var _tmp_cbpUid = $_result.d5t('cbpUid');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_cbpLct = $_result.d5t('cbpLct');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_cbpPictureUri = $_result.rz('cbpPictureUri');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_cbpThumbnailUri = $_result.rz('cbpThumbnailUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_CourseBlockPicture_isAllNull = _tmp_CourseBlockPicture_nullCount === 4;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseBlockAndPicture();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByUidWithPictureAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_26 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByUidWithPictureAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.o83_1 = _tmp_cbUid;
        this_1.p83_1 = _tmp_cbType;
        this_1.q83_1 = _tmp_cbIndentLevel;
        this_1.r83_1 = _tmp_cbModuleParentBlockUid;
        this_1.s83_1 = _tmp_cbTitle;
        this_1.t83_1 = _tmp_cbDescription;
        this_1.u83_1 = _tmp_cbCompletionCriteria;
        this_1.v83_1 = _tmp_cbHideUntilDate;
        this_1.w83_1 = _tmp_cbDeadlineDate;
        this_1.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_1.y83_1 = _tmp_cbGracePeriodDate;
        this_1.z83_1 = _tmp_cbMaxPoints;
        this_1.a84_1 = _tmp_cbMinPoints;
        this_1.b84_1 = _tmp_cbIndex;
        this_1.c84_1 = _tmp_cbClazzUid;
        this_1.d84_1 = _tmp_cbClazzSourcedId;
        this_1.e84_1 = _tmp_cbActive;
        this_1.f84_1 = _tmp_cbHidden;
        this_1.g84_1 = _tmp_cbEntityUid;
        this_1.h84_1 = _tmp_cbLct;
        this_1.i84_1 = _tmp_cbSourcedId;
        this_1.j84_1 = _tmp_cbMetadata;
        this_1.k84_1 = _tmp_cbCreatedByAppId;
        tmp_26.kce_1 = this_1;
      }
      if (!_tmp_CourseBlockPicture_isAllNull) {
        var tmp_27 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseBlockPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByUidWithPictureAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.r84_1 = _tmp_cbpUid;
        this_2.s84_1 = _tmp_cbpLct;
        this_2.t84_1 = _tmp_cbpPictureUri;
        this_2.u84_1 = _tmp_cbpThumbnailUri;
        tmp_27.lce_1 = this_2;
      }
      return this_0;
    };
  }
  function CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda($uid, resultContinuation) {
    this.uce_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).wce = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.wce((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.vce_1.a5o(1, this.uce_1);
            this.vce_1.a5o(2, this.uce_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.vce_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda(this.uce_1, completion);
    i.vce_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda_0($uid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.wce(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda$lambda(_result) {
    return mapRows(_result, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_assignmentCourseGroupSetName = $_result.rz('assignmentCourseGroupSetName');
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      var _tmp_CourseBlockPicture_nullCount = 0;
      var _tmp_cbpUid = $_result.d5t('cbpUid');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_cbpLct = $_result.d5t('cbpLct');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_cbpPictureUri = $_result.rz('cbpPictureUri');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_cbpThumbnailUri = $_result.rz('cbpThumbnailUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_CourseBlockPicture_isAllNull = _tmp_CourseBlockPicture_nullCount === 4;
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_46;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_46 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_47;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_47 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_48;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_48 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_49;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_49 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_50;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_50 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_51;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_51 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_52;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_52 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_Language_nullCount = 0;
      var _tmp_langUid = $_result.d5t('langUid');
      var tmp_53;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_53 = Unit_instance;
      }
      var _tmp_name = $_result.rz('name');
      var tmp_54;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_54 = Unit_instance;
      }
      var _tmp_iso_639_1_standard = $_result.rz('iso_639_1_standard');
      var tmp_55;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_55 = Unit_instance;
      }
      var _tmp_iso_639_2_standard = $_result.rz('iso_639_2_standard');
      var tmp_56;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_56 = Unit_instance;
      }
      var _tmp_iso_639_3_standard = $_result.rz('iso_639_3_standard');
      var tmp_57;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_57 = Unit_instance;
      }
      var _tmp_Language_Type = $_result.rz('Language_Type');
      var tmp_58;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_58 = Unit_instance;
      }
      var _tmp_languageActive = $_result.o6c('languageActive');
      var tmp_59;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_59 = Unit_instance;
      }
      var _tmp_langLocalChangeSeqNum = $_result.d5t('langLocalChangeSeqNum');
      var tmp_60;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_60 = Unit_instance;
      }
      var _tmp_langMasterChangeSeqNum = $_result.d5t('langMasterChangeSeqNum');
      var tmp_61;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_61 = Unit_instance;
      }
      var _tmp_langLastChangedBy = $_result.c5t('langLastChangedBy');
      var tmp_62;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_62 = Unit_instance;
      }
      var _tmp_langLct = $_result.d5t('langLct');
      var tmp_63;
      if ($_result.v6d()) {
        _tmp_Language_nullCount = _tmp_Language_nullCount + 1 | 0;
        tmp_63 = Unit_instance;
      }
      var _tmp_Language_isAllNull = _tmp_Language_nullCount === 11;
      var _tmp_ClazzAssignment_nullCount = 0;
      var _tmp_caUid = $_result.d5t('caUid');
      var tmp_64;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_64 = Unit_instance;
      }
      var _tmp_caTitle = $_result.rz('caTitle');
      var tmp_65;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_65 = Unit_instance;
      }
      var _tmp_caDescription = $_result.rz('caDescription');
      var tmp_66;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_66 = Unit_instance;
      }
      var _tmp_caGroupUid = $_result.d5t('caGroupUid');
      var tmp_67;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_67 = Unit_instance;
      }
      var _tmp_caActive = $_result.o6c('caActive');
      var tmp_68;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_68 = Unit_instance;
      }
      var _tmp_caClassCommentEnabled = $_result.o6c('caClassCommentEnabled');
      var tmp_69;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_69 = Unit_instance;
      }
      var _tmp_caPrivateCommentsEnabled = $_result.o6c('caPrivateCommentsEnabled');
      var tmp_70;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_70 = Unit_instance;
      }
      var _tmp_caCompletionCriteria = $_result.c5t('caCompletionCriteria');
      var tmp_71;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_71 = Unit_instance;
      }
      var _tmp_caRequireFileSubmission = $_result.o6c('caRequireFileSubmission');
      var tmp_72;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_72 = Unit_instance;
      }
      var _tmp_caFileType = $_result.c5t('caFileType');
      var tmp_73;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_73 = Unit_instance;
      }
      var _tmp_caSizeLimit = $_result.c5t('caSizeLimit');
      var tmp_74;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_74 = Unit_instance;
      }
      var _tmp_caNumberOfFiles = $_result.c5t('caNumberOfFiles');
      var tmp_75;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_75 = Unit_instance;
      }
      var _tmp_caSubmissionPolicy = $_result.c5t('caSubmissionPolicy');
      var tmp_76;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_76 = Unit_instance;
      }
      var _tmp_caMarkingType = $_result.c5t('caMarkingType');
      var tmp_77;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_77 = Unit_instance;
      }
      var _tmp_caRequireTextSubmission = $_result.o6c('caRequireTextSubmission');
      var tmp_78;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_78 = Unit_instance;
      }
      var _tmp_caTextLimitType = $_result.c5t('caTextLimitType');
      var tmp_79;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_79 = Unit_instance;
      }
      var _tmp_caTextLimit = $_result.c5t('caTextLimit');
      var tmp_80;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_80 = Unit_instance;
      }
      var _tmp_caXObjectUid = $_result.d5t('caXObjectUid');
      var tmp_81;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_81 = Unit_instance;
      }
      var _tmp_caClazzUid = $_result.d5t('caClazzUid');
      var tmp_82;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_82 = Unit_instance;
      }
      var _tmp_caPeerReviewerCount = $_result.c5t('caPeerReviewerCount');
      var tmp_83;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_83 = Unit_instance;
      }
      var _tmp_caLocalChangeSeqNum = $_result.d5t('caLocalChangeSeqNum');
      var tmp_84;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_84 = Unit_instance;
      }
      var _tmp_caMasterChangeSeqNum = $_result.d5t('caMasterChangeSeqNum');
      var tmp_85;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_85 = Unit_instance;
      }
      var _tmp_caLastChangedBy = $_result.c5t('caLastChangedBy');
      var tmp_86;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_86 = Unit_instance;
      }
      var _tmp_caLct = $_result.d5t('caLct');
      var tmp_87;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_87 = Unit_instance;
      }
      var _tmp_ClazzAssignment_isAllNull = _tmp_ClazzAssignment_nullCount === 24;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseBlockAndDbEntities();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ccf_1 = _tmp_assignmentCourseGroupSetName;
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_88 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.o83_1 = _tmp_cbUid;
        this_1.p83_1 = _tmp_cbType;
        this_1.q83_1 = _tmp_cbIndentLevel;
        this_1.r83_1 = _tmp_cbModuleParentBlockUid;
        this_1.s83_1 = _tmp_cbTitle;
        this_1.t83_1 = _tmp_cbDescription;
        this_1.u83_1 = _tmp_cbCompletionCriteria;
        this_1.v83_1 = _tmp_cbHideUntilDate;
        this_1.w83_1 = _tmp_cbDeadlineDate;
        this_1.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_1.y83_1 = _tmp_cbGracePeriodDate;
        this_1.z83_1 = _tmp_cbMaxPoints;
        this_1.a84_1 = _tmp_cbMinPoints;
        this_1.b84_1 = _tmp_cbIndex;
        this_1.c84_1 = _tmp_cbClazzUid;
        this_1.d84_1 = _tmp_cbClazzSourcedId;
        this_1.e84_1 = _tmp_cbActive;
        this_1.f84_1 = _tmp_cbHidden;
        this_1.g84_1 = _tmp_cbEntityUid;
        this_1.h84_1 = _tmp_cbLct;
        this_1.i84_1 = _tmp_cbSourcedId;
        this_1.j84_1 = _tmp_cbMetadata;
        this_1.k84_1 = _tmp_cbCreatedByAppId;
        tmp_88.xce_1 = this_1;
      }
      if (!_tmp_CourseBlockPicture_isAllNull) {
        var tmp_89 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseBlockPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.r84_1 = _tmp_cbpUid;
        this_2.s84_1 = _tmp_cbpLct;
        this_2.t84_1 = _tmp_cbpPictureUri;
        this_2.u84_1 = _tmp_cbpThumbnailUri;
        tmp_89.yce_1 = this_2;
      }
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_90 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.xan_1 = _tmp_contentEntryUid;
        this_3.yan_1 = _tmp_title;
        this_3.zan_1 = _tmp_description;
        this_3.aao_1 = _tmp_entryId;
        this_3.bao_1 = _tmp_author;
        this_3.cao_1 = _tmp_publisher;
        this_3.dao_1 = _tmp_licenseType;
        this_3.eao_1 = _tmp_licenseName;
        this_3.fao_1 = _tmp_licenseUrl;
        this_3.gao_1 = _tmp_sourceUrl;
        this_3.hao_1 = _tmp_thumbnailUrl;
        this_3.iao_1 = _tmp_lastModified;
        this_3.jao_1 = _tmp_primaryLanguageUid;
        this_3.kao_1 = _tmp_languageVariantUid;
        this_3.lao_1 = _tmp_contentFlags;
        this_3.mao_1 = _tmp_leaf;
        this_3.nao_1 = _tmp_publik;
        this_3.oao_1 = _tmp_ceInactive;
        this_3.pao_1 = _tmp_completionCriteria;
        this_3.qao_1 = _tmp_minScore;
        this_3.rao_1 = _tmp_contentTypeFlag;
        this_3.sao_1 = _tmp_contentOwner;
        this_3.tao_1 = _tmp_contentOwnerType;
        this_3.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_3.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_3.wao_1 = _tmp_contentEntryLastChangedBy;
        this_3.xao_1 = _tmp_contentEntryLct;
        tmp_90.zce_1 = this_3;
      }
      if (!_tmp_Language_isAllNull) {
        var tmp_91 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new Language();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.dcf_1 = _tmp_langUid;
        this_4.ecf_1 = _tmp_name;
        this_4.fcf_1 = _tmp_iso_639_1_standard;
        this_4.gcf_1 = _tmp_iso_639_2_standard;
        this_4.hcf_1 = _tmp_iso_639_3_standard;
        this_4.icf_1 = _tmp_Language_Type;
        this_4.jcf_1 = _tmp_languageActive;
        this_4.kcf_1 = _tmp_langLocalChangeSeqNum;
        this_4.lcf_1 = _tmp_langMasterChangeSeqNum;
        this_4.mcf_1 = _tmp_langLastChangedBy;
        this_4.ncf_1 = _tmp_langLct;
        tmp_91.acf_1 = this_4;
      }
      if (!_tmp_ClazzAssignment_isAllNull) {
        var tmp_92 = this_0;
        // Inline function 'kotlin.apply' call
        var this_5 = new ClazzAssignment();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_5.i7z_1 = _tmp_caUid;
        this_5.j7z_1 = _tmp_caTitle;
        this_5.k7z_1 = _tmp_caDescription;
        this_5.l7z_1 = _tmp_caGroupUid;
        this_5.m7z_1 = _tmp_caActive;
        this_5.n7z_1 = _tmp_caClassCommentEnabled;
        this_5.o7z_1 = _tmp_caPrivateCommentsEnabled;
        this_5.p7z_1 = _tmp_caCompletionCriteria;
        this_5.q7z_1 = _tmp_caRequireFileSubmission;
        this_5.r7z_1 = _tmp_caFileType;
        this_5.s7z_1 = _tmp_caSizeLimit;
        this_5.t7z_1 = _tmp_caNumberOfFiles;
        this_5.u7z_1 = _tmp_caSubmissionPolicy;
        this_5.v7z_1 = _tmp_caMarkingType;
        this_5.w7z_1 = _tmp_caRequireTextSubmission;
        this_5.x7z_1 = _tmp_caTextLimitType;
        this_5.y7z_1 = _tmp_caTextLimit;
        this_5.z7z_1 = _tmp_caXObjectUid;
        this_5.a80_1 = _tmp_caClazzUid;
        this_5.b80_1 = _tmp_caPeerReviewerCount;
        this_5.c80_1 = _tmp_caLocalChangeSeqNum;
        this_5.d80_1 = _tmp_caMasterChangeSeqNum;
        this_5.e80_1 = _tmp_caLastChangedBy;
        this_5.f80_1 = _tmp_caLct;
        tmp_92.bcf_1 = this_5;
      }
      return this_0;
    };
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      var _tmp_CourseBlockPicture_nullCount = 0;
      var _tmp_cbpUid = $_result.d5t('cbpUid');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_cbpLct = $_result.d5t('cbpLct');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_cbpPictureUri = $_result.rz('cbpPictureUri');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_cbpThumbnailUri = $_result.rz('cbpThumbnailUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_CourseBlockPicture_isAllNull = _tmp_CourseBlockPicture_nullCount === 4;
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_46;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_46 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_47;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_47 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_48;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_48 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_49;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_49 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_50;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_50 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_51;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_51 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_52;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_52 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_53;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_53 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_54;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_54 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_55;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_55 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_56;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_56 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseBlockAndDisplayDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_57 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.o83_1 = _tmp_cbUid;
        this_1.p83_1 = _tmp_cbType;
        this_1.q83_1 = _tmp_cbIndentLevel;
        this_1.r83_1 = _tmp_cbModuleParentBlockUid;
        this_1.s83_1 = _tmp_cbTitle;
        this_1.t83_1 = _tmp_cbDescription;
        this_1.u83_1 = _tmp_cbCompletionCriteria;
        this_1.v83_1 = _tmp_cbHideUntilDate;
        this_1.w83_1 = _tmp_cbDeadlineDate;
        this_1.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_1.y83_1 = _tmp_cbGracePeriodDate;
        this_1.z83_1 = _tmp_cbMaxPoints;
        this_1.a84_1 = _tmp_cbMinPoints;
        this_1.b84_1 = _tmp_cbIndex;
        this_1.c84_1 = _tmp_cbClazzUid;
        this_1.d84_1 = _tmp_cbClazzSourcedId;
        this_1.e84_1 = _tmp_cbActive;
        this_1.f84_1 = _tmp_cbHidden;
        this_1.g84_1 = _tmp_cbEntityUid;
        this_1.h84_1 = _tmp_cbLct;
        this_1.i84_1 = _tmp_cbSourcedId;
        this_1.j84_1 = _tmp_cbMetadata;
        this_1.k84_1 = _tmp_cbCreatedByAppId;
        tmp_57.ocf_1 = this_1;
      }
      if (!_tmp_CourseBlockPicture_isAllNull) {
        var tmp_58 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseBlockPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.r84_1 = _tmp_cbpUid;
        this_2.s84_1 = _tmp_cbpLct;
        this_2.t84_1 = _tmp_cbpPictureUri;
        this_2.u84_1 = _tmp_cbpThumbnailUri;
        tmp_58.pcf_1 = this_2;
      }
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_59 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.xan_1 = _tmp_contentEntryUid;
        this_3.yan_1 = _tmp_title;
        this_3.zan_1 = _tmp_description;
        this_3.aao_1 = _tmp_entryId;
        this_3.bao_1 = _tmp_author;
        this_3.cao_1 = _tmp_publisher;
        this_3.dao_1 = _tmp_licenseType;
        this_3.eao_1 = _tmp_licenseName;
        this_3.fao_1 = _tmp_licenseUrl;
        this_3.gao_1 = _tmp_sourceUrl;
        this_3.hao_1 = _tmp_thumbnailUrl;
        this_3.iao_1 = _tmp_lastModified;
        this_3.jao_1 = _tmp_primaryLanguageUid;
        this_3.kao_1 = _tmp_languageVariantUid;
        this_3.lao_1 = _tmp_contentFlags;
        this_3.mao_1 = _tmp_leaf;
        this_3.nao_1 = _tmp_publik;
        this_3.oao_1 = _tmp_ceInactive;
        this_3.pao_1 = _tmp_completionCriteria;
        this_3.qao_1 = _tmp_minScore;
        this_3.rao_1 = _tmp_contentTypeFlag;
        this_3.sao_1 = _tmp_contentOwner;
        this_3.tao_1 = _tmp_contentOwnerType;
        this_3.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_3.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_3.wao_1 = _tmp_contentEntryLastChangedBy;
        this_3.xao_1 = _tmp_contentEntryLct;
        tmp_59.qcf_1 = this_3;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_60 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findAllCourseBlockByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.nap_1 = _tmp_cepUid;
        this_4.oap_1 = _tmp_cepLct;
        this_4.pap_1 = _tmp_cepPictureUri;
        this_4.qap_1 = _tmp_cepThumbnailUri;
        tmp_60.rcf_1 = this_4;
      }
      return this_0;
    };
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda($clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation) {
    this.acg_1 = $clazzUid;
    this.bcg_1 = $includeInactive;
    this.ccg_1 = $includeHidden;
    this.dcg_1 = $hideUntilFilterTime;
    this.ecg_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda).gcg = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.gcg((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fcg_1.a5o(1, this.acg_1);
            this.fcg_1.n5n(2, this.bcg_1);
            this.fcg_1.n5n(3, this.ccg_1);
            this.fcg_1.a5o(4, this.dcg_1);
            this.fcg_1.a5o(5, this.dcg_1);
            this.fcg_1.a5o(6, this.ecg_1);
            this.fcg_1.a5o(7, this.ecg_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.fcg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda(this.acg_1, this.bcg_1, this.ccg_1, this.dcg_1, this.ecg_1, completion);
    i.fcg_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda_0($clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda($clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.gcg(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_clazzUid = $_result.d5t('clazzUid');
      var _tmp_courseBlockUid = $_result.d5t('courseBlockUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseBlockUidAndClazzUid();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findCourseBlockAndClazzUidByDiscussionPostUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.hcg_1 = _tmp_clazzUid;
      this_0.icg_1 = _tmp_courseBlockUid;
      return this_0;
    };
  }
  function CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda$lambda(_result) {
    var tmp = new Long(0, 0);
    return mapNextRow(_result, tmp, CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.e5l(1);
    };
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      var _tmp_ClazzAssignment_nullCount = 0;
      var _tmp_caUid = $_result.d5t('caUid');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_caTitle = $_result.rz('caTitle');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_caDescription = $_result.rz('caDescription');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_caGroupUid = $_result.d5t('caGroupUid');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_caActive = $_result.o6c('caActive');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_caClassCommentEnabled = $_result.o6c('caClassCommentEnabled');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_caPrivateCommentsEnabled = $_result.o6c('caPrivateCommentsEnabled');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_caCompletionCriteria = $_result.c5t('caCompletionCriteria');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_caRequireFileSubmission = $_result.o6c('caRequireFileSubmission');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_caFileType = $_result.c5t('caFileType');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_caSizeLimit = $_result.c5t('caSizeLimit');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_caNumberOfFiles = $_result.c5t('caNumberOfFiles');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_caSubmissionPolicy = $_result.c5t('caSubmissionPolicy');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_caMarkingType = $_result.c5t('caMarkingType');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_caRequireTextSubmission = $_result.o6c('caRequireTextSubmission');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_caTextLimitType = $_result.c5t('caTextLimitType');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_caTextLimit = $_result.c5t('caTextLimit');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_caXObjectUid = $_result.d5t('caXObjectUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_caClazzUid = $_result.d5t('caClazzUid');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_caPeerReviewerCount = $_result.c5t('caPeerReviewerCount');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_caLocalChangeSeqNum = $_result.d5t('caLocalChangeSeqNum');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_caMasterChangeSeqNum = $_result.d5t('caMasterChangeSeqNum');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_caLastChangedBy = $_result.c5t('caLastChangedBy');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_caLct = $_result.d5t('caLct');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_ClazzAssignment_nullCount = _tmp_ClazzAssignment_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_ClazzAssignment_isAllNull = _tmp_ClazzAssignment_nullCount === 24;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseBlockAndAssignment();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findCourseBlockByAssignmentUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_46 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findCourseBlockByAssignmentUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.o83_1 = _tmp_cbUid;
        this_1.p83_1 = _tmp_cbType;
        this_1.q83_1 = _tmp_cbIndentLevel;
        this_1.r83_1 = _tmp_cbModuleParentBlockUid;
        this_1.s83_1 = _tmp_cbTitle;
        this_1.t83_1 = _tmp_cbDescription;
        this_1.u83_1 = _tmp_cbCompletionCriteria;
        this_1.v83_1 = _tmp_cbHideUntilDate;
        this_1.w83_1 = _tmp_cbDeadlineDate;
        this_1.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_1.y83_1 = _tmp_cbGracePeriodDate;
        this_1.z83_1 = _tmp_cbMaxPoints;
        this_1.a84_1 = _tmp_cbMinPoints;
        this_1.b84_1 = _tmp_cbIndex;
        this_1.c84_1 = _tmp_cbClazzUid;
        this_1.d84_1 = _tmp_cbClazzSourcedId;
        this_1.e84_1 = _tmp_cbActive;
        this_1.f84_1 = _tmp_cbHidden;
        this_1.g84_1 = _tmp_cbEntityUid;
        this_1.h84_1 = _tmp_cbLct;
        this_1.i84_1 = _tmp_cbSourcedId;
        this_1.j84_1 = _tmp_cbMetadata;
        this_1.k84_1 = _tmp_cbCreatedByAppId;
        tmp_46.jcg_1 = this_1;
      }
      if (!_tmp_ClazzAssignment_isAllNull) {
        var tmp_47 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new ClazzAssignment();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findCourseBlockByAssignmentUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.i7z_1 = _tmp_caUid;
        this_2.j7z_1 = _tmp_caTitle;
        this_2.k7z_1 = _tmp_caDescription;
        this_2.l7z_1 = _tmp_caGroupUid;
        this_2.m7z_1 = _tmp_caActive;
        this_2.n7z_1 = _tmp_caClassCommentEnabled;
        this_2.o7z_1 = _tmp_caPrivateCommentsEnabled;
        this_2.p7z_1 = _tmp_caCompletionCriteria;
        this_2.q7z_1 = _tmp_caRequireFileSubmission;
        this_2.r7z_1 = _tmp_caFileType;
        this_2.s7z_1 = _tmp_caSizeLimit;
        this_2.t7z_1 = _tmp_caNumberOfFiles;
        this_2.u7z_1 = _tmp_caSubmissionPolicy;
        this_2.v7z_1 = _tmp_caMarkingType;
        this_2.w7z_1 = _tmp_caRequireTextSubmission;
        this_2.x7z_1 = _tmp_caTextLimitType;
        this_2.y7z_1 = _tmp_caTextLimit;
        this_2.z7z_1 = _tmp_caXObjectUid;
        this_2.a80_1 = _tmp_caClazzUid;
        this_2.b80_1 = _tmp_caPeerReviewerCount;
        this_2.c80_1 = _tmp_caLocalChangeSeqNum;
        this_2.d80_1 = _tmp_caMasterChangeSeqNum;
        this_2.e80_1 = _tmp_caLastChangedBy;
        this_2.f80_1 = _tmp_caLct;
        tmp_47.kcg_1 = this_2;
      }
      return this_0;
    };
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda($assignmentUid, resultContinuation) {
    this.tcg_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda).vcg = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda).he = function (p1, $completion) {
    return this.vcg((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ucg_1.a5o(1, this.tcg_1);
            this.ucg_1.a5o(2, this.tcg_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ucg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda(this.tcg_1, completion);
    i.ucg_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda_0($assignmentUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda($assignmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vcg(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseBlock_nullCount = 0;
      var _tmp_cbUid = $_result.d5t('cbUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cbType = $_result.c5t('cbType');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cbIndentLevel = $_result.c5t('cbIndentLevel');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cbModuleParentBlockUid = $_result.d5t('cbModuleParentBlockUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cbTitle = $_result.rz('cbTitle');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_cbDescription = $_result.rz('cbDescription');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_cbCompletionCriteria = $_result.c5t('cbCompletionCriteria');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_cbHideUntilDate = $_result.d5t('cbHideUntilDate');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_cbDeadlineDate = $_result.d5t('cbDeadlineDate');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_cbLateSubmissionPenalty = $_result.c5t('cbLateSubmissionPenalty');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_cbGracePeriodDate = $_result.d5t('cbGracePeriodDate');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_cbMaxPoints = getFloatNullable($_result, 'cbMaxPoints');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_cbMinPoints = getFloatNullable($_result, 'cbMinPoints');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_cbIndex = $_result.c5t('cbIndex');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_cbClazzUid = $_result.d5t('cbClazzUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_cbClazzSourcedId = $_result.rz('cbClazzSourcedId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_cbActive = $_result.o6c('cbActive');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_cbHidden = $_result.o6c('cbHidden');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_cbEntityUid = $_result.d5t('cbEntityUid');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_cbLct = $_result.d5t('cbLct');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_cbSourcedId = $_result.rz('cbSourcedId');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_cbMetadata = $_result.rz('cbMetadata');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_cbCreatedByAppId = $_result.rz('cbCreatedByAppId');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_CourseBlock_nullCount = _tmp_CourseBlock_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_CourseBlock_isAllNull = _tmp_CourseBlock_nullCount === 23;
      var _tmp_CourseBlockPicture_nullCount = 0;
      var _tmp_cbpUid = $_result.d5t('cbpUid');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_cbpLct = $_result.d5t('cbpLct');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_cbpPictureUri = $_result.rz('cbpPictureUri');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_cbpThumbnailUri = $_result.rz('cbpThumbnailUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_CourseBlockPicture_nullCount = _tmp_CourseBlockPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_CourseBlockPicture_isAllNull = _tmp_CourseBlockPicture_nullCount === 4;
      var _tmp_ContentEntry_nullCount = 0;
      var _tmp_contentEntryUid = $_result.d5t('contentEntryUid');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_title = $_result.rz('title');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_description = $_result.rz('description');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_entryId = $_result.rz('entryId');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_author = $_result.rz('author');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_publisher = $_result.rz('publisher');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_licenseType = $_result.c5t('licenseType');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_licenseName = $_result.rz('licenseName');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_licenseUrl = $_result.rz('licenseUrl');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_sourceUrl = $_result.rz('sourceUrl');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_thumbnailUrl = $_result.rz('thumbnailUrl');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_lastModified = $_result.d5t('lastModified');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_primaryLanguageUid = $_result.d5t('primaryLanguageUid');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_languageVariantUid = $_result.d5t('languageVariantUid');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_contentFlags = $_result.c5t('contentFlags');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_leaf = $_result.o6c('leaf');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_publik = $_result.o6c('publik');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_ceInactive = $_result.o6c('ceInactive');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_completionCriteria = $_result.c5t('completionCriteria');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_minScore = $_result.c5t('minScore');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_contentTypeFlag = $_result.c5t('contentTypeFlag');
      var tmp_46;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_46 = Unit_instance;
      }
      var _tmp_contentOwner = $_result.d5t('contentOwner');
      var tmp_47;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_47 = Unit_instance;
      }
      var _tmp_contentOwnerType = $_result.c5t('contentOwnerType');
      var tmp_48;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_48 = Unit_instance;
      }
      var _tmp_contentEntryLocalChangeSeqNum = $_result.d5t('contentEntryLocalChangeSeqNum');
      var tmp_49;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_49 = Unit_instance;
      }
      var _tmp_contentEntryMasterChangeSeqNum = $_result.d5t('contentEntryMasterChangeSeqNum');
      var tmp_50;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_50 = Unit_instance;
      }
      var _tmp_contentEntryLastChangedBy = $_result.c5t('contentEntryLastChangedBy');
      var tmp_51;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_51 = Unit_instance;
      }
      var _tmp_contentEntryLct = $_result.d5t('contentEntryLct');
      var tmp_52;
      if ($_result.v6d()) {
        _tmp_ContentEntry_nullCount = _tmp_ContentEntry_nullCount + 1 | 0;
        tmp_52 = Unit_instance;
      }
      var _tmp_ContentEntry_isAllNull = _tmp_ContentEntry_nullCount === 27;
      var _tmp_ContentEntryPicture2_nullCount = 0;
      var _tmp_cepUid = $_result.d5t('cepUid');
      var tmp_53;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_53 = Unit_instance;
      }
      var _tmp_cepLct = $_result.d5t('cepLct');
      var tmp_54;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_54 = Unit_instance;
      }
      var _tmp_cepPictureUri = $_result.rz('cepPictureUri');
      var tmp_55;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_55 = Unit_instance;
      }
      var _tmp_cepThumbnailUri = $_result.rz('cepThumbnailUri');
      var tmp_56;
      if ($_result.v6d()) {
        _tmp_ContentEntryPicture2_nullCount = _tmp_ContentEntryPicture2_nullCount + 1 | 0;
        tmp_56 = Unit_instance;
      }
      var _tmp_ContentEntryPicture2_isAllNull = _tmp_ContentEntryPicture2_nullCount === 4;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseBlockAndGradebookDisplayDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseBlock_isAllNull) {
        var tmp_57 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseBlock();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.o83_1 = _tmp_cbUid;
        this_1.p83_1 = _tmp_cbType;
        this_1.q83_1 = _tmp_cbIndentLevel;
        this_1.r83_1 = _tmp_cbModuleParentBlockUid;
        this_1.s83_1 = _tmp_cbTitle;
        this_1.t83_1 = _tmp_cbDescription;
        this_1.u83_1 = _tmp_cbCompletionCriteria;
        this_1.v83_1 = _tmp_cbHideUntilDate;
        this_1.w83_1 = _tmp_cbDeadlineDate;
        this_1.x83_1 = _tmp_cbLateSubmissionPenalty;
        this_1.y83_1 = _tmp_cbGracePeriodDate;
        this_1.z83_1 = _tmp_cbMaxPoints;
        this_1.a84_1 = _tmp_cbMinPoints;
        this_1.b84_1 = _tmp_cbIndex;
        this_1.c84_1 = _tmp_cbClazzUid;
        this_1.d84_1 = _tmp_cbClazzSourcedId;
        this_1.e84_1 = _tmp_cbActive;
        this_1.f84_1 = _tmp_cbHidden;
        this_1.g84_1 = _tmp_cbEntityUid;
        this_1.h84_1 = _tmp_cbLct;
        this_1.i84_1 = _tmp_cbSourcedId;
        this_1.j84_1 = _tmp_cbMetadata;
        this_1.k84_1 = _tmp_cbCreatedByAppId;
        tmp_57.wcg_1 = this_1;
      }
      if (!_tmp_CourseBlockPicture_isAllNull) {
        var tmp_58 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CourseBlockPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.r84_1 = _tmp_cbpUid;
        this_2.s84_1 = _tmp_cbpLct;
        this_2.t84_1 = _tmp_cbpPictureUri;
        this_2.u84_1 = _tmp_cbpThumbnailUri;
        tmp_58.xcg_1 = this_2;
      }
      if (!_tmp_ContentEntry_isAllNull) {
        var tmp_59 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new ContentEntry();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.xan_1 = _tmp_contentEntryUid;
        this_3.yan_1 = _tmp_title;
        this_3.zan_1 = _tmp_description;
        this_3.aao_1 = _tmp_entryId;
        this_3.bao_1 = _tmp_author;
        this_3.cao_1 = _tmp_publisher;
        this_3.dao_1 = _tmp_licenseType;
        this_3.eao_1 = _tmp_licenseName;
        this_3.fao_1 = _tmp_licenseUrl;
        this_3.gao_1 = _tmp_sourceUrl;
        this_3.hao_1 = _tmp_thumbnailUrl;
        this_3.iao_1 = _tmp_lastModified;
        this_3.jao_1 = _tmp_primaryLanguageUid;
        this_3.kao_1 = _tmp_languageVariantUid;
        this_3.lao_1 = _tmp_contentFlags;
        this_3.mao_1 = _tmp_leaf;
        this_3.nao_1 = _tmp_publik;
        this_3.oao_1 = _tmp_ceInactive;
        this_3.pao_1 = _tmp_completionCriteria;
        this_3.qao_1 = _tmp_minScore;
        this_3.rao_1 = _tmp_contentTypeFlag;
        this_3.sao_1 = _tmp_contentOwner;
        this_3.tao_1 = _tmp_contentOwnerType;
        this_3.uao_1 = _tmp_contentEntryLocalChangeSeqNum;
        this_3.vao_1 = _tmp_contentEntryMasterChangeSeqNum;
        this_3.wao_1 = _tmp_contentEntryLastChangedBy;
        this_3.xao_1 = _tmp_contentEntryLct;
        tmp_59.ycg_1 = this_3;
      }
      if (!_tmp_ContentEntryPicture2_isAllNull) {
        var tmp_60 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new ContentEntryPicture2();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseBlockDao_JdbcImpl.findByClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.nap_1 = _tmp_cepUid;
        this_4.oap_1 = _tmp_cepLct;
        this_4.pap_1 = _tmp_cepPictureUri;
        this_4.qap_1 = _tmp_cepThumbnailUri;
        tmp_60.zcg_1 = this_4;
      }
      return this_0;
    };
  }
  function CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda($clazzUid, resultContinuation) {
    this.ich_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda).kch = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.kch((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.jch_1.a5o(1, this.ich_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.jch_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda(this.ich_1, completion);
    i.jch_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda_0($clazzUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.kch(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.lch_1);
  }
  protoOf(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_upsert$1).qch = function (stmt, entity) {
    if (entity.o83_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.o83_1);
    }
    stmt.z5n(2, entity.p83_1);
    stmt.z5n(3, entity.q83_1);
    stmt.a5o(4, entity.r83_1);
    stmt.d5o(5, entity.s83_1);
    stmt.d5o(6, entity.t83_1);
    stmt.z5n(7, entity.u83_1);
    stmt.a5o(8, entity.v83_1);
    stmt.a5o(9, entity.w83_1);
    stmt.z5n(10, entity.x83_1);
    stmt.a5o(11, entity.y83_1);
    setFloatNullable(stmt, 12, entity.z83_1);
    setFloatNullable(stmt, 13, entity.a84_1);
    stmt.z5n(14, entity.b84_1);
    stmt.a5o(15, entity.c84_1);
    stmt.d5o(16, entity.d84_1);
    stmt.n5n(17, entity.e84_1);
    stmt.n5n(18, entity.f84_1);
    stmt.a5o(19, entity.g84_1);
    stmt.a5o(20, entity.h84_1);
    stmt.d5o(21, entity.i84_1);
    stmt.d5o(22, entity.j84_1);
    stmt.d5o(23, entity.k84_1);
  };
  protoOf(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_upsert$1).u5l = function (stmt, entity) {
    return this.qch(stmt, entity instanceof CourseBlock ? entity : THROW_CCE());
  };
  function CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.lch_1);
  }
  protoOf(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_abort$1).qch = function (stmt, entity) {
    if (entity.o83_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.o83_1);
    }
    stmt.z5n(2, entity.p83_1);
    stmt.z5n(3, entity.q83_1);
    stmt.a5o(4, entity.r83_1);
    stmt.d5o(5, entity.s83_1);
    stmt.d5o(6, entity.t83_1);
    stmt.z5n(7, entity.u83_1);
    stmt.a5o(8, entity.v83_1);
    stmt.a5o(9, entity.w83_1);
    stmt.z5n(10, entity.x83_1);
    stmt.a5o(11, entity.y83_1);
    setFloatNullable(stmt, 12, entity.z83_1);
    setFloatNullable(stmt, 13, entity.a84_1);
    stmt.z5n(14, entity.b84_1);
    stmt.a5o(15, entity.c84_1);
    stmt.d5o(16, entity.d84_1);
    stmt.n5n(17, entity.e84_1);
    stmt.n5n(18, entity.f84_1);
    stmt.a5o(19, entity.g84_1);
    stmt.a5o(20, entity.h84_1);
    stmt.d5o(21, entity.i84_1);
    stmt.d5o(22, entity.j84_1);
    stmt.d5o(23, entity.k84_1);
  };
  protoOf(CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_abort$1).u5l = function (stmt, entity) {
    return this.qch(stmt, entity instanceof CourseBlock ? entity : THROW_CCE());
  };
  function CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.bci_1 = this$0;
    this.cci_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).dci = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).r7e = function ($completion) {
    return this.dci($completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseBlock.*, CourseBlockPicture.*\n          FROM CourseBlock\n               LEFT JOIN CourseBlockPicture \n                         ON CourseBlockPicture.cbpUid = CAST(? AS BIGINT)\n         WHERE CourseBlock.cbUid = CAST(? AS BIGINT)                \n    ', VOID, VOID, VOID, '\n        SELECT CourseBlock.*, CourseBlockPicture.*\n          FROM CourseBlock\n               LEFT JOIN CourseBlockPicture \n                         ON CourseBlockPicture.cbpUid = ?\n         WHERE CourseBlock.cbUid = ?                \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.bci_1.lch_1, tmp_0, CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda_0(this.cci_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).q7e = function (completion) {
    return new CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda(this.bci_1, this.cci_1, completion);
  };
  function CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.dci($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda($clazzUid, $includeInactive, resultContinuation) {
    this.mci_1 = $clazzUid;
    this.nci_1 = $includeInactive;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda).pci = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda).he = function (p1, $completion) {
    return this.pci((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.oci_1.a5o(1, this.mci_1);
            this.oci_1.n5n(2, this.nci_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.oci_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda(this.mci_1, this.nci_1, completion);
    i.oci_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda_0($clazzUid, $includeInactive, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda($clazzUid, $includeInactive, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.pci(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda(this$0, $clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation) {
    this.yci_1 = this$0;
    this.zci_1 = $clazzUid;
    this.acj_1 = $includeInactive;
    this.bcj_1 = $includeHidden;
    this.ccj_1 = $hideUntilFilterTime;
    this.dcj_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda).ecj = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.ecj($completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*\n          FROM CourseBlock\n               LEFT JOIN ContentEntry\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n               LEFT JOIN CourseBlockPicture\n                         ON CourseBlockPicture.cbpUid = CourseBlock.cbUid    \n               LEFT JOIN ContentEntryPicture2\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid\n         WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT)\n           AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive)\n           AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden)\n           AND (CAST(? AS BIGINT) >= CourseBlock.cbHideUntilDate)\n           AND (CAST(? AS BIGINT) >= COALESCE(\n                (SELECT CourseBlockParent.cbHideUntilDate\n                   FROM CourseBlock CourseBlockParent\n                  WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0))\n           AND (CourseBlock.cbType != 300)\n           AND CAST(? AS BIGINT) = CAST(? AS BIGINT)        \n      ORDER BY CourseBlock.cbIndex       \n    ', VOID, VOID, VOID, '\n        SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*\n          FROM CourseBlock\n               LEFT JOIN ContentEntry\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n               LEFT JOIN CourseBlockPicture\n                         ON CourseBlockPicture.cbpUid = CourseBlock.cbUid    \n               LEFT JOIN ContentEntryPicture2\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid\n         WHERE CourseBlock.cbClazzUid = ?\n           AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive)\n           AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden)\n           AND (? >= CourseBlock.cbHideUntilDate)\n           AND (? >= COALESCE(\n                (SELECT CourseBlockParent.cbHideUntilDate\n                   FROM CourseBlock CourseBlockParent\n                  WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0))\n           AND (CourseBlock.cbType != 300)\n           AND ? = ?        \n      ORDER BY CourseBlock.cbIndex       \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.yci_1.lch_1, tmp_0, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda$slambda_0(this.zci_1, this.acj_1, this.bcj_1, this.ccj_1, this.dcj_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda).q7e = function (completion) {
    return new CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda(this.yci_1, this.zci_1, this.acj_1, this.bcj_1, this.ccj_1, this.dcj_1, completion);
  };
  function CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda_0(this$0, $clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda(this$0, $clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.ecj($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_JdbcImpl$updateActiveByUid$slambda($active, $changeTime, $cbUid, resultContinuation) {
    this.ncj_1 = $active;
    this.ocj_1 = $changeTime;
    this.pcj_1 = $cbUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$updateActiveByUid$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$updateActiveByUid$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$updateActiveByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.qcj_1.n5n(1, this.ncj_1);
            this.qcj_1.a5o(2, this.ocj_1);
            this.qcj_1.a5o(3, this.pcj_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.qcj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$updateActiveByUid$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$updateActiveByUid$slambda(this.ncj_1, this.ocj_1, this.pcj_1, completion);
    i.qcj_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$updateActiveByUid$slambda_0($active, $changeTime, $cbUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$updateActiveByUid$slambda($active, $changeTime, $cbUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda($postUid, resultContinuation) {
    this.zcj_1 = $postUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda).bck = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda).he = function (p1, $completion) {
    return this.bck((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ack_1.a5o(1, this.zcj_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ack_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda(this.zcj_1, completion);
    i.ack_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda_0($postUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda($postUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.bck(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda($courseBlockUid, resultContinuation) {
    this.kck_1 = $courseBlockUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda).g5m = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda).he = function (p1, $completion) {
    return this.g5m((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.lck_1.a5o(1, this.kck_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.lck_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda(this.kck_1, completion);
    i.lck_1 = _stmt;
    return i;
  };
  function CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda_0($courseBlockUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda($courseBlockUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.g5m(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda(this$0, $assignmentUid, resultContinuation) {
    this.uck_1 = this$0;
    this.vck_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda).wck = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda).r7e = function ($completion) {
    return this.wck($completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT ClazzAssignment.*, CourseBlock.* \n          FROM ClazzAssignment\n               JOIN CourseBlock \n                    ON CourseBlock.cbEntityUid = CAST(? AS BIGINT)\n         WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)\n         LIMIT 1 \n    ', VOID, VOID, VOID, '\n        SELECT ClazzAssignment.*, CourseBlock.* \n          FROM ClazzAssignment\n               JOIN CourseBlock \n                    ON CourseBlock.cbEntityUid = ?\n         WHERE ClazzAssignment.caUid = ?\n         LIMIT 1 \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.uck_1.lch_1, tmp_0, CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda$slambda_0(this.vck_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda).q7e = function (completion) {
    return new CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda(this.uck_1, this.vck_1, completion);
  };
  function CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda_0(this$0, $assignmentUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda(this$0, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.wck($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.fcl_1 = this$0;
    this.gcl_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda).hcl = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.hcl($completion);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*\n          FROM CourseBlock\n               LEFT JOIN ContentEntry\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n               LEFT JOIN CourseBlockPicture\n                         ON CourseBlockPicture.cbpUid = CourseBlock.cbUid    \n               LEFT JOIN ContentEntryPicture2\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid\n         WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT)\n           AND CAST(CourseBlock.cbActive AS INTEGER) = 1\n      ORDER BY CourseBlock.cbIndex\n    ', VOID, VOID, VOID, '\n        SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*\n          FROM CourseBlock\n               LEFT JOIN ContentEntry\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid\n               LEFT JOIN CourseBlockPicture\n                         ON CourseBlockPicture.cbpUid = CourseBlock.cbUid    \n               LEFT JOIN ContentEntryPicture2\n                         ON CourseBlock.cbType = 104\n                            AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid\n         WHERE CourseBlock.cbClazzUid = ?\n           AND CAST(CourseBlock.cbActive AS INTEGER) = 1\n      ORDER BY CourseBlock.cbIndex\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.fcl_1.lch_1, tmp_0, CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda$slambda_0(this.gcl_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda).q7e = function (completion) {
    return new CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda(this.fcl_1, this.gcl_1, completion);
  };
  function CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.hcl($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$169(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.qcl_1 = _this__u8e3s4;
    this.rcl_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$169).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qcl_1.nch_1.b5n(this.rcl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateActiveByUidCOROUTINE$171(_this__u8e3s4, cbUid, active, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.acm_1 = _this__u8e3s4;
    this.bcm_1 = cbUid;
    this.ccm_1 = active;
    this.dcm_1 = changeTime;
  }
  protoOf($updateActiveByUidCOROUTINE$171).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE CourseBlock \n           SET cbActive = ?, \n               cbLct = CAST(? AS BIGINT)\n         WHERE cbUid = CAST(? AS BIGINT)', VOID, VOID, VOID, '\n        UPDATE CourseBlock \n           SET cbActive = ?, \n               cbLct = ?\n         WHERE cbUid = ?\n', false);
            suspendResult = prepareAndUseStatementAsync(this.acm_1.lch_1, tmp_0, CourseBlockDao_JdbcImpl$updateActiveByUid$slambda_0(this.ccm_1, this.dcm_1, this.bcm_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseBlockDao_JdbcImpl(_db) {
    CourseBlockDao.call(this);
    this.lch_1 = _db;
    var tmp = this;
    tmp.mch_1 = new CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_upsert$1(this);
    var tmp_0 = this;
    tmp_0.nch_1 = new CourseBlockDao_JdbcImpl$_insertAdapterCourseBlock_abort$1(this);
  }
  protoOf(CourseBlockDao_JdbcImpl).zcc = function (entities, $completion) {
    return this.mch_1.e5n(entities, $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl).jce = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$169(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.jce(entity instanceof CourseBlock ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl).vcc = function (uid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseBlock', 'CourseBlockPicture'];
    return doorFlow(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findByUidWithPictureAsFlow$slambda_0(this, uid, null));
  };
  protoOf(CourseBlockDao_JdbcImpl).wcc = function (clazzUid, includeInactive, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT CourseBlock.*, Assignment.*, Entry.*, Language.*, CourseBlockPicture.*,\n               (SELECT CourseGroupSet.cgsName\n                  FROM CourseGroupSet\n                 WHERE CourseBlock.cbType = 103\n                   AND assignment.caGroupUid != 0\n                   AND CourseGroupSet.cgsUid = assignment.caGroupUid) AS assignmentCourseGroupSetName\n          FROM CourseBlock \n               LEFT JOIN ClazzAssignment AS Assignment\n                         ON assignment.caUid = CourseBlock.cbEntityUid\n                            AND CourseBlock.cbType = 103\n               LEFT JOIN ContentEntry AS Entry\n                         ON entry.contentEntryUid = CourseBlock.cbEntityUid\n                            AND CourseBlock.cbType = 104\n               LEFT JOIN Language\n                         ON Language.langUid = Entry.primaryLanguageUid\n                            AND CourseBlock.cbType = 104\n               LEFT JOIN CourseBlockPicture\n                         ON CourseBlockPicture.cbpUid = CourseBlock.cbUid    \n         WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT)\n           AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive)\n           AND (CourseBlock.cbType != 300)\n      ORDER BY CourseBlock.cbIndex\n          ', VOID, VOID, VOID, '\n        SELECT CourseBlock.*, Assignment.*, Entry.*, Language.*, CourseBlockPicture.*,\n               (SELECT CourseGroupSet.cgsName\n                  FROM CourseGroupSet\n                 WHERE CourseBlock.cbType = 103\n                   AND assignment.caGroupUid != 0\n                   AND CourseGroupSet.cgsUid = assignment.caGroupUid) AS assignmentCourseGroupSetName\n          FROM CourseBlock \n               LEFT JOIN ClazzAssignment AS Assignment\n                         ON assignment.caUid = CourseBlock.cbEntityUid\n                            AND CourseBlock.cbType = 103\n               LEFT JOIN ContentEntry AS Entry\n                         ON entry.contentEntryUid = CourseBlock.cbEntityUid\n                            AND CourseBlock.cbType = 104\n               LEFT JOIN Language\n                         ON Language.langUid = Entry.primaryLanguageUid\n                            AND CourseBlock.cbType = 104\n               LEFT JOIN CourseBlockPicture\n                         ON CourseBlockPicture.cbpUid = CourseBlock.cbUid    \n         WHERE CourseBlock.cbClazzUid = ?\n           AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive)\n           AND (CourseBlock.cbType != 300)\n      ORDER BY CourseBlock.cbIndex\n          \n', true);
    return prepareAndUseStatementAsync(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsync$slambda_0(clazzUid, includeInactive, null), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl).xcc = function (clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ContentEntry', 'CourseBlock', 'CourseBlockPicture', 'ContentEntryPicture2'];
    return doorFlow(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findAllCourseBlockByClazzUidAsFlow$slambda_0(this, clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid, null));
  };
  protoOf(CourseBlockDao_JdbcImpl).ycc = function (cbUid, active, changeTime, $completion) {
    var tmp = new $updateActiveByUidCOROUTINE$171(this, cbUid, active, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_JdbcImpl).acd = function (postUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT COALESCE(CourseBlock.cbUid, 0) AS courseBlockUid,\n               COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid\n          FROM CourseBlock\n         WHERE CourseBlock.cbUid = \n               (SELECT DiscussionPost.discussionPostCourseBlockUid \n                  FROM DiscussionPost\n                 WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT))\n         LIMIT 1\n    ', VOID, VOID, VOID, '\n        SELECT COALESCE(CourseBlock.cbUid, 0) AS courseBlockUid,\n               COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid\n          FROM CourseBlock\n         WHERE CourseBlock.cbUid = \n               (SELECT DiscussionPost.discussionPostCourseBlockUid \n                  FROM DiscussionPost\n                 WHERE DiscussionPost.discussionPostUid = ?)\n         LIMIT 1\n    \n', true);
    return prepareAndUseStatementAsync(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findCourseBlockAndClazzUidByDiscussionPostUid$slambda_0(postUid, null), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl).bcd = function (courseBlockUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid\n          FROM CourseBlock\n         WHERE CourseBlock.cbUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid\n          FROM CourseBlock\n         WHERE CourseBlock.cbUid = ?\n    \n', true);
    return prepareAndUseStatementAsync(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findClazzUidByCourseBlockUid$slambda_0(courseBlockUid, null), $completion);
  };
  protoOf(CourseBlockDao_JdbcImpl).ccd = function (assignmentUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ClazzAssignment', 'CourseBlock'];
    return doorFlow(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findCourseBlockByAssignmentUid$slambda_0(this, assignmentUid, null));
  };
  protoOf(CourseBlockDao_JdbcImpl).dcd = function (clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ContentEntry', 'CourseBlock', 'CourseBlockPicture', 'ContentEntryPicture2'];
    return doorFlow(this.lch_1, tmp, CourseBlockDao_JdbcImpl$findByClazzUidAsFlow$slambda_0(this, clazzUid, null));
  };
  function CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseBlockDao_Repo$findByClazzUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.mcm_1 = this$0;
    this.ncm_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ocm_1 = this.mcm_1.xcm_1;
            var tmp_1 = this;
            tmp_1.pcm_1 = 'CourseBlockDao/findByUidWithPictureAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.qcm_1 = this.mcm_1.zcm_1;
            var tmp_3 = this;
            tmp_3.rcm_1 = this.qcm_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.mcm_1.xcm_1.a3d(), 'CourseBlockDao/findByUidWithPictureAsFlow');
            doorNodeIdHeader(this_0, this.mcm_1.xcm_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.mcm_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ncm_1));
            tmp_4.scm_1 = this_0;
            this.scm_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.tcm_1 = this.rcm_1;
            var tmp_6 = this;
            tmp_6.ucm_1 = this.scm_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ucm_1, this.tcm_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.vcm_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.mcm_1.wcm_1, this.vcm_1, this.mcm_1.xcm_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda$lambda(this.ocm_1, this.pcm_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda(this.mcm_1, this.ncm_1, completion);
  };
  function CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda(this$0, $clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation) {
    this.lcn_1 = this$0;
    this.mcn_1 = $clazzUid;
    this.ncn_1 = $includeInactive;
    this.ocn_1 = $includeHidden;
    this.pcn_1 = $hideUntilFilterTime;
    this.qcn_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.rcn_1 = this.lcn_1.xcm_1;
            var tmp_1 = this;
            tmp_1.scn_1 = 'CourseBlockDao/findAllCourseBlockByClazzUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tcn_1 = this.lcn_1.zcm_1;
            var tmp_3 = this;
            tmp_3.ucn_1 = this.tcn_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.lcn_1.xcm_1.a3d(), 'CourseBlockDao/findAllCourseBlockByClazzUidAsFlow');
            doorNodeIdHeader(this_0, this.lcn_1.xcm_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.lcn_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.mcn_1));
            parameter(this_0, 'includeInactive', this.lcn_1.xcm_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.ncn_1));
            parameter(this_0, 'includeHidden', this.lcn_1.xcm_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.ocn_1));
            parameter(this_0, 'hideUntilFilterTime', this.lcn_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.pcn_1));
            parameter(this_0, 'accountPersonUid', this.lcn_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qcn_1));
            tmp_4.vcn_1 = this_0;
            this.vcn_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wcn_1 = this.ucn_1;
            var tmp_6 = this;
            tmp_6.xcn_1 = this.vcn_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xcn_1, this.wcn_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ycn_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.lcn_1.wcm_1, this.ycn_1, this.lcn_1.xcm_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda$lambda(this.rcn_1, this.scn_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda(this.lcn_1, this.mcn_1, this.ncn_1, this.ocn_1, this.pcn_1, this.qcn_1, completion);
  };
  function CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda_0(this$0, $clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation) {
    var i = new CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda(this$0, $clazzUid, $includeInactive, $includeHidden, $hideUntilFilterTime, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_Repo$updateActiveByUid$slambda(this$0, $cbUid, $active, $changeTime, resultContinuation) {
    this.hco_1 = this$0;
    this.ico_1 = $cbUid;
    this.jco_1 = $active;
    this.kco_1 = $changeTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$updateActiveByUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$updateActiveByUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockDao_Repo$updateActiveByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.hco_1.ycm_1.ycc(this.ico_1, this.jco_1, this.kco_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$updateActiveByUid$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$updateActiveByUid$slambda(this.hco_1, this.ico_1, this.jco_1, this.kco_1, completion);
  };
  function CourseBlockDao_Repo$updateActiveByUid$slambda_0(this$0, $cbUid, $active, $changeTime, resultContinuation) {
    var i = new CourseBlockDao_Repo$updateActiveByUid$slambda(this$0, $cbUid, $active, $changeTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.tco_1 = this$0;
    this.uco_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.tco_1.ycm_1.zcc(this.uco_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$upsertListAsync$slambda(this.tco_1, this.uco_1, completion);
  };
  function CourseBlockDao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new CourseBlockDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_Repo$findCourseBlockAndClazzUidByDiscussionPostUid$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda(this$0, $assignmentUid, resultContinuation) {
    this.dcp_1 = this$0;
    this.ecp_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.fcp_1 = this.dcp_1.xcm_1;
            var tmp_1 = this;
            tmp_1.gcp_1 = 'CourseBlockDao/findCourseBlockByAssignmentUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.hcp_1 = this.dcp_1.zcm_1;
            var tmp_3 = this;
            tmp_3.icp_1 = this.hcp_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.dcp_1.xcm_1.a3d(), 'CourseBlockDao/findCourseBlockByAssignmentUid');
            doorNodeIdHeader(this_0, this.dcp_1.xcm_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'assignmentUid', this.dcp_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ecp_1));
            tmp_4.jcp_1 = this_0;
            this.jcp_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.kcp_1 = this.icp_1;
            var tmp_6 = this;
            tmp_6.lcp_1 = this.jcp_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.lcp_1, this.kcp_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.mcp_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.dcp_1.wcm_1, this.mcp_1, this.dcp_1.xcm_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda$lambda(this.fcp_1, this.gcp_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda(this.dcp_1, this.ecp_1, completion);
  };
  function CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda_0(this$0, $assignmentUid, resultContinuation) {
    var i = new CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda(this$0, $assignmentUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_Repo$findByClazzUidAsFlow$slambda(this$0, $clazzUid, resultContinuation) {
    this.vcp_1 = this$0;
    this.wcp_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$findByClazzUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$findByClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockDao_Repo$findByClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.xcp_1 = this.vcp_1.xcm_1;
            var tmp_1 = this;
            tmp_1.ycp_1 = 'CourseBlockDao/findByClazzUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.zcp_1 = this.vcp_1.zcm_1;
            var tmp_3 = this;
            tmp_3.acq_1 = this.zcp_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.vcp_1.xcm_1.a3d(), 'CourseBlockDao/findByClazzUidAsFlow');
            doorNodeIdHeader(this_0, this.vcp_1.xcm_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.vcp_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.wcp_1));
            tmp_4.bcq_1 = this_0;
            this.bcq_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ccq_1 = this.acq_1;
            var tmp_6 = this;
            tmp_6.dcq_1 = this.bcq_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.dcq_1, this.ccq_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ecq_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.vcp_1.wcm_1, this.ecq_1, this.vcp_1.xcm_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseBlockDao_Repo$findByClazzUidAsFlow$slambda$lambda(this.xcp_1, this.ycp_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$findByClazzUidAsFlow$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$findByClazzUidAsFlow$slambda(this.vcp_1, this.wcp_1, completion);
  };
  function CourseBlockDao_Repo$findByClazzUidAsFlow$slambda_0(this$0, $clazzUid, resultContinuation) {
    var i = new CourseBlockDao_Repo$findByClazzUidAsFlow$slambda(this$0, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.ncq_1 = this$0;
    this.ocq_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseBlockDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ncq_1.ycm_1.insertAsync(this.ocq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseBlockDao_Repo$insertAsync$slambda(this.ncq_1, this.ocq_1, completion);
  };
  function CourseBlockDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseBlockDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findAllCourseBlockByClazzUidAsyncCOROUTINE$176(_this__u8e3s4, clazzUid, includeInactive, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.xcq_1 = _this__u8e3s4;
    this.ycq_1 = clazzUid;
    this.zcq_1 = includeInactive;
  }
  protoOf($findAllCourseBlockByClazzUidAsyncCOROUTINE$176).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.acr_1 = this.xcq_1.xcm_1;
            var tmp_1 = this;
            tmp_1.bcr_1 = 'CourseBlockDao/findAllCourseBlockByClazzUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ccr_1 = this.xcq_1.zcm_1;
            var tmp_3 = this;
            tmp_3.dcr_1 = this.ccr_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.xcq_1.xcm_1.a3d(), 'CourseBlockDao/findAllCourseBlockByClazzUidAsync');
            doorNodeIdHeader(this_0, this.xcq_1.xcm_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.xcq_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ycq_1));
            parameter(this_0, 'includeInactive', this.xcq_1.xcm_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.zcq_1));
            tmp_4.ecr_1 = this_0;
            this.ecr_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.fcr_1 = this.dcr_1;
            var tmp_6 = this;
            tmp_6.gcr_1 = this.ecr_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.gcr_1, this.fcr_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.hcr_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.xcq_1.wcm_1, this.hcr_1, this.xcq_1.xcm_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.icr_1 = this.kd_1;
              Napier_getInstance().i5k(this.icr_1, 'DoorLog', CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsync$lambda(this.acr_1, this.bcr_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.xcq_1.ycm_1.wcc(this.ycq_1, this.zcq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findCourseBlockAndClazzUidByDiscussionPostUidCOROUTINE$177(_this__u8e3s4, postUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rcr_1 = _this__u8e3s4;
    this.scr_1 = postUid;
  }
  protoOf($findCourseBlockAndClazzUidByDiscussionPostUidCOROUTINE$177).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.tcr_1 = this.rcr_1.xcm_1;
            var tmp_1 = this;
            tmp_1.ucr_1 = 'CourseBlockDao/findCourseBlockAndClazzUidByDiscussionPostUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.vcr_1 = this.rcr_1.zcm_1;
            var tmp_3 = this;
            tmp_3.wcr_1 = this.vcr_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.rcr_1.xcm_1.a3d(), 'CourseBlockDao/findCourseBlockAndClazzUidByDiscussionPostUid');
            doorNodeIdHeader(this_0, this.rcr_1.xcm_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'postUid', this.rcr_1.xcm_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.scr_1));
            tmp_4.xcr_1 = this_0;
            this.xcr_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ycr_1 = this.wcr_1;
            var tmp_6 = this;
            tmp_6.zcr_1 = this.xcr_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.zcr_1, this.ycr_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.acs_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.rcr_1.wcm_1, this.acs_1, this.rcr_1.xcm_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.bcs_1 = this.kd_1;
              Napier_getInstance().i5k(this.bcs_1, 'DoorLog', CourseBlockDao_Repo$findCourseBlockAndClazzUidByDiscussionPostUid$lambda(this.tcr_1, this.ucr_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.rcr_1.ycm_1.acd(this.scr_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findClazzUidByCourseBlockUidCOROUTINE$179(_this__u8e3s4, courseBlockUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kcs_1 = _this__u8e3s4;
    this.lcs_1 = courseBlockUid;
  }
  protoOf($findClazzUidByCourseBlockUidCOROUTINE$179).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kcs_1.ycm_1.bcd(this.lcs_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$183(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ucs_1 = _this__u8e3s4;
    this.vcs_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$183).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.ucs_1.xcm_1, 'CourseBlock', CourseBlockDao_Repo$insertAsync$slambda_0(this.ucs_1, this.vcs_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseBlockDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseBlockDao.call(this);
    this.wcm_1 = _db;
    this.xcm_1 = _repo;
    this.ycm_1 = _dao;
    this.zcm_1 = _httpClient;
    this.acn_1 = _clientId;
    this.bcn_1 = _endpoint;
    this.ccn_1 = new RepoDaoFlowHelper(this.xcm_1);
  }
  protoOf(CourseBlockDao_Repo).vcc = function (uid) {
    var tmp = this.ycm_1.vcc(uid);
    return this.ccn_1.t6d(tmp, CourseBlockDao_Repo$findByUidWithPictureAsFlow$slambda_0(this, uid, null));
  };
  protoOf(CourseBlockDao_Repo).wcc = function (clazzUid, includeInactive, $completion) {
    var tmp = new $findAllCourseBlockByClazzUidAsyncCOROUTINE$176(this, clazzUid, includeInactive, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo).xcc = function (clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid) {
    var tmp = this.ycm_1.xcc(clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid);
    return this.ccn_1.t6d(tmp, CourseBlockDao_Repo$findAllCourseBlockByClazzUidAsFlow$slambda_0(this, clazzUid, includeInactive, includeHidden, hideUntilFilterTime, accountPersonUid, null));
  };
  protoOf(CourseBlockDao_Repo).ycc = function (cbUid, active, changeTime, $completion) {
    return withRepoChangeMonitorAsync(this.xcm_1, 'CourseBlock', CourseBlockDao_Repo$updateActiveByUid$slambda_0(this, cbUid, active, changeTime, null), $completion);
  };
  protoOf(CourseBlockDao_Repo).zcc = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.xcm_1, 'CourseBlock', CourseBlockDao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(CourseBlockDao_Repo).acd = function (postUid, $completion) {
    var tmp = new $findCourseBlockAndClazzUidByDiscussionPostUidCOROUTINE$177(this, postUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo).bcd = function (courseBlockUid, $completion) {
    var tmp = new $findClazzUidByCourseBlockUidCOROUTINE$179(this, courseBlockUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo).ccd = function (assignmentUid) {
    var tmp = this.ycm_1.ccd(assignmentUid);
    return this.ccn_1.t6d(tmp, CourseBlockDao_Repo$findCourseBlockByAssignmentUid$slambda_0(this, assignmentUid, null));
  };
  protoOf(CourseBlockDao_Repo).dcd = function (clazzUid) {
    var tmp = this.ycm_1.dcd(clazzUid);
    return this.ccn_1.t6d(tmp, CourseBlockDao_Repo$findByClazzUidAsFlow$slambda_0(this, clazzUid, null));
  };
  protoOf(CourseBlockDao_Repo).jce = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$183(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockDao_Repo).insertAsync = function (entity, $completion) {
    return this.jce(entity instanceof CourseBlock ? entity : THROW_CCE(), $completion);
  };
  function CourseBlockPictureDao() {
  }
  protoOf(CourseBlockPictureDao).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return Unit_instance;
  };
  function CourseBlockPictureDao_DoorWrapper(_db, _dao) {
    CourseBlockPictureDao.call(this);
    this.xcs_1 = _db;
    this.ycs_1 = _dao;
  }
  protoOf(CourseBlockPictureDao_DoorWrapper).wcs = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.CourseBlockPictureDao_DoorWrapper.upsertListAsync.<anonymous>' call
      element.s84_1 = systemTimeInMillis();
    }
    return this.ycs_1.wcs(entities, $completion);
  };
  protoOf(CourseBlockPictureDao_DoorWrapper).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return this.ycs_1.jba(uid, uri, thumbnailUri, time, $completion);
  };
  function CourseBlockPictureDao_JdbcImpl$_insertAdapterCourseBlockPicture_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.zcs_1);
  }
  protoOf(CourseBlockPictureDao_JdbcImpl$_insertAdapterCourseBlockPicture_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CourseBlockPicture (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) VALUES(?, ?, ?, ?)';
  };
  protoOf(CourseBlockPictureDao_JdbcImpl$_insertAdapterCourseBlockPicture_upsert$1).dct = function (stmt, entity) {
    stmt.a5o(1, entity.r84_1);
    stmt.a5o(2, entity.s84_1);
    stmt.d5o(3, entity.t84_1);
    stmt.d5o(4, entity.u84_1);
  };
  protoOf(CourseBlockPictureDao_JdbcImpl$_insertAdapterCourseBlockPicture_upsert$1).u5l = function (stmt, entity) {
    return this.dct(stmt, entity instanceof CourseBlockPicture ? entity : THROW_CCE());
  };
  function CourseBlockPictureDao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    this.mct_1 = $uri;
    this.nct_1 = $thumbnailUri;
    this.oct_1 = $time;
    this.pct_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockPictureDao_JdbcImpl$updateUri$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockPictureDao_JdbcImpl$updateUri$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseBlockPictureDao_JdbcImpl$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.qct_1.d5o(1, this.mct_1);
            this.qct_1.d5o(2, this.nct_1);
            this.qct_1.a5o(3, this.oct_1);
            this.qct_1.a5o(4, this.pct_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.qct_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockPictureDao_JdbcImpl$updateUri$slambda).r5l = function (_stmt, completion) {
    var i = new CourseBlockPictureDao_JdbcImpl$updateUri$slambda(this.mct_1, this.nct_1, this.oct_1, this.pct_1, completion);
    i.qct_1 = _stmt;
    return i;
  };
  function CourseBlockPictureDao_JdbcImpl$updateUri$slambda_0($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    var i = new CourseBlockPictureDao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateUriCOROUTINE$184(_this__u8e3s4, uid, uri, thumbnailUri, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.zct_1 = _this__u8e3s4;
    this.acu_1 = uid;
    this.bcu_1 = uri;
    this.ccu_1 = thumbnailUri;
    this.dcu_1 = time;
  }
  protoOf($updateUriCOROUTINE$184).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE CourseBlockPicture\n           SET cbpPictureUri = ?,\n               cbpThumbnailUri = ?,\n               cbpLct = CAST(? AS BIGINT)\n         WHERE cbpUid = CAST(? AS BIGINT)  \n    ', VOID, VOID, VOID, '\n        UPDATE CourseBlockPicture\n           SET cbpPictureUri = ?,\n               cbpThumbnailUri = ?,\n               cbpLct = ?\n         WHERE cbpUid = ?  \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.zct_1.zcs_1, tmp_0, CourseBlockPictureDao_JdbcImpl$updateUri$slambda_0(this.bcu_1, this.ccu_1, this.dcu_1, this.acu_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseBlockPictureDao_JdbcImpl(_db) {
    CourseBlockPictureDao.call(this);
    this.zcs_1 = _db;
    var tmp = this;
    tmp.act_1 = new CourseBlockPictureDao_JdbcImpl$_insertAdapterCourseBlockPicture_upsert$1(this);
  }
  protoOf(CourseBlockPictureDao_JdbcImpl).wcs = function (entities, $completion) {
    return this.act_1.e5n(entities, $completion);
  };
  protoOf(CourseBlockPictureDao_JdbcImpl).jba = function (uid, uri, thumbnailUri, time, $completion) {
    var tmp = new $updateUriCOROUTINE$184(this, uid, uri, thumbnailUri, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function CourseBlockPictureDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.mcu_1 = this$0;
    this.ncu_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockPictureDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockPictureDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockPictureDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.mcu_1.qcu_1.wcs(this.ncu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockPictureDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new CourseBlockPictureDao_Repo$upsertListAsync$slambda(this.mcu_1, this.ncu_1, completion);
  };
  function CourseBlockPictureDao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new CourseBlockPictureDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockPictureDao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    this.ccv_1 = this$0;
    this.dcv_1 = $uid;
    this.ecv_1 = $uri;
    this.fcv_1 = $thumbnailUri;
    this.gcv_1 = $time;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseBlockPictureDao_Repo$updateUri$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseBlockPictureDao_Repo$updateUri$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseBlockPictureDao_Repo$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ccv_1.qcu_1.jba(this.dcv_1, this.ecv_1, this.fcv_1, this.gcv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseBlockPictureDao_Repo$updateUri$slambda).q7e = function (completion) {
    return new CourseBlockPictureDao_Repo$updateUri$slambda(this.ccv_1, this.dcv_1, this.ecv_1, this.fcv_1, this.gcv_1, completion);
  };
  function CourseBlockPictureDao_Repo$updateUri$slambda_0(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    var i = new CourseBlockPictureDao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseBlockPictureDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseBlockPictureDao.call(this);
    this.ocu_1 = _db;
    this.pcu_1 = _repo;
    this.qcu_1 = _dao;
    this.rcu_1 = _httpClient;
    this.scu_1 = _clientId;
    this.tcu_1 = _endpoint;
  }
  protoOf(CourseBlockPictureDao_Repo).wcs = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.pcu_1, 'CourseBlockPicture', CourseBlockPictureDao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(CourseBlockPictureDao_Repo).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return withRepoChangeMonitorAsync(this.pcu_1, 'CourseBlockPicture', CourseBlockPictureDao_Repo$updateUri$slambda_0(this, uid, uri, thumbnailUri, time, null), $completion);
  };
  function CourseGroupMemberDao() {
  }
  function $upsertListAsyncCOROUTINE$186(_this__u8e3s4, list, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tcv_1 = _this__u8e3s4;
    this.ucv_1 = list;
  }
  protoOf($upsertListAsyncCOROUTINE$186).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.vcv_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.tcv_1.ccw_1));
            var tmp_0 = this;
            tmp_0.wcv_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.xcv_1 = this.ucv_1.w();
            var tmp_2 = this;
            tmp_2.ycv_1 = this.xcv_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.ycv_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.zcv_1 = this.ycv_1.e();
            var tmp_3 = this;
            tmp_3.acw_1 = this.zcv_1;
            if (this.acw_1.ecw_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.vcv_1.t68(243, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.bcw_1 = suspendResult;
            this.acw_1.ecw_1 = this.bcw_1;
            var this_0 = this.wcv_1;
            var element = this.bcw_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.acw_1.icw_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.tcv_1.dcw_1.jcv(this.ucv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$187(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rcw_1 = _this__u8e3s4;
    this.scw_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$187).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.tcw_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.rcw_1.ccw_1));
            if (this.scw_1.ecw_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.tcw_1.t68(243, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ucw_1 = suspendResult;
            this.scw_1.ecw_1 = this.ucw_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.scw_1.icw_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.rcw_1.dcw_1.insertAsync(this.scw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.scw_1.ecw_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupMemberDao_DoorWrapper(_db, _dao) {
    CourseGroupMemberDao.call(this);
    this.ccw_1 = _db;
    this.dcw_1 = _dao;
  }
  protoOf(CourseGroupMemberDao_DoorWrapper).hcv = function (cgsUid, clazzUid, time, activeFilter, accountPersonUid, $completion) {
    return this.dcw_1.hcv(cgsUid, clazzUid, time, activeFilter, accountPersonUid, $completion);
  };
  protoOf(CourseGroupMemberDao_DoorWrapper).icv = function (cgsUid, clazzUid, time, activeFilter, accountPersonUid) {
    return this.dcw_1.icv(cgsUid, clazzUid, time, activeFilter, accountPersonUid);
  };
  protoOf(CourseGroupMemberDao_DoorWrapper).jcv = function (list, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$186(this, list, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_DoorWrapper).kcv = function (courseGroupSetUid, groupNum, clazzUid, assignmentUid, accountPersonUid, $completion) {
    return this.dcw_1.kcv(courseGroupSetUid, groupNum, clazzUid, assignmentUid, accountPersonUid, $completion);
  };
  protoOf(CourseGroupMemberDao_DoorWrapper).vcw = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$187(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.vcw(entity instanceof CourseGroupMember ? entity : THROW_CCE(), $completion);
  };
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda$lambda(_result) {
    return mapRows(_result, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda$lambda$lambda(_result));
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_name = $_result.rz('name');
      var _tmp_personUid = $_result.d5t('personUid');
      var _tmp_enrolmentIsActive = $_result.o6c('enrolmentIsActive');
      var _tmp_pictureUri = $_result.rz('pictureUri');
      var _tmp_CourseGroupMember_nullCount = 0;
      var _tmp_cgmUid = $_result.d5t('cgmUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cgmSetUid = $_result.d5t('cgmSetUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cgmGroupNumber = $_result.c5t('cgmGroupNumber');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cgmPersonUid = $_result.d5t('cgmPersonUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cgmLct = $_result.d5t('cgmLct');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_CourseGroupMember_isAllNull = _tmp_CourseGroupMember_nullCount === 5;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseGroupMemberAndName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.xcw_1 = _tmp_name;
      this_0.ycw_1 = _tmp_personUid;
      this_0.zcw_1 = _tmp_enrolmentIsActive;
      this_0.acx_1 = _tmp_pictureUri;
      if (!_tmp_CourseGroupMember_isAllNull) {
        var tmp_4 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseGroupMember();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.ecw_1 = _tmp_cgmUid;
        this_1.fcw_1 = _tmp_cgmSetUid;
        this_1.gcw_1 = _tmp_cgmGroupNumber;
        this_1.hcw_1 = _tmp_cgmPersonUid;
        this_1.icw_1 = _tmp_cgmLct;
        tmp_4.wcw_1 = this_1;
      }
      return this_0;
    };
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_name = $_result.rz('name');
      var _tmp_personUid = $_result.d5t('personUid');
      var _tmp_enrolmentIsActive = $_result.o6c('enrolmentIsActive');
      var _tmp_pictureUri = $_result.rz('pictureUri');
      var _tmp_CourseGroupMember_nullCount = 0;
      var _tmp_cgmUid = $_result.d5t('cgmUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cgmSetUid = $_result.d5t('cgmSetUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cgmGroupNumber = $_result.c5t('cgmGroupNumber');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cgmPersonUid = $_result.d5t('cgmPersonUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cgmLct = $_result.d5t('cgmLct');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_CourseGroupMember_isAllNull = _tmp_CourseGroupMember_nullCount === 5;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseGroupMemberAndName();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndClazzAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.xcw_1 = _tmp_name;
      this_0.ycw_1 = _tmp_personUid;
      this_0.zcw_1 = _tmp_enrolmentIsActive;
      this_0.acx_1 = _tmp_pictureUri;
      if (!_tmp_CourseGroupMember_isAllNull) {
        var tmp_4 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseGroupMember();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndClazzAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.ecw_1 = _tmp_cgmUid;
        this_1.fcw_1 = _tmp_cgmSetUid;
        this_1.gcw_1 = _tmp_cgmGroupNumber;
        this_1.hcw_1 = _tmp_cgmPersonUid;
        this_1.icw_1 = _tmp_cgmLct;
        tmp_4.wcw_1 = this_1;
      }
      return this_0;
    };
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda($time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation) {
    this.jcx_1 = $time;
    this.kcx_1 = $clazzUid;
    this.lcx_1 = $cgsUid;
    this.mcx_1 = $activeFilter;
    this.ncx_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda).pcx = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.pcx((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ocx_1.a5o(1, this.jcx_1);
            this.ocx_1.a5o(2, this.kcx_1);
            this.ocx_1.a5o(3, this.lcx_1);
            this.ocx_1.a5o(4, this.kcx_1);
            this.ocx_1.a5o(5, this.lcx_1);
            this.ocx_1.z5n(6, this.mcx_1);
            this.ocx_1.z5n(7, this.mcx_1);
            this.ocx_1.a5o(8, this.kcx_1);
            this.ocx_1.a5o(9, this.ncx_1);
            this.ocx_1.a5o(10, this.ncx_1);
            this.ocx_1.a5o(11, this.kcx_1);
            this.ocx_1.a5o(12, this.ncx_1);
            this.ocx_1.a5o(13, this.ncx_1);
            this.ocx_1.a5o(14, this.ncx_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ocx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda(this.jcx_1, this.kcx_1, this.lcx_1, this.mcx_1, this.ncx_1, completion);
    i.ocx_1 = _stmt;
    return i;
  };
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda_0($time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda($time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.pcx(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda$lambda(_result) {
    return mapRows(_result, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda$lambda$lambda(_result));
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CourseGroupMember_nullCount = 0;
      var _tmp_cgmUid = $_result.d5t('cgmUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cgmSetUid = $_result.d5t('cgmSetUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cgmGroupNumber = $_result.c5t('cgmGroupNumber');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cgmPersonUid = $_result.d5t('cgmPersonUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cgmLct = $_result.d5t('cgmLct');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CourseGroupMember_nullCount = _tmp_CourseGroupMember_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_CourseGroupMember_isAllNull = _tmp_CourseGroupMember_nullCount === 5;
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseGroupMemberAndPerson();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndGroupNumAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CourseGroupMember_isAllNull) {
        var tmp_28 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CourseGroupMember();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndGroupNumAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.ecw_1 = _tmp_cgmUid;
        this_1.fcw_1 = _tmp_cgmSetUid;
        this_1.gcw_1 = _tmp_cgmGroupNumber;
        this_1.hcw_1 = _tmp_cgmPersonUid;
        this_1.icw_1 = _tmp_cgmLct;
        tmp_28.qcx_1 = this_1;
      }
      if (!_tmp_Person_isAllNull) {
        var tmp_29 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.CourseGroupMemberDao_JdbcImpl.findByCourseGroupSetAndGroupNumAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.x9b_1 = _tmp_personUid;
        this_2.y9b_1 = _tmp_username;
        this_2.z9b_1 = _tmp_firstNames;
        this_2.a9c_1 = _tmp_lastName;
        this_2.b9c_1 = _tmp_emailAddr;
        this_2.c9c_1 = _tmp_phoneNum;
        this_2.d9c_1 = _tmp_gender;
        this_2.e9c_1 = _tmp_active;
        this_2.f9c_1 = _tmp_dateOfBirth;
        this_2.g9c_1 = _tmp_personAddress;
        this_2.h9c_1 = _tmp_personOrgId;
        this_2.i9c_1 = _tmp_personGroupUid;
        this_2.j9c_1 = _tmp_personLct;
        this_2.k9c_1 = _tmp_personCountry;
        this_2.l9c_1 = _tmp_personType;
        this_2.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_2.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_2.o9c_1 = _tmp_personLastChangedBy;
        this_2.p9c_1 = _tmp_admin;
        this_2.q9c_1 = _tmp_personNotes;
        this_2.r9c_1 = _tmp_fatherName;
        this_2.s9c_1 = _tmp_fatherNumber;
        this_2.t9c_1 = _tmp_motherName;
        this_2.u9c_1 = _tmp_motherNum;
        tmp_29.rcx_1 = this_2;
      }
      return this_0;
    };
  }
  function CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.scx_1);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES(?, ?, ?, ?, ?)';
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_abort$1).xcx = function (stmt, entity) {
    if (entity.ecw_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ecw_1);
    }
    stmt.a5o(2, entity.fcw_1);
    stmt.z5n(3, entity.gcw_1);
    stmt.a5o(4, entity.hcw_1);
    stmt.a5o(5, entity.icw_1);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_abort$1).u5l = function (stmt, entity) {
    return this.xcx(stmt, entity instanceof CourseGroupMember ? entity : THROW_CCE());
  };
  function CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.scx_1);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES(?, ?, ?, ?, ?)';
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_upsert$1).xcx = function (stmt, entity) {
    if (entity.ecw_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ecw_1);
    }
    stmt.a5o(2, entity.fcw_1);
    stmt.z5n(3, entity.gcw_1);
    stmt.a5o(4, entity.hcw_1);
    stmt.a5o(5, entity.icw_1);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_upsert$1).u5l = function (stmt, entity) {
    return this.xcx(stmt, entity instanceof CourseGroupMember ? entity : THROW_CCE());
  };
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda($time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation) {
    this.icy_1 = $time;
    this.jcy_1 = $clazzUid;
    this.kcy_1 = $cgsUid;
    this.lcy_1 = $activeFilter;
    this.mcy_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda).pcx = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda).he = function (p1, $completion) {
    return this.pcx((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ncy_1.a5o(1, this.icy_1);
            this.ncy_1.a5o(2, this.jcy_1);
            this.ncy_1.a5o(3, this.kcy_1);
            this.ncy_1.a5o(4, this.jcy_1);
            this.ncy_1.a5o(5, this.kcy_1);
            this.ncy_1.z5n(6, this.lcy_1);
            this.ncy_1.z5n(7, this.lcy_1);
            this.ncy_1.a5o(8, this.jcy_1);
            this.ncy_1.a5o(9, this.mcy_1);
            this.ncy_1.a5o(10, this.mcy_1);
            this.ncy_1.a5o(11, this.jcy_1);
            this.ncy_1.a5o(12, this.mcy_1);
            this.ncy_1.a5o(13, this.mcy_1);
            this.ncy_1.a5o(14, this.mcy_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ncy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda(this.icy_1, this.jcy_1, this.kcy_1, this.lcy_1, this.mcy_1, completion);
    i.ncy_1 = _stmt;
    return i;
  };
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda_0($time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda($time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.pcx(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda(this$0, $time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation) {
    this.wcy_1 = this$0;
    this.xcy_1 = $time;
    this.ycy_1 = $clazzUid;
    this.zcy_1 = $cgsUid;
    this.acz_1 = $activeFilter;
    this.bcz_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda).ccz = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda).r7e = function ($completion) {
    return this.ccz($completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig("\n        --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol\n        WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS \n             (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid,\n                     (CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive\n                FROM ClazzEnrolment\n               WHERE ClazzEnrolment.clazzEnrolmentClazzUid = \n        CASE(CAST(? AS BIGINT))\n                         WHEN 0 THEN \n                                (SELECT CourseGroupSet.cgsClazzUid\n                                   FROM CourseGroupSet\n                                  WHERE CourseGroupSet.cgsUid = CAST(? AS BIGINT))\n                         ELSE CAST(? AS BIGINT)\n                     END\n    \n                 AND ClazzEnrolment.clazzEnrolmentRole = 1000),\n        --Consolidate and removes any duplicates\n             EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS\n             (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid,\n                     (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER)\n                        FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner\n                       WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid\n                    ORDER BY AllEnrollmentsInner.isActive DESC\n                       LIMIT 1) AS isActive\n                FROM AllEnrollmentsAndActiveStatus)\n        \n        -- Now create a list with each students name, the coursegroupmember object if any and active status        \n        SELECT (Person.firstNames || ' ' || Person.lastName) AS name,\n               Person.personUid,\n               CourseGroupMember.*,\n               PersonPicture.*,\n               EnrolledStudentPersonUids.isActive AS enrolmentIsActive,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM EnrolledStudentPersonUids\n               JOIN Person\n                    ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid \n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid  \n               -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if      \n               LEFT JOIN CourseGroupMember\n                         ON CourseGroupMember.cgmUid = \n                            (SELECT CourseGroupMember.cgmUid\n                               FROM CourseGroupMember\n                              WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid\n                                AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) \n                           ORDER BY CourseGroupMember.cgmLct DESC        \n                              LIMIT 1)\n         WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive)  \n               /* \n                * Begin permission check -  must have course view members permission, or active \n                * user must be in the same group \n                */ \n            AND (\n                    ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         8192\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     8192\n                     \n        ) > 0)\n               )\n    )\n                  OR EXISTS(\n                     SELECT 1\n                       FROM CourseGroupMember _CourseGroupMemberForActivePerson\n                      WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = CAST(? AS BIGINT)\n                        AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber)     \n                 )\n      ORDER BY Person.firstNames, Person.lastName ASC\n    ", VOID, VOID, VOID, "\n        --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol\n        WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS \n             (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid,\n                     (? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive\n                FROM ClazzEnrolment\n               WHERE ClazzEnrolment.clazzEnrolmentClazzUid = \n        CASE(?)\n                         WHEN 0 THEN \n                                (SELECT CourseGroupSet.cgsClazzUid\n                                   FROM CourseGroupSet\n                                  WHERE CourseGroupSet.cgsUid = ?)\n                         ELSE ?\n                     END\n    \n                 AND ClazzEnrolment.clazzEnrolmentRole = 1000),\n        --Consolidate and removes any duplicates\n             EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS\n             (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid,\n                     (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER)\n                        FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner\n                       WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid\n                    ORDER BY AllEnrollmentsInner.isActive DESC\n                       LIMIT 1) AS isActive\n                FROM AllEnrollmentsAndActiveStatus)\n        \n        -- Now create a list with each students name, the coursegroupmember object if any and active status        \n        SELECT (Person.firstNames || ' ' || Person.lastName) AS name,\n               Person.personUid,\n               CourseGroupMember.*,\n               PersonPicture.*,\n               EnrolledStudentPersonUids.isActive AS enrolmentIsActive,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM EnrolledStudentPersonUids\n               JOIN Person\n                    ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid \n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid  \n               -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if      \n               LEFT JOIN CourseGroupMember\n                         ON CourseGroupMember.cgmUid = \n                            (SELECT CourseGroupMember.cgmUid\n                               FROM CourseGroupMember\n                              WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid\n                                AND CourseGroupMember.cgmSetUid = ? \n                           ORDER BY CourseGroupMember.cgmLct DESC        \n                              LIMIT 1)\n         WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive)  \n               /* \n                * Begin permission check -  must have course view members permission, or active \n                * user must be in the same group \n                */ \n            AND (\n                    ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         8192\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     8192\n                     \n        ) > 0)\n               )\n    )\n                  OR EXISTS(\n                     SELECT 1\n                       FROM CourseGroupMember _CourseGroupMemberForActivePerson\n                      WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = ?\n                        AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber)     \n                 )\n      ORDER BY Person.firstNames, Person.lastName ASC\n    \n", true);
            suspendResult = prepareAndUseStatementAsync(this.wcy_1.scx_1, tmp_0, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda$slambda_0(this.xcy_1, this.ycy_1, this.zcy_1, this.acz_1, this.bcz_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda).q7e = function (completion) {
    return new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda(this.wcy_1, this.xcy_1, this.ycy_1, this.zcy_1, this.acz_1, this.bcz_1, completion);
  };
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda_0(this$0, $time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda(this$0, $time, $clazzUid, $cgsUid, $activeFilter, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.ccz($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda($courseGroupSetUid, $groupNum, $accountPersonUid, $assignmentUid, $clazzUid, resultContinuation) {
    this.lcz_1 = $courseGroupSetUid;
    this.mcz_1 = $groupNum;
    this.ncz_1 = $accountPersonUid;
    this.ocz_1 = $assignmentUid;
    this.pcz_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda).rcz = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda).he = function (p1, $completion) {
    return this.rcz((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.qcz_1.a5o(1, this.lcz_1);
            this.qcz_1.z5n(2, this.mcz_1);
            this.qcz_1.a5o(3, this.lcz_1);
            this.qcz_1.a5o(4, this.ncz_1);
            this.qcz_1.a5o(5, this.ocz_1);
            this.qcz_1.z5n(6, this.mcz_1);
            this.qcz_1.a5o(7, this.ncz_1);
            this.qcz_1.a5o(8, this.pcz_1);
            this.qcz_1.a5o(9, this.ncz_1);
            this.qcz_1.a5o(10, this.ncz_1);
            this.qcz_1.a5o(11, this.pcz_1);
            this.qcz_1.a5o(12, this.ncz_1);
            this.qcz_1.a5o(13, this.ncz_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.qcz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda(this.lcz_1, this.mcz_1, this.ncz_1, this.ocz_1, this.pcz_1, completion);
    i.qcz_1 = _stmt;
    return i;
  };
  function CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda_0($courseGroupSetUid, $groupNum, $accountPersonUid, $assignmentUid, $clazzUid, resultContinuation) {
    var i = new CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda($courseGroupSetUid, $groupNum, $accountPersonUid, $assignmentUid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.rcz(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$188(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ad0_1 = _this__u8e3s4;
    this.bd0_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$188).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ad0_1.tcx_1.b5n(this.bd0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupMemberDao_JdbcImpl(_db) {
    CourseGroupMemberDao.call(this);
    this.scx_1 = _db;
    var tmp = this;
    tmp.tcx_1 = new CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_abort$1(this);
    var tmp_0 = this;
    tmp_0.ucx_1 = new CourseGroupMemberDao_JdbcImpl$_insertAdapterCourseGroupMember_upsert$1(this);
  }
  protoOf(CourseGroupMemberDao_JdbcImpl).jcv = function (list, $completion) {
    return this.ucx_1.e5n(list, $completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl).vcw = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$188(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.vcw(entity instanceof CourseGroupMember ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl).hcv = function (cgsUid, clazzUid, time, activeFilter, accountPersonUid, $completion) {
    var tmp = new PreparedStatementConfig("\n        --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol\n        WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS \n             (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid,\n                     (CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive\n                FROM ClazzEnrolment\n               WHERE ClazzEnrolment.clazzEnrolmentClazzUid = \n        CASE(CAST(? AS BIGINT))\n                         WHEN 0 THEN \n                                (SELECT CourseGroupSet.cgsClazzUid\n                                   FROM CourseGroupSet\n                                  WHERE CourseGroupSet.cgsUid = CAST(? AS BIGINT))\n                         ELSE CAST(? AS BIGINT)\n                     END\n    \n                 AND ClazzEnrolment.clazzEnrolmentRole = 1000),\n        --Consolidate and removes any duplicates\n             EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS\n             (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid,\n                     (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER)\n                        FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner\n                       WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid\n                    ORDER BY AllEnrollmentsInner.isActive DESC\n                       LIMIT 1) AS isActive\n                FROM AllEnrollmentsAndActiveStatus)\n        \n        -- Now create a list with each students name, the coursegroupmember object if any and active status        \n        SELECT (Person.firstNames || ' ' || Person.lastName) AS name,\n               Person.personUid,\n               CourseGroupMember.*,\n               PersonPicture.*,\n               EnrolledStudentPersonUids.isActive AS enrolmentIsActive,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM EnrolledStudentPersonUids\n               JOIN Person\n                    ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid \n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid  \n               -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if      \n               LEFT JOIN CourseGroupMember\n                         ON CourseGroupMember.cgmUid = \n                            (SELECT CourseGroupMember.cgmUid\n                               FROM CourseGroupMember\n                              WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid\n                                AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) \n                           ORDER BY CourseGroupMember.cgmLct DESC        \n                              LIMIT 1)\n         WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive)  \n               /* \n                * Begin permission check -  must have course view members permission, or active \n                * user must be in the same group \n                */ \n            AND (\n                    ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         8192\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     8192\n                     \n        ) > 0)\n               )\n    )\n                  OR EXISTS(\n                     SELECT 1\n                       FROM CourseGroupMember _CourseGroupMemberForActivePerson\n                      WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = CAST(? AS BIGINT)\n                        AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber)     \n                 )\n      ORDER BY Person.firstNames, Person.lastName ASC\n    ", VOID, VOID, VOID, "\n        --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol\n        WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS \n             (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid,\n                     (? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive\n                FROM ClazzEnrolment\n               WHERE ClazzEnrolment.clazzEnrolmentClazzUid = \n        CASE(?)\n                         WHEN 0 THEN \n                                (SELECT CourseGroupSet.cgsClazzUid\n                                   FROM CourseGroupSet\n                                  WHERE CourseGroupSet.cgsUid = ?)\n                         ELSE ?\n                     END\n    \n                 AND ClazzEnrolment.clazzEnrolmentRole = 1000),\n        --Consolidate and removes any duplicates\n             EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS\n             (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid,\n                     (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER)\n                        FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner\n                       WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid\n                    ORDER BY AllEnrollmentsInner.isActive DESC\n                       LIMIT 1) AS isActive\n                FROM AllEnrollmentsAndActiveStatus)\n        \n        -- Now create a list with each students name, the coursegroupmember object if any and active status        \n        SELECT (Person.firstNames || ' ' || Person.lastName) AS name,\n               Person.personUid,\n               CourseGroupMember.*,\n               PersonPicture.*,\n               EnrolledStudentPersonUids.isActive AS enrolmentIsActive,\n               PersonPicture.personPictureThumbnailUri AS pictureUri\n          FROM EnrolledStudentPersonUids\n               JOIN Person\n                    ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid \n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid  \n               -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if      \n               LEFT JOIN CourseGroupMember\n                         ON CourseGroupMember.cgmUid = \n                            (SELECT CourseGroupMember.cgmUid\n                               FROM CourseGroupMember\n                              WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid\n                                AND CourseGroupMember.cgmSetUid = ? \n                           ORDER BY CourseGroupMember.cgmLct DESC        \n                              LIMIT 1)\n         WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive)  \n               /* \n                * Begin permission check -  must have course view members permission, or active \n                * user must be in the same group \n                */ \n            AND (\n                    ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         8192\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     8192\n                     \n        ) > 0)\n               )\n    )\n                  OR EXISTS(\n                     SELECT 1\n                       FROM CourseGroupMember _CourseGroupMemberForActivePerson\n                      WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = ?\n                        AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber)     \n                 )\n      ORDER BY Person.firstNames, Person.lastName ASC\n    \n", true);
    return prepareAndUseStatementAsync(this.scx_1, tmp, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazz$slambda_0(time, clazzUid, cgsUid, activeFilter, accountPersonUid, null), $completion);
  };
  protoOf(CourseGroupMemberDao_JdbcImpl).icv = function (cgsUid, clazzUid, time, activeFilter, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ClazzEnrolment', 'Person', 'PersonPicture', 'CourseGroupMember', 'CourseGroupSet'];
    return doorFlow(this.scx_1, tmp, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndClazzAsFlow$slambda_0(this, time, clazzUid, cgsUid, activeFilter, accountPersonUid, null));
  };
  protoOf(CourseGroupMemberDao_JdbcImpl).kcv = function (courseGroupSetUid, groupNum, clazzUid, assignmentUid, accountPersonUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT CourseGroupMember.*, Person.*\n          FROM CourseGroupMember\n               JOIN Person \n                    ON Person.personUid = CourseGroupMember.cgmPersonUid\n         WHERE (    CourseGroupMember.cgmSetUid = CAST(? AS BIGINT)\n                AND CourseGroupMember.cgmGroupNumber = ?)\n           AND (    /* Grant permission where the active person is in the group */ \n                    EXISTS(SELECT 1\n                             FROM CourseGroupMember CourseGroupMemberInternal\n                            WHERE CourseGroupMemberInternal.cgmSetUid = CAST(? AS BIGINT)\n                              AND CourseGroupMemberInternal.cgmPersonUid = CAST(? AS BIGINT))\n                    /* Grant permission where the activepersonuid is in a group assigned to mark this group */\n                 OR EXISTS(SELECT 1\n                             FROM PeerReviewerAllocation\n                            WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT)\n                              AND PeerReviewerAllocation.praMarkerSubmitterUid = ?\n                              AND EXISTS(SELECT 1\n                                           FROM CourseGroupMember CourseGroupMemberInternal\n                                          WHERE CourseGroupMemberInternal.cgmSetUid = PeerReviewerAllocation.praMarkerSubmitterUid\n                                            AND CourseGroupMemberInternal.cgmPersonUid = CAST(? AS BIGINT))) \n                    /* Grant permission where the active person has the select person permission for the class */                        \n                 OR ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         8192\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     8192\n                     \n        ) > 0)\n               )\n    )    \n               )\n               \n    ', VOID, VOID, VOID, '\n        SELECT CourseGroupMember.*, Person.*\n          FROM CourseGroupMember\n               JOIN Person \n                    ON Person.personUid = CourseGroupMember.cgmPersonUid\n         WHERE (    CourseGroupMember.cgmSetUid = ?\n                AND CourseGroupMember.cgmGroupNumber = ?)\n           AND (    /* Grant permission where the active person is in the group */ \n                    EXISTS(SELECT 1\n                             FROM CourseGroupMember CourseGroupMemberInternal\n                            WHERE CourseGroupMemberInternal.cgmSetUid = ?\n                              AND CourseGroupMemberInternal.cgmPersonUid = ?)\n                    /* Grant permission where the activepersonuid is in a group assigned to mark this group */\n                 OR EXISTS(SELECT 1\n                             FROM PeerReviewerAllocation\n                            WHERE PeerReviewerAllocation.praAssignmentUid = ?\n                              AND PeerReviewerAllocation.praMarkerSubmitterUid = ?\n                              AND EXISTS(SELECT 1\n                                           FROM CourseGroupMember CourseGroupMemberInternal\n                                          WHERE CourseGroupMemberInternal.cgmSetUid = PeerReviewerAllocation.praMarkerSubmitterUid\n                                            AND CourseGroupMemberInternal.cgmPersonUid = ?)) \n                    /* Grant permission where the active person has the select person permission for the class */                        \n                 OR ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         8192\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     8192\n                     \n        ) > 0)\n               )\n    )    \n               )\n               \n    \n', true);
    return prepareAndUseStatementAsync(this.scx_1, tmp, CourseGroupMemberDao_JdbcImpl$findByCourseGroupSetAndGroupNumAsync$slambda_0(courseGroupSetUid, groupNum, accountPersonUid, assignmentUid, clazzUid, null), $completion);
  };
  function CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazz$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda(this$0, $cgsUid, $clazzUid, $time, $activeFilter, $accountPersonUid, resultContinuation) {
    this.kd0_1 = this$0;
    this.ld0_1 = $cgsUid;
    this.md0_1 = $clazzUid;
    this.nd0_1 = $time;
    this.od0_1 = $activeFilter;
    this.pd0_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.qd0_1 = this.kd0_1.zd0_1;
            var tmp_1 = this;
            tmp_1.rd0_1 = 'CourseGroupMemberDao/findByCourseGroupSetAndClazzAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.sd0_1 = this.kd0_1.bd1_1;
            var tmp_3 = this;
            tmp_3.td0_1 = this.sd0_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.kd0_1.zd0_1.a3d(), 'CourseGroupMemberDao/findByCourseGroupSetAndClazzAsFlow');
            doorNodeIdHeader(this_0, this.kd0_1.zd0_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'cgsUid', this.kd0_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ld0_1));
            parameter(this_0, 'clazzUid', this.kd0_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.md0_1));
            parameter(this_0, 'time', this.kd0_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.nd0_1));
            parameter(this_0, 'activeFilter', this.kd0_1.zd0_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.od0_1));
            parameter(this_0, 'accountPersonUid', this.kd0_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.pd0_1));
            tmp_4.ud0_1 = this_0;
            this.ud0_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.vd0_1 = this.td0_1;
            var tmp_6 = this;
            tmp_6.wd0_1 = this.ud0_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.wd0_1, this.vd0_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.xd0_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.kd0_1.yd0_1, this.xd0_1, this.kd0_1.zd0_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda$lambda(this.qd0_1, this.rd0_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda).q7e = function (completion) {
    return new CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda(this.kd0_1, this.ld0_1, this.md0_1, this.nd0_1, this.od0_1, this.pd0_1, completion);
  };
  function CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda_0(this$0, $cgsUid, $clazzUid, $time, $activeFilter, $accountPersonUid, resultContinuation) {
    var i = new CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda(this$0, $cgsUid, $clazzUid, $time, $activeFilter, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseGroupMemberDao_Repo$upsertListAsync$slambda(this$0, $list, resultContinuation) {
    this.nd1_1 = this$0;
    this.od1_1 = $list;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseGroupMemberDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.nd1_1.ad1_1.jcv(this.od1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new CourseGroupMemberDao_Repo$upsertListAsync$slambda(this.nd1_1, this.od1_1, completion);
  };
  function CourseGroupMemberDao_Repo$upsertListAsync$slambda_0(this$0, $list, resultContinuation) {
    var i = new CourseGroupMemberDao_Repo$upsertListAsync$slambda(this$0, $list, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseGroupMemberDao_Repo$findByCourseGroupSetAndGroupNumAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseGroupMemberDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.xd1_1 = this$0;
    this.yd1_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupMemberDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseGroupMemberDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xd1_1.ad1_1.insertAsync(this.yd1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupMemberDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseGroupMemberDao_Repo$insertAsync$slambda(this.xd1_1, this.yd1_1, completion);
  };
  function CourseGroupMemberDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseGroupMemberDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByCourseGroupSetAndClazzCOROUTINE$191(_this__u8e3s4, cgsUid, clazzUid, time, activeFilter, accountPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.hd2_1 = _this__u8e3s4;
    this.id2_1 = cgsUid;
    this.jd2_1 = clazzUid;
    this.kd2_1 = time;
    this.ld2_1 = activeFilter;
    this.md2_1 = accountPersonUid;
  }
  protoOf($findByCourseGroupSetAndClazzCOROUTINE$191).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.nd2_1 = this.hd2_1.zd0_1;
            var tmp_1 = this;
            tmp_1.od2_1 = 'CourseGroupMemberDao/findByCourseGroupSetAndClazz';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.pd2_1 = this.hd2_1.bd1_1;
            var tmp_3 = this;
            tmp_3.qd2_1 = this.pd2_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.hd2_1.zd0_1.a3d(), 'CourseGroupMemberDao/findByCourseGroupSetAndClazz');
            doorNodeIdHeader(this_0, this.hd2_1.zd0_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'cgsUid', this.hd2_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.id2_1));
            parameter(this_0, 'clazzUid', this.hd2_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jd2_1));
            parameter(this_0, 'time', this.hd2_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.kd2_1));
            parameter(this_0, 'activeFilter', this.hd2_1.zd0_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.ld2_1));
            parameter(this_0, 'accountPersonUid', this.hd2_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.md2_1));
            tmp_4.rd2_1 = this_0;
            this.rd2_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.sd2_1 = this.qd2_1;
            var tmp_6 = this;
            tmp_6.td2_1 = this.rd2_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.td2_1, this.sd2_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ud2_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.hd2_1.yd0_1, this.ud2_1, this.hd2_1.zd0_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.vd2_1 = this.kd_1;
              Napier_getInstance().i5k(this.vd2_1, 'DoorLog', CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazz$lambda(this.nd2_1, this.od2_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.hd2_1.ad1_1.hcv(this.id2_1, this.jd2_1, this.kd2_1, this.ld2_1, this.md2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByCourseGroupSetAndGroupNumAsyncCOROUTINE$194(_this__u8e3s4, courseGroupSetUid, groupNum, clazzUid, assignmentUid, accountPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ed3_1 = _this__u8e3s4;
    this.fd3_1 = courseGroupSetUid;
    this.gd3_1 = groupNum;
    this.hd3_1 = clazzUid;
    this.id3_1 = assignmentUid;
    this.jd3_1 = accountPersonUid;
  }
  protoOf($findByCourseGroupSetAndGroupNumAsyncCOROUTINE$194).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.kd3_1 = this.ed3_1.zd0_1;
            var tmp_1 = this;
            tmp_1.ld3_1 = 'CourseGroupMemberDao/findByCourseGroupSetAndGroupNumAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.md3_1 = this.ed3_1.bd1_1;
            var tmp_3 = this;
            tmp_3.nd3_1 = this.md3_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ed3_1.zd0_1.a3d(), 'CourseGroupMemberDao/findByCourseGroupSetAndGroupNumAsync');
            doorNodeIdHeader(this_0, this.ed3_1.zd0_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'courseGroupSetUid', this.ed3_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.fd3_1));
            parameter(this_0, 'groupNum', this.ed3_1.zd0_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.gd3_1));
            parameter(this_0, 'clazzUid', this.ed3_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.hd3_1));
            parameter(this_0, 'assignmentUid', this.ed3_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.id3_1));
            parameter(this_0, 'accountPersonUid', this.ed3_1.zd0_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jd3_1));
            tmp_4.od3_1 = this_0;
            this.od3_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.pd3_1 = this.nd3_1;
            var tmp_6 = this;
            tmp_6.qd3_1 = this.od3_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.qd3_1, this.pd3_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.rd3_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ed3_1.yd0_1, this.rd3_1, this.ed3_1.zd0_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.sd3_1 = this.kd_1;
              Napier_getInstance().i5k(this.sd3_1, 'DoorLog', CourseGroupMemberDao_Repo$findByCourseGroupSetAndGroupNumAsync$lambda(this.kd3_1, this.ld3_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.ed3_1.ad1_1.kcv(this.fd3_1, this.gd3_1, this.hd3_1, this.id3_1, this.jd3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$195(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bd4_1 = _this__u8e3s4;
    this.cd4_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$195).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.bd4_1.zd0_1, 'CourseGroupMember', CourseGroupMemberDao_Repo$insertAsync$slambda_0(this.bd4_1, this.cd4_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupMemberDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseGroupMemberDao.call(this);
    this.yd0_1 = _db;
    this.zd0_1 = _repo;
    this.ad1_1 = _dao;
    this.bd1_1 = _httpClient;
    this.cd1_1 = _clientId;
    this.dd1_1 = _endpoint;
    this.ed1_1 = new RepoDaoFlowHelper(this.zd0_1);
  }
  protoOf(CourseGroupMemberDao_Repo).hcv = function (cgsUid, clazzUid, time, activeFilter, accountPersonUid, $completion) {
    var tmp = new $findByCourseGroupSetAndClazzCOROUTINE$191(this, cgsUid, clazzUid, time, activeFilter, accountPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_Repo).icv = function (cgsUid, clazzUid, time, activeFilter, accountPersonUid) {
    var tmp = this.ad1_1.icv(cgsUid, clazzUid, time, activeFilter, accountPersonUid);
    return this.ed1_1.t6d(tmp, CourseGroupMemberDao_Repo$findByCourseGroupSetAndClazzAsFlow$slambda_0(this, cgsUid, clazzUid, time, activeFilter, accountPersonUid, null));
  };
  protoOf(CourseGroupMemberDao_Repo).jcv = function (list, $completion) {
    return withRepoChangeMonitorAsync(this.zd0_1, 'CourseGroupMember', CourseGroupMemberDao_Repo$upsertListAsync$slambda_0(this, list, null), $completion);
  };
  protoOf(CourseGroupMemberDao_Repo).kcv = function (courseGroupSetUid, groupNum, clazzUid, assignmentUid, accountPersonUid, $completion) {
    var tmp = new $findByCourseGroupSetAndGroupNumAsyncCOROUTINE$194(this, courseGroupSetUid, groupNum, clazzUid, assignmentUid, accountPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_Repo).vcw = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$195(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupMemberDao_Repo).insertAsync = function (entity, $completion) {
    return this.vcw(entity instanceof CourseGroupMember ? entity : THROW_CCE(), $completion);
  };
  function CourseGroupSetDao() {
  }
  function $upsertAsyncCOROUTINE$196(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.od4_1 = _this__u8e3s4;
    this.pd4_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$196).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.qd4_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.od4_1.sd4_1));
            if (this.pd4_1.v84_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.qd4_1.t68(242, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.rd4_1 = suspendResult;
            this.pd4_1.v84_1 = this.rd4_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.pd4_1.a85_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.od4_1.td4_1.fd4(this.pd4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$197(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cd5_1 = _this__u8e3s4;
    this.dd5_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$197).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.ed5_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.cd5_1.sd4_1));
            if (this.dd5_1.v84_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.ed5_1.t68(242, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.fd5_1 = suspendResult;
            this.dd5_1.v84_1 = this.fd5_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.dd5_1.a85_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.cd5_1.td4_1.insertAsync(this.dd5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.dd5_1.v84_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupSetDao_DoorWrapper(_db, _dao) {
    CourseGroupSetDao.call(this);
    this.sd4_1 = _db;
    this.td4_1 = _dao;
  }
  protoOf(CourseGroupSetDao_DoorWrapper).dd4 = function (clazzUid, searchText, sortOrder) {
    return this.td4_1.dd4(clazzUid, searchText, sortOrder);
  };
  protoOf(CourseGroupSetDao_DoorWrapper).ed4 = function (uid, $completion) {
    return this.td4_1.ed4(uid, $completion);
  };
  protoOf(CourseGroupSetDao_DoorWrapper).o8i = function (uid) {
    return this.td4_1.o8i(uid);
  };
  protoOf(CourseGroupSetDao_DoorWrapper).fd4 = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$196(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_DoorWrapper).gd5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$197(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.gd5(entity instanceof CourseGroupSet ? entity : THROW_CCE(), $completion);
  };
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda$lambda$lambda(_result));
  }
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cgsUid = $_result.d5t('cgsUid');
      var _tmp_cgsName = $_result.rz('cgsName');
      var _tmp_cgsTotalGroups = $_result.c5t('cgsTotalGroups');
      var _tmp_cgsActive = $_result.o6c('cgsActive');
      var _tmp_cgsClazzUid = $_result.d5t('cgsClazzUid');
      var _tmp_cgsLct = $_result.d5t('cgsLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseGroupSet();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.v84_1 = _tmp_cgsUid;
      this_0.w84_1 = _tmp_cgsName;
      this_0.x84_1 = _tmp_cgsTotalGroups;
      this_0.y84_1 = _tmp_cgsActive;
      this_0.z84_1 = _tmp_cgsClazzUid;
      this_0.a85_1 = _tmp_cgsLct;
      return this_0;
    };
  }
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda$lambda$lambda(_result));
  }
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda($clazzUid, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.pd5_1 = $clazzUid;
    this.qd5_1 = $searchText;
    this.rd5_1 = $sortOrder;
    this.sd5_1 = $_limit;
    this.td5_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda).vd5 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda).he = function (p1, $completion) {
    return this.vd5((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ud5_1.a5o(1, this.pd5_1);
            this.ud5_1.d5o(2, this.qd5_1);
            this.ud5_1.d5o(3, this.qd5_1);
            this.ud5_1.z5n(4, this.rd5_1);
            this.ud5_1.z5n(5, this.rd5_1);
            this.ud5_1.z5n(6, this.sd5_1);
            this.ud5_1.z5n(7, this.td5_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ud5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda(this.pd5_1, this.qd5_1, this.rd5_1, this.sd5_1, this.td5_1, completion);
    i.ud5_1 = _stmt;
    return i;
  };
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda_0($clazzUid, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda($clazzUid, $searchText, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vd5(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda($clazzUid, $searchText, $sortOrder, resultContinuation) {
    this.ed6_1 = $clazzUid;
    this.fd6_1 = $searchText;
    this.gd6_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd6_1.a5o(1, this.ed6_1);
            this.hd6_1.d5o(2, this.fd6_1);
            this.hd6_1.d5o(3, this.fd6_1);
            this.hd6_1.z5n(4, this.gd6_1);
            this.hd6_1.z5n(5, this.gd6_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.hd6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda(this.ed6_1, this.fd6_1, this.gd6_1, completion);
    i.hd6_1 = _stmt;
    return i;
  };
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda_0($clazzUid, $searchText, $sortOrder, resultContinuation) {
    var i = new CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda($clazzUid, $searchText, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cgsUid = $_result.d5t('cgsUid');
      var _tmp_cgsName = $_result.rz('cgsName');
      var _tmp_cgsTotalGroups = $_result.c5t('cgsTotalGroups');
      var _tmp_cgsActive = $_result.o6c('cgsActive');
      var _tmp_cgsClazzUid = $_result.d5t('cgsClazzUid');
      var _tmp_cgsLct = $_result.d5t('cgsLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseGroupSet();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseGroupSetDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.v84_1 = _tmp_cgsUid;
      this_0.w84_1 = _tmp_cgsName;
      this_0.x84_1 = _tmp_cgsTotalGroups;
      this_0.y84_1 = _tmp_cgsActive;
      this_0.z84_1 = _tmp_cgsClazzUid;
      this_0.a85_1 = _tmp_cgsLct;
      return this_0;
    };
  }
  function CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cgsUid = $_result.d5t('cgsUid');
      var _tmp_cgsName = $_result.rz('cgsName');
      var _tmp_cgsTotalGroups = $_result.c5t('cgsTotalGroups');
      var _tmp_cgsActive = $_result.o6c('cgsActive');
      var _tmp_cgsClazzUid = $_result.d5t('cgsClazzUid');
      var _tmp_cgsLct = $_result.d5t('cgsLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseGroupSet();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseGroupSetDao_JdbcImpl.findByUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.v84_1 = _tmp_cgsUid;
      this_0.w84_1 = _tmp_cgsName;
      this_0.x84_1 = _tmp_cgsTotalGroups;
      this_0.y84_1 = _tmp_cgsActive;
      this_0.z84_1 = _tmp_cgsClazzUid;
      this_0.a85_1 = _tmp_cgsLct;
      return this_0;
    };
  }
  function CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda($uid, resultContinuation) {
    this.qd6_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda).sd6 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.sd6((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rd6_1.a5o(1, this.qd6_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.rd6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda(this.qd6_1, completion);
    i.rd6_1 = _stmt;
    return i;
  };
  function CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda_0($uid, resultContinuation) {
    var i = new CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.sd6(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.td6_1);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_upsert$1).yd6 = function (stmt, entity) {
    if (entity.v84_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.v84_1);
    }
    stmt.d5o(2, entity.w84_1);
    stmt.z5n(3, entity.x84_1);
    stmt.n5n(4, entity.y84_1);
    stmt.a5o(5, entity.z84_1);
    stmt.a5o(6, entity.a85_1);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_upsert$1).u5l = function (stmt, entity) {
    return this.yd6(stmt, entity instanceof CourseGroupSet ? entity : THROW_CCE());
  };
  function CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.td6_1);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_abort$1).yd6 = function (stmt, entity) {
    if (entity.v84_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.v84_1);
    }
    stmt.d5o(2, entity.w84_1);
    stmt.z5n(3, entity.x84_1);
    stmt.n5n(4, entity.y84_1);
    stmt.a5o(5, entity.z84_1);
    stmt.a5o(6, entity.a85_1);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_abort$1).u5l = function (stmt, entity) {
    return this.yd6(stmt, entity instanceof CourseGroupSet ? entity : THROW_CCE());
  };
  function CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$1(this$0, $clazzUid, $searchText, $sortOrder) {
    this.hd7_1 = this$0;
    this.id7_1 = $clazzUid;
    this.jd7_1 = $searchText;
    this.kd7_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['CourseGroupSet'];
    DoorLimitOffsetPagingSource.call(this, this$0.td6_1, tmp$ret$2);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$1).ld7 = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        SELECT *\n         FROM CourseGroupSet\n        WHERE cgsActive\n          AND cgsClazzUid = CAST(? AS BIGINT)\n          AND ((? = '%') OR (cgsName LIKE ?))\n     ORDER BY CASE(?)\n              WHEN 1 THEN cgsName\n              ELSE ''\n              END ASC,\n              CASE(?)\n              WHEN 2 THEN cgsName\n              ELSE ''\n              END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n        SELECT *\n         FROM CourseGroupSet\n        WHERE cgsActive\n          AND cgsClazzUid = ?\n          AND ((? = '%') OR (cgsName LIKE ?))\n     ORDER BY CASE(?)\n              WHEN 1 THEN cgsName\n              ELSE ''\n              END ASC,\n              CASE(?)\n              WHEN 2 THEN cgsName\n              ELSE ''\n              END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.hd7_1.td6_1, tmp, CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$loadRows$slambda_0(this.id7_1, this.jd7_1, this.kd7_1, _limit, _offset, null), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$1).b5w = function (_limit, _offset, $completion) {
    return this.ld7(_limit, _offset, $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        SELECT *\n         FROM CourseGroupSet\n        WHERE cgsActive\n          AND cgsClazzUid = CAST(? AS BIGINT)\n          AND ((? = '%') OR (cgsName LIKE ?))\n     ORDER BY CASE(?)\n              WHEN 1 THEN cgsName\n              ELSE ''\n              END ASC,\n              CASE(?)\n              WHEN 2 THEN cgsName\n              ELSE ''\n              END DESC\n    ) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n        SELECT *\n         FROM CourseGroupSet\n        WHERE cgsActive\n          AND cgsClazzUid = ?\n          AND ((? = '%') OR (cgsName LIKE ?))\n     ORDER BY CASE(?)\n              WHEN 1 THEN cgsName\n              ELSE ''\n              END ASC,\n              CASE(?)\n              WHEN 2 THEN cgsName\n              ELSE ''\n              END DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.hd7_1.td6_1, tmp, CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$o$countRows$slambda_0(this.id7_1, this.jd7_1, this.kd7_1, null), $completion);
  };
  function CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation) {
    this.ud7_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda).sd6 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.sd6((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.vd7_1.a5o(1, this.ud7_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.vd7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda(this.ud7_1, completion);
    i.vd7_1 = _stmt;
    return i;
  };
  function CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda_0($uid, resultContinuation) {
    var i = new CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.sd6(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.ed8_1 = this$0;
    this.fd8_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda).gd8 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda).r7e = function ($completion) {
    return this.gd8($completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT * \n         FROM CourseGroupSet \n        WHERE cgsUid = CAST(? AS BIGINT)\n        ', VOID, VOID, VOID, '\n        SELECT * \n         FROM CourseGroupSet \n        WHERE cgsUid = ?\n        \n', true);
            suspendResult = prepareAndUseStatementAsync(this.ed8_1.td6_1, tmp_0, CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda$slambda_0(this.fd8_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda).q7e = function (completion) {
    return new CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda(this.ed8_1, this.fd8_1, completion);
  };
  function CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.gd8($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$198(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pd8_1 = _this__u8e3s4;
    this.qd8_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$198).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.pd8_1.vd6_1.b5n(this.qd8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupSetDao_JdbcImpl(_db) {
    CourseGroupSetDao.call(this);
    this.td6_1 = _db;
    var tmp = this;
    tmp.ud6_1 = new CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_upsert$1(this);
    var tmp_0 = this;
    tmp_0.vd6_1 = new CourseGroupSetDao_JdbcImpl$_insertAdapterCourseGroupSet_abort$1(this);
  }
  protoOf(CourseGroupSetDao_JdbcImpl).fd4 = function (entity, $completion) {
    return this.ud6_1.a5n(entity, $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl).gd5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$198(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.gd5(entity instanceof CourseGroupSet ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl).dd4 = function (clazzUid, searchText, sortOrder) {
    return new CourseGroupSetDao_JdbcImpl$findAllCourseGroupSetForClazz$1(this, clazzUid, searchText, sortOrder);
  };
  protoOf(CourseGroupSetDao_JdbcImpl).ed4 = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT * \n         FROM CourseGroupSet \n        WHERE cgsUid = CAST(? AS BIGINT)\n        ', VOID, VOID, VOID, '\n        SELECT * \n         FROM CourseGroupSet \n        WHERE cgsUid = ?\n        \n', true);
    return prepareAndUseStatementAsync(this.td6_1, tmp, CourseGroupSetDao_JdbcImpl$findByUidAsync$slambda_0(uid, null), $completion);
  };
  protoOf(CourseGroupSetDao_JdbcImpl).o8i = function (uid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CourseGroupSet'];
    return doorFlow(this.td6_1, tmp, CourseGroupSetDao_JdbcImpl$findByUidAsFlow$slambda_0(this, uid, null));
  };
  function CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda(this$0, $clazzUid, $searchText, $sortOrder, resultContinuation) {
    this.zd8_1 = this$0;
    this.ad9_1 = $clazzUid;
    this.bd9_1 = $searchText;
    this.cd9_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.fd9_1 = this.zd8_1.od9_1;
            var tmp_1 = this;
            tmp_1.gd9_1 = 'CourseGroupSetDao/findAllCourseGroupSetForClazz';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.hd9_1 = this.zd8_1.qd9_1;
            var tmp_3 = this;
            tmp_3.id9_1 = this.hd9_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.zd8_1.od9_1.a3d(), 'CourseGroupSetDao/findAllCourseGroupSetForClazz');
            doorNodeIdHeader(this_0, this.zd8_1.od9_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.zd8_1.od9_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ad9_1));
            parameter(this_0, 'searchText', this.zd8_1.od9_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.bd9_1));
            parameter(this_0, 'sortOrder', this.zd8_1.od9_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.cd9_1));
            pagingSourceLoadParameters(this_0, this.zd8_1.od9_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.dd9_1);
            tmp_4.jd9_1 = this_0;
            this.jd9_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.kd9_1 = this.id9_1;
            var tmp_6 = this;
            tmp_6.ld9_1 = this.jd9_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.ld9_1, this.kd9_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.md9_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.zd8_1.nd9_1, this.md9_1, this.zd8_1.od9_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.ed9_1 = endOfPaginationReached(this.md9_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda$lambda(this.fd9_1, this.gd9_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.ed9_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda).d8c = function (_pagingParams, completion) {
    var i = new CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda(this.zd8_1, this.ad9_1, this.bd9_1, this.cd9_1, completion);
    i.dd9_1 = _pagingParams;
    return i;
  };
  function CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda_0(this$0, $clazzUid, $searchText, $sortOrder, resultContinuation) {
    var i = new CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda(this$0, $clazzUid, $searchText, $sortOrder, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseGroupSetDao_Repo$findByUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseGroupSetDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation) {
    this.bda_1 = this$0;
    this.cda_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_Repo$upsertAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CourseGroupSetDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.bda_1.pd9_1.fd4(this.cda_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new CourseGroupSetDao_Repo$upsertAsync$slambda(this.bda_1, this.cda_1, completion);
  };
  function CourseGroupSetDao_Repo$upsertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseGroupSetDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseGroupSetDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.lda_1 = this$0;
    this.mda_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseGroupSetDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseGroupSetDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.lda_1.pd9_1.insertAsync(this.mda_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseGroupSetDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseGroupSetDao_Repo$insertAsync$slambda(this.lda_1, this.mda_1, completion);
  };
  function CourseGroupSetDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseGroupSetDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByUidAsyncCOROUTINE$202(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.vda_1 = _this__u8e3s4;
    this.wda_1 = uid;
  }
  protoOf($findByUidAsyncCOROUTINE$202).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.xda_1 = this.vda_1.od9_1;
            var tmp_1 = this;
            tmp_1.yda_1 = 'CourseGroupSetDao/findByUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.zda_1 = this.vda_1.qd9_1;
            var tmp_3 = this;
            tmp_3.adb_1 = this.zda_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.vda_1.od9_1.a3d(), 'CourseGroupSetDao/findByUidAsync');
            doorNodeIdHeader(this_0, this.vda_1.od9_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.vda_1.od9_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.wda_1));
            tmp_4.bdb_1 = this_0;
            this.bdb_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.cdb_1 = this.adb_1;
            var tmp_6 = this;
            tmp_6.ddb_1 = this.bdb_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ddb_1, this.cdb_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.edb_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.vda_1.nd9_1, this.edb_1, this.vda_1.od9_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.fdb_1 = this.kd_1;
              Napier_getInstance().i5k(this.fdb_1, 'DoorLog', CourseGroupSetDao_Repo$findByUidAsync$lambda(this.xda_1, this.yda_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.vda_1.pd9_1.ed4(this.wda_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$203(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.odb_1 = _this__u8e3s4;
    this.pdb_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$203).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.odb_1.od9_1, 'CourseGroupSet', CourseGroupSetDao_Repo$insertAsync$slambda_0(this.odb_1, this.pdb_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupSetDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseGroupSetDao.call(this);
    this.nd9_1 = _db;
    this.od9_1 = _repo;
    this.pd9_1 = _dao;
    this.qd9_1 = _httpClient;
    this.rd9_1 = _clientId;
    this.sd9_1 = _endpoint;
  }
  protoOf(CourseGroupSetDao_Repo).dd4 = function (clazzUid, searchText, sortOrder) {
    var tmp = this.pd9_1.dd4(clazzUid, searchText, sortOrder);
    return new DoorRepositoryReplicatePullPagingSource(this.od9_1, 'CourseGroupSetDao/findAllCourseGroupSetForClazz', tmp, CourseGroupSetDao_Repo$findAllCourseGroupSetForClazz$slambda_0(this, clazzUid, searchText, sortOrder, null));
  };
  protoOf(CourseGroupSetDao_Repo).ed4 = function (uid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$202(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_Repo).o8i = function (uid) {
    var _result = this.pd9_1.o8i(uid);
    return _result;
  };
  protoOf(CourseGroupSetDao_Repo).fd4 = function (entity, $completion) {
    return withRepoChangeMonitorAsync(this.od9_1, 'CourseGroupSet', CourseGroupSetDao_Repo$upsertAsync$slambda_0(this, entity, null), $completion);
  };
  protoOf(CourseGroupSetDao_Repo).gd5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$203(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseGroupSetDao_Repo).insertAsync = function (entity, $completion) {
    return this.gd5(entity instanceof CourseGroupSet ? entity : THROW_CCE(), $completion);
  };
  function CoursePermissionDao() {
  }
  function $upsertAsyncCOROUTINE$204(_this__u8e3s4, coursePermission, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.idc_1 = _this__u8e3s4;
    this.jdc_1 = coursePermission;
  }
  protoOf($upsertAsyncCOROUTINE$204).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.kdc_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.idc_1.mdc_1));
            if (this.jdc_1.odc_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.kdc_1.t68(10012, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ldc_1 = suspendResult;
            this.jdc_1.odc_1 = this.ldc_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.jdc_1.pdc_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.idc_1.ndc_1.sdb(this.jdc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CoursePermissionDao_DoorWrapper(_db, _dao) {
    CoursePermissionDao.call(this);
    this.mdc_1 = _db;
    this.ndc_1 = _dao;
  }
  protoOf(CoursePermissionDao_DoorWrapper).qdb = function (clazzUid, includeDeleted) {
    return this.ndc_1.qdb(clazzUid, includeDeleted);
  };
  protoOf(CoursePermissionDao_DoorWrapper).rdb = function (uid, clazzUid, $completion) {
    return this.ndc_1.rdb(uid, clazzUid, $completion);
  };
  protoOf(CoursePermissionDao_DoorWrapper).k7y = function (uid, clazzUid) {
    return this.ndc_1.k7y(uid, clazzUid);
  };
  protoOf(CoursePermissionDao_DoorWrapper).sdb = function (coursePermission, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$204(this, coursePermission, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_DoorWrapper).tc1 = function (cpUid, isDeleted, updateTime, $completion) {
    return this.ndc_1.tc1(cpUid, isDeleted, updateTime, $completion);
  };
  protoOf(CoursePermissionDao_DoorWrapper).tdb = function (accountPersonUid, clazzEnrolmentUid, $completion) {
    return this.ndc_1.tdb(accountPersonUid, clazzEnrolmentUid, $completion);
  };
  protoOf(CoursePermissionDao_DoorWrapper).udb = function (accountPersonUid, clazzUid, permission) {
    return this.ndc_1.udb(accountPersonUid, clazzUid, permission);
  };
  protoOf(CoursePermissionDao_DoorWrapper).vdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission) {
    return this.ndc_1.vdb(accountPersonUid, clazzUid, firstPermission, secondPermission);
  };
  protoOf(CoursePermissionDao_DoorWrapper).wdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission, $completion) {
    return this.ndc_1.wdb(accountPersonUid, clazzUid, firstPermission, secondPermission, $completion);
  };
  protoOf(CoursePermissionDao_DoorWrapper).xdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission, thirdPermission) {
    return this.ndc_1.xdb(accountPersonUid, clazzUid, firstPermission, secondPermission, thirdPermission);
  };
  protoOf(CoursePermissionDao_DoorWrapper).ydb = function (accountPersonUid, clazzUid, permission, $completion) {
    return this.ndc_1.ydb(accountPersonUid, clazzUid, permission, $completion);
  };
  protoOf(CoursePermissionDao_DoorWrapper).zdb = function (accountPersonUid, assignmentUid, clazzUid, submitterUid) {
    return this.ndc_1.zdb(accountPersonUid, assignmentUid, clazzUid, submitterUid);
  };
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_CoursePermission_nullCount = 0;
      var _tmp_cpUid = $_result.d5t('cpUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_cpLastModified = $_result.d5t('cpLastModified');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_cpClazzUid = $_result.d5t('cpClazzUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_cpToEnrolmentRole = $_result.c5t('cpToEnrolmentRole');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_cpToPersonUid = $_result.d5t('cpToPersonUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_cpToGroupUid = $_result.d5t('cpToGroupUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_cpPermissionsFlag = $_result.d5t('cpPermissionsFlag');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_cpIsDeleted = $_result.o6c('cpIsDeleted');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_CoursePermission_nullCount = _tmp_CoursePermission_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_CoursePermission_isAllNull = _tmp_CoursePermission_nullCount === 8;
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new CoursePermissionAndListDetail();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_CoursePermission_isAllNull) {
        var tmp_37 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new CoursePermission();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.odc_1 = _tmp_cpUid;
        this_1.pdc_1 = _tmp_cpLastModified;
        this_1.qdc_1 = _tmp_cpClazzUid;
        this_1.rdc_1 = _tmp_cpToEnrolmentRole;
        this_1.sdc_1 = _tmp_cpToPersonUid;
        this_1.tdc_1 = _tmp_cpToGroupUid;
        this_1.udc_1 = _tmp_cpPermissionsFlag;
        this_1.vdc_1 = _tmp_cpIsDeleted;
        tmp_37.wdc_1 = this_1;
      }
      if (!_tmp_Person_isAllNull) {
        var tmp_38 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.x9b_1 = _tmp_personUid;
        this_2.y9b_1 = _tmp_username;
        this_2.z9b_1 = _tmp_firstNames;
        this_2.a9c_1 = _tmp_lastName;
        this_2.b9c_1 = _tmp_emailAddr;
        this_2.c9c_1 = _tmp_phoneNum;
        this_2.d9c_1 = _tmp_gender;
        this_2.e9c_1 = _tmp_active;
        this_2.f9c_1 = _tmp_dateOfBirth;
        this_2.g9c_1 = _tmp_personAddress;
        this_2.h9c_1 = _tmp_personOrgId;
        this_2.i9c_1 = _tmp_personGroupUid;
        this_2.j9c_1 = _tmp_personLct;
        this_2.k9c_1 = _tmp_personCountry;
        this_2.l9c_1 = _tmp_personType;
        this_2.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_2.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_2.o9c_1 = _tmp_personLastChangedBy;
        this_2.p9c_1 = _tmp_admin;
        this_2.q9c_1 = _tmp_personNotes;
        this_2.r9c_1 = _tmp_fatherName;
        this_2.s9c_1 = _tmp_fatherNumber;
        this_2.t9c_1 = _tmp_motherName;
        this_2.u9c_1 = _tmp_motherNum;
        tmp_38.xdc_1 = this_2;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_39 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.v9c_1 = _tmp_personPictureUid;
        this_3.w9c_1 = _tmp_personPictureLct;
        this_3.x9c_1 = _tmp_personPictureUri;
        this_3.y9c_1 = _tmp_personPictureThumbnailUri;
        this_3.z9c_1 = _tmp_fileSize;
        this_3.a9d_1 = _tmp_personPictureActive;
        tmp_39.ydc_1 = this_3;
      }
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda($clazzUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    this.hdd_1 = $clazzUid;
    this.idd_1 = $includeDeleted;
    this.jdd_1 = $_limit;
    this.kdd_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda).mdd = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda).he = function (p1, $completion) {
    return this.mdd((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ldd_1.a5o(1, this.hdd_1);
            this.ldd_1.n5n(2, this.idd_1);
            this.ldd_1.z5n(3, this.jdd_1);
            this.ldd_1.z5n(4, this.kdd_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ldd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda(this.hdd_1, this.idd_1, this.jdd_1, this.kdd_1, completion);
    i.ldd_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda_0($clazzUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda($clazzUid, $includeDeleted, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.mdd(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda($clazzUid, $includeDeleted, resultContinuation) {
    this.vdd_1 = $clazzUid;
    this.wdd_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.xdd_1.a5o(1, this.vdd_1);
            this.xdd_1.n5n(2, this.wdd_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.xdd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda(this.vdd_1, this.wdd_1, completion);
    i.xdd_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda_0($clazzUid, $includeDeleted, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda($clazzUid, $includeDeleted, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda$lambda(_result) {
    return mapNextRow(_result, null, CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cpUid = $_result.d5t('cpUid');
      var _tmp_cpLastModified = $_result.d5t('cpLastModified');
      var _tmp_cpClazzUid = $_result.d5t('cpClazzUid');
      var _tmp_cpToEnrolmentRole = $_result.c5t('cpToEnrolmentRole');
      var _tmp_cpToPersonUid = $_result.d5t('cpToPersonUid');
      var _tmp_cpToGroupUid = $_result.d5t('cpToGroupUid');
      var _tmp_cpPermissionsFlag = $_result.d5t('cpPermissionsFlag');
      var _tmp_cpIsDeleted = $_result.o6c('cpIsDeleted');
      // Inline function 'kotlin.apply' call
      var this_0 = new CoursePermission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CoursePermissionDao_JdbcImpl.findByUidAndClazzUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.odc_1 = _tmp_cpUid;
      this_0.pdc_1 = _tmp_cpLastModified;
      this_0.qdc_1 = _tmp_cpClazzUid;
      this_0.rdc_1 = _tmp_cpToEnrolmentRole;
      this_0.sdc_1 = _tmp_cpToPersonUid;
      this_0.tdc_1 = _tmp_cpToGroupUid;
      this_0.udc_1 = _tmp_cpPermissionsFlag;
      this_0.vdc_1 = _tmp_cpIsDeleted;
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_cpUid = $_result.d5t('cpUid');
      var _tmp_cpLastModified = $_result.d5t('cpLastModified');
      var _tmp_cpClazzUid = $_result.d5t('cpClazzUid');
      var _tmp_cpToEnrolmentRole = $_result.c5t('cpToEnrolmentRole');
      var _tmp_cpToPersonUid = $_result.d5t('cpToPersonUid');
      var _tmp_cpToGroupUid = $_result.d5t('cpToGroupUid');
      var _tmp_cpPermissionsFlag = $_result.d5t('cpPermissionsFlag');
      var _tmp_cpIsDeleted = $_result.o6c('cpIsDeleted');
      // Inline function 'kotlin.apply' call
      var this_0 = new CoursePermission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CoursePermissionDao_JdbcImpl.findByUidAndClazzUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.odc_1 = _tmp_cpUid;
      this_0.pdc_1 = _tmp_cpLastModified;
      this_0.qdc_1 = _tmp_cpClazzUid;
      this_0.rdc_1 = _tmp_cpToEnrolmentRole;
      this_0.sdc_1 = _tmp_cpToPersonUid;
      this_0.tdc_1 = _tmp_cpToGroupUid;
      this_0.udc_1 = _tmp_cpPermissionsFlag;
      this_0.vdc_1 = _tmp_cpIsDeleted;
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda($uid, $clazzUid, resultContinuation) {
    this.gde_1 = $uid;
    this.hde_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).jde = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.jde((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ide_1.a5o(1, this.gde_1);
            this.ide_1.a5o(2, this.hde_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ide_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda(this.gde_1, this.hde_1, completion);
    i.ide_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda_0($uid, $clazzUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda($uid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.jde(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda$lambda(_result) {
    return mapNextRow(_result, false, CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, false, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda($clazzUid, $accountPersonUid, $permission, resultContinuation) {
    this.sde_1 = $clazzUid;
    this.tde_1 = $accountPersonUid;
    this.ude_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.vde_1.a5o(1, this.sde_1);
            this.vde_1.a5o(2, this.tde_1);
            this.vde_1.a5o(3, this.sde_1);
            this.vde_1.a5o(4, this.tde_1);
            this.vde_1.a5o(5, this.tde_1);
            this.vde_1.a5o(6, this.sde_1);
            this.vde_1.a5o(7, this.tde_1);
            this.vde_1.a5o(8, this.ude_1);
            this.vde_1.a5o(9, this.tde_1);
            this.vde_1.a5o(10, this.ude_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.vde_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda(this.sde_1, this.tde_1, this.ude_1, completion);
    i.vde_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda_0($clazzUid, $accountPersonUid, $permission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda($clazzUid, $accountPersonUid, $permission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow_0(_result, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstPermission = $_result.o6c('firstPermission');
      var _tmp_secondPermission = $_result.o6c('secondPermission');
      // Inline function 'kotlin.apply' call
      var this_0 = new PermissionPair();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CoursePermissionDao_JdbcImpl.personHasPermissionWithClazzPairAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.wde_1 = _tmp_firstPermission;
      this_0.xde_1 = _tmp_secondPermission;
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.gdf_1 = $clazzUid;
    this.hdf_1 = $accountPersonUid;
    this.idf_1 = $firstPermission;
    this.jdf_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda).ldf = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ldf((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.kdf_1.a5o(1, this.gdf_1);
            this.kdf_1.a5o(2, this.hdf_1);
            this.kdf_1.a5o(3, this.gdf_1);
            this.kdf_1.a5o(4, this.hdf_1);
            this.kdf_1.a5o(5, this.hdf_1);
            this.kdf_1.a5o(6, this.gdf_1);
            this.kdf_1.a5o(7, this.hdf_1);
            this.kdf_1.a5o(8, this.idf_1);
            this.kdf_1.a5o(9, this.hdf_1);
            this.kdf_1.a5o(10, this.idf_1);
            this.kdf_1.a5o(11, this.gdf_1);
            this.kdf_1.a5o(12, this.hdf_1);
            this.kdf_1.a5o(13, this.gdf_1);
            this.kdf_1.a5o(14, this.hdf_1);
            this.kdf_1.a5o(15, this.hdf_1);
            this.kdf_1.a5o(16, this.gdf_1);
            this.kdf_1.a5o(17, this.hdf_1);
            this.kdf_1.a5o(18, this.jdf_1);
            this.kdf_1.a5o(19, this.hdf_1);
            this.kdf_1.a5o(20, this.jdf_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.kdf_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda(this.gdf_1, this.hdf_1, this.idf_1, this.jdf_1, completion);
    i.kdf_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda_0($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ldf(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda$lambda(_result) {
    return mapNextRow_0(_result, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstPermission = $_result.o6c('firstPermission');
      var _tmp_secondPermission = $_result.o6c('secondPermission');
      // Inline function 'kotlin.apply' call
      var this_0 = new PermissionPair();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CoursePermissionDao_JdbcImpl.personHasPermissionWithClazzPairAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.wde_1 = _tmp_firstPermission;
      this_0.xde_1 = _tmp_secondPermission;
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow_0(_result, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstPermission = $_result.o6c('firstPermission');
      var _tmp_secondPermission = $_result.o6c('secondPermission');
      var _tmp_thirdPermission = $_result.o6c('thirdPermission');
      // Inline function 'kotlin.apply' call
      var this_0 = new PermissionTriple();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CoursePermissionDao_JdbcImpl.personHasPermissionWithClazzTripleAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.mdf_1 = _tmp_firstPermission;
      this_0.ndf_1 = _tmp_secondPermission;
      this_0.odf_1 = _tmp_thirdPermission;
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation) {
    this.xdf_1 = $clazzUid;
    this.ydf_1 = $accountPersonUid;
    this.zdf_1 = $firstPermission;
    this.adg_1 = $secondPermission;
    this.bdg_1 = $thirdPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda).ddg = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ddg((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.cdg_1.a5o(1, this.xdf_1);
            this.cdg_1.a5o(2, this.ydf_1);
            this.cdg_1.a5o(3, this.xdf_1);
            this.cdg_1.a5o(4, this.ydf_1);
            this.cdg_1.a5o(5, this.ydf_1);
            this.cdg_1.a5o(6, this.xdf_1);
            this.cdg_1.a5o(7, this.ydf_1);
            this.cdg_1.a5o(8, this.zdf_1);
            this.cdg_1.a5o(9, this.ydf_1);
            this.cdg_1.a5o(10, this.zdf_1);
            this.cdg_1.a5o(11, this.xdf_1);
            this.cdg_1.a5o(12, this.ydf_1);
            this.cdg_1.a5o(13, this.xdf_1);
            this.cdg_1.a5o(14, this.ydf_1);
            this.cdg_1.a5o(15, this.ydf_1);
            this.cdg_1.a5o(16, this.xdf_1);
            this.cdg_1.a5o(17, this.ydf_1);
            this.cdg_1.a5o(18, this.adg_1);
            this.cdg_1.a5o(19, this.ydf_1);
            this.cdg_1.a5o(20, this.adg_1);
            this.cdg_1.a5o(21, this.xdf_1);
            this.cdg_1.a5o(22, this.ydf_1);
            this.cdg_1.a5o(23, this.xdf_1);
            this.cdg_1.a5o(24, this.ydf_1);
            this.cdg_1.a5o(25, this.ydf_1);
            this.cdg_1.a5o(26, this.xdf_1);
            this.cdg_1.a5o(27, this.ydf_1);
            this.cdg_1.a5o(28, this.bdg_1);
            this.cdg_1.a5o(29, this.ydf_1);
            this.cdg_1.a5o(30, this.bdg_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.cdg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda(this.xdf_1, this.ydf_1, this.zdf_1, this.adg_1, this.bdg_1, completion);
    i.cdg_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda_0($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ddg(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda$lambda(_result) {
    return mapNextRow(_result, false, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda$lambda(_result) {
    return mapNextRow_0(_result, CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda$lambda$lambda(_result));
  }
  function CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_canMark = $_result.o6c('canMark');
      var _tmp_canView = $_result.o6c('canView');
      var _tmp_canModerate = $_result.o6c('canModerate');
      var _tmp_activeUserSubmitterUid = $_result.d5t('activeUserSubmitterUid');
      // Inline function 'kotlin.apply' call
      var this_0 = new AssignmentPermissionAndActiveUserSubmitterUid();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CoursePermissionDao_JdbcImpl.userPermissionsForAssignmentSubmitterUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.edg_1 = _tmp_canMark;
      this_0.fdg_1 = _tmp_canView;
      this_0.gdg_1 = _tmp_canModerate;
      this_0.hdg_1 = _tmp_activeUserSubmitterUid;
      return this_0;
    };
  }
  function CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda($assignmentUid, $accountPersonUid, $submitterUid, $clazzUid, resultContinuation) {
    this.qdg_1 = $assignmentUid;
    this.rdg_1 = $accountPersonUid;
    this.sdg_1 = $submitterUid;
    this.tdg_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda).vdg = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda).he = function (p1, $completion) {
    return this.vdg((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.udg_1.a5o(1, this.qdg_1);
            this.udg_1.a5o(2, this.rdg_1);
            this.udg_1.a5o(3, this.qdg_1);
            this.udg_1.a5o(4, this.qdg_1);
            this.udg_1.a5o(5, this.rdg_1);
            this.udg_1.a5o(6, this.qdg_1);
            this.udg_1.a5o(7, this.rdg_1);
            this.udg_1.a5o(8, this.qdg_1);
            this.udg_1.a5o(9, this.qdg_1);
            this.udg_1.a5o(10, this.rdg_1);
            this.udg_1.a5o(11, this.qdg_1);
            this.udg_1.a5o(12, this.sdg_1);
            this.udg_1.a5o(13, this.tdg_1);
            this.udg_1.a5o(14, this.rdg_1);
            this.udg_1.a5o(15, this.rdg_1);
            this.udg_1.a5o(16, this.tdg_1);
            this.udg_1.a5o(17, this.rdg_1);
            this.udg_1.a5o(18, this.rdg_1);
            this.udg_1.a5o(19, this.rdg_1);
            this.udg_1.a5o(20, this.qdg_1);
            this.udg_1.a5o(21, this.tdg_1);
            this.udg_1.a5o(22, this.sdg_1);
            this.udg_1.a5o(23, this.rdg_1);
            this.udg_1.a5o(24, this.qdg_1);
            this.udg_1.a5o(25, this.tdg_1);
            this.udg_1.a5o(26, this.sdg_1);
            this.udg_1.a5o(27, this.sdg_1);
            this.udg_1.a5o(28, this.tdg_1);
            this.udg_1.a5o(29, this.rdg_1);
            this.udg_1.a5o(30, this.rdg_1);
            this.udg_1.a5o(31, this.tdg_1);
            this.udg_1.a5o(32, this.rdg_1);
            this.udg_1.a5o(33, this.rdg_1);
            this.udg_1.a5o(34, this.tdg_1);
            this.udg_1.a5o(35, this.rdg_1);
            this.udg_1.a5o(36, this.rdg_1);
            this.udg_1.a5o(37, this.tdg_1);
            this.udg_1.a5o(38, this.rdg_1);
            this.udg_1.a5o(39, this.rdg_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.udg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda(this.qdg_1, this.rdg_1, this.sdg_1, this.tdg_1, completion);
    i.udg_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda_0($assignmentUid, $accountPersonUid, $submitterUid, $clazzUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda($assignmentUid, $accountPersonUid, $submitterUid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vdg(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$_insertAdapterCoursePermission_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.wdg_1);
  }
  protoOf(CoursePermissionDao_JdbcImpl$_insertAdapterCoursePermission_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CoursePermission (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(CoursePermissionDao_JdbcImpl$_insertAdapterCoursePermission_upsert$1).adh = function (stmt, entity) {
    if (entity.odc_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.odc_1);
    }
    stmt.a5o(2, entity.pdc_1);
    stmt.a5o(3, entity.qdc_1);
    stmt.z5n(4, entity.rdc_1);
    stmt.a5o(5, entity.sdc_1);
    stmt.a5o(6, entity.tdc_1);
    stmt.a5o(7, entity.udc_1);
    stmt.n5n(8, entity.vdc_1);
  };
  protoOf(CoursePermissionDao_JdbcImpl$_insertAdapterCoursePermission_upsert$1).u5l = function (stmt, entity) {
    return this.adh(stmt, entity instanceof CoursePermission ? entity : THROW_CCE());
  };
  function CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$1(this$0, $clazzUid, $includeDeleted) {
    this.hdh_1 = this$0;
    this.idh_1 = $clazzUid;
    this.jdh_1 = $includeDeleted;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Person', 'PersonPicture', 'CoursePermission'];
    DoorLimitOffsetPagingSource.call(this, this$0.wdg_1, tmp$ret$2);
  }
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$1).kdh = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT CoursePermission.*, Person.*, PersonPicture.*\n          FROM CoursePermission\n               LEFT JOIN Person\n                         ON Person.personUid = CoursePermission.cpToPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid\n         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) \n           AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT CoursePermission.*, Person.*, PersonPicture.*\n          FROM CoursePermission\n               LEFT JOIN Person\n                         ON Person.personUid = CoursePermission.cpToPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid\n         WHERE CoursePermission.cpClazzUid = ? \n           AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.hdh_1.wdg_1, tmp, CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$loadRows$slambda_0(this.idh_1, this.jdh_1, _limit, _offset, null), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$1).b5w = function (_limit, _offset, $completion) {
    return this.kdh(_limit, _offset, $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT CoursePermission.*, Person.*, PersonPicture.*\n          FROM CoursePermission\n               LEFT JOIN Person\n                         ON Person.personUid = CoursePermission.cpToPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid\n         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) \n           AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT CoursePermission.*, Person.*, PersonPicture.*\n          FROM CoursePermission\n               LEFT JOIN Person\n                         ON Person.personUid = CoursePermission.cpToPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = Person.personUid\n         WHERE CoursePermission.cpClazzUid = ? \n           AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.hdh_1.wdg_1, tmp, CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$o$countRows$slambda_0(this.idh_1, this.jdh_1, null), $completion);
  };
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda($uid, $clazzUid, resultContinuation) {
    this.tdh_1 = $uid;
    this.udh_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda).jde = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda).he = function (p1, $completion) {
    return this.jde((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.vdh_1.a5o(1, this.tdh_1);
            this.vdh_1.a5o(2, this.udh_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.vdh_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda(this.tdh_1, this.udh_1, completion);
    i.vdh_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda_0($uid, $clazzUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda($uid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.jde(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation) {
    this.edi_1 = this$0;
    this.fdi_1 = $uid;
    this.gdi_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).hdi = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.hdi($completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT CoursePermission.*\n          FROM CoursePermission\n         WHERE CoursePermission.cpUid = CAST(? AS BIGINT)\n           AND CoursePermission.cpClazzUid = CAST(? AS BIGINT) \n    ', VOID, VOID, VOID, '\n        SELECT CoursePermission.*\n          FROM CoursePermission\n         WHERE CoursePermission.cpUid = ?\n           AND CoursePermission.cpClazzUid = ? \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.edi_1.wdg_1, tmp_0, CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda$slambda_0(this.fdi_1, this.gdi_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda).q7e = function (completion) {
    return new CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda(this.edi_1, this.fdi_1, this.gdi_1, completion);
  };
  function CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda_0(this$0, $uid, $clazzUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.hdi($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$setDeleted$slambda($isDeleted, $updateTime, $cpUid, resultContinuation) {
    this.qdi_1 = $isDeleted;
    this.rdi_1 = $updateTime;
    this.sdi_1 = $cpUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$setDeleted$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$setDeleted$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$setDeleted$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.tdi_1.n5n(1, this.qdi_1);
            this.tdi_1.a5o(2, this.rdi_1);
            this.tdi_1.a5o(3, this.sdi_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.tdi_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$setDeleted$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$setDeleted$slambda(this.qdi_1, this.rdi_1, this.sdi_1, completion);
    i.tdi_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$setDeleted$slambda_0($isDeleted, $updateTime, $cpUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$setDeleted$slambda($isDeleted, $updateTime, $cpUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda($clazzEnrolmentUid, $accountPersonUid, resultContinuation) {
    this.cdj_1 = $clazzEnrolmentUid;
    this.ddj_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.edj_1.a5o(1, this.cdj_1);
            this.edj_1.a5o(2, this.ddj_1);
            this.edj_1.a5o(3, this.ddj_1);
            this.edj_1.a5o(4, this.cdj_1);
            this.edj_1.a5o(5, this.ddj_1);
            this.edj_1.a5o(6, this.ddj_1);
            this.edj_1.a5o(7, this.cdj_1);
            this.edj_1.a5o(8, this.ddj_1);
            this.edj_1.a5o(9, this.cdj_1);
            this.edj_1.a5o(10, this.ddj_1);
            this.edj_1.a5o(11, this.cdj_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.edj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda(this.cdj_1, this.ddj_1, completion);
    i.edj_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda_0($clazzEnrolmentUid, $accountPersonUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda($clazzEnrolmentUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda(this$0, $clazzUid, $accountPersonUid, $permission, resultContinuation) {
    this.ndj_1 = this$0;
    this.odj_1 = $clazzUid;
    this.pdj_1 = $accountPersonUid;
    this.qdj_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda).ta0 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda).r7e = function ($completion) {
    return this.ta0($completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n          AND  (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n         \n        ) > 0)\n               )\n    \n    )            \n    ', VOID, VOID, VOID, '\n        SELECT (? != 0 AND ? != 0)\n          AND  (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n         \n        ) > 0)\n               )\n    \n    )            \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.ndj_1.wdg_1, tmp_0, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda$slambda_0(this.odj_1, this.pdj_1, this.qdj_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda).q7e = function (completion) {
    return new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda(this.ndj_1, this.odj_1, this.pdj_1, this.qdj_1, completion);
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda_0(this$0, $clazzUid, $accountPersonUid, $permission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda(this$0, $clazzUid, $accountPersonUid, $permission, resultContinuation);
    var l = function ($completion) {
      return i.ta0($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.zdj_1 = this$0;
    this.adk_1 = $clazzUid;
    this.bdk_1 = $accountPersonUid;
    this.cdk_1 = $firstPermission;
    this.ddk_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda).edk = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda).r7e = function ($completion) {
    return this.edk($completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS firstPermission,\n               (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS secondPermission\n    ', VOID, VOID, VOID, '\n        SELECT (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS firstPermission,\n               (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS secondPermission\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.zdj_1.wdg_1, tmp_0, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda$slambda_0(this.adk_1, this.bdk_1, this.cdk_1, this.ddk_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda).q7e = function (completion) {
    return new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda(this.zdj_1, this.adk_1, this.bdk_1, this.cdk_1, this.ddk_1, completion);
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda_0(this$0, $clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function ($completion) {
      return i.edk($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.ndk_1 = $clazzUid;
    this.odk_1 = $accountPersonUid;
    this.pdk_1 = $firstPermission;
    this.qdk_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda).ldf = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda).he = function (p1, $completion) {
    return this.ldf((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rdk_1.a5o(1, this.ndk_1);
            this.rdk_1.a5o(2, this.odk_1);
            this.rdk_1.a5o(3, this.ndk_1);
            this.rdk_1.a5o(4, this.odk_1);
            this.rdk_1.a5o(5, this.odk_1);
            this.rdk_1.a5o(6, this.ndk_1);
            this.rdk_1.a5o(7, this.odk_1);
            this.rdk_1.a5o(8, this.pdk_1);
            this.rdk_1.a5o(9, this.odk_1);
            this.rdk_1.a5o(10, this.pdk_1);
            this.rdk_1.a5o(11, this.ndk_1);
            this.rdk_1.a5o(12, this.odk_1);
            this.rdk_1.a5o(13, this.ndk_1);
            this.rdk_1.a5o(14, this.odk_1);
            this.rdk_1.a5o(15, this.odk_1);
            this.rdk_1.a5o(16, this.ndk_1);
            this.rdk_1.a5o(17, this.odk_1);
            this.rdk_1.a5o(18, this.qdk_1);
            this.rdk_1.a5o(19, this.odk_1);
            this.rdk_1.a5o(20, this.qdk_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.rdk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda(this.ndk_1, this.odk_1, this.pdk_1, this.qdk_1, completion);
    i.rdk_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda_0($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda($clazzUid, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ldf(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation) {
    this.adl_1 = this$0;
    this.bdl_1 = $clazzUid;
    this.cdl_1 = $accountPersonUid;
    this.ddl_1 = $firstPermission;
    this.edl_1 = $secondPermission;
    this.fdl_1 = $thirdPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda).gdl = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda).r7e = function ($completion) {
    return this.gdl($completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS firstPermission,\n               (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS secondPermission,\n               (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS thirdPermission\n    ', VOID, VOID, VOID, '\n        SELECT (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS firstPermission,\n               (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS secondPermission,\n               (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS thirdPermission\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.adl_1.wdg_1, tmp_0, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda$slambda_0(this.bdl_1, this.cdl_1, this.ddl_1, this.edl_1, this.fdl_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda).q7e = function (completion) {
    return new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda(this.adl_1, this.bdl_1, this.cdl_1, this.ddl_1, this.edl_1, this.fdl_1, completion);
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda_0(this$0, $clazzUid, $accountPersonUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda(this$0, $clazzUid, $accountPersonUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation);
    var l = function ($completion) {
      return i.gdl($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda($clazzUid, $accountPersonUid, $permission, resultContinuation) {
    this.pdl_1 = $clazzUid;
    this.qdl_1 = $accountPersonUid;
    this.rdl_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.sdl_1.a5o(1, this.pdl_1);
            this.sdl_1.a5o(2, this.qdl_1);
            this.sdl_1.a5o(3, this.pdl_1);
            this.sdl_1.a5o(4, this.qdl_1);
            this.sdl_1.a5o(5, this.qdl_1);
            this.sdl_1.a5o(6, this.pdl_1);
            this.sdl_1.a5o(7, this.qdl_1);
            this.sdl_1.a5o(8, this.rdl_1);
            this.sdl_1.a5o(9, this.qdl_1);
            this.sdl_1.a5o(10, this.rdl_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.sdl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda(this.pdl_1, this.qdl_1, this.rdl_1, completion);
    i.sdl_1 = _stmt;
    return i;
  };
  function CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda_0($clazzUid, $accountPersonUid, $permission, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda($clazzUid, $accountPersonUid, $permission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda(this$0, $assignmentUid, $accountPersonUid, $submitterUid, $clazzUid, resultContinuation) {
    this.bdm_1 = this$0;
    this.cdm_1 = $assignmentUid;
    this.ddm_1 = $accountPersonUid;
    this.edm_1 = $submitterUid;
    this.fdm_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda).gdm = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda).r7e = function ($completion) {
    return this.gdm($completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        WITH \n        AccountSubmitterUid(accountSubmitterUid) AS \n        (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = CAST(? AS BIGINT)) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = CAST(? AS BIGINT))\n                              AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)\n                            LIMIT 1), -1)\n                    END\n    )\n    ,\n             CanMarkSubmitter(canMark) AS\n             (SELECT CASE (SELECT ClazzAssignment.caMarkingType\n                             FROM ClazzAssignment\n                            WHERE ClazzAssignment.caUid = CAST(? AS BIGINT))\n                           WHEN 2 THEN \n                                EXISTS(SELECT 1\n                                         FROM PeerReviewerAllocation\n                                        WHERE PeerReviewerAllocation.praToMarkerSubmitterUid = CAST(? AS BIGINT)\n                                          AND PeerReviewerAllocation.praMarkerSubmitterUid =\n                                              (SELECT AccountSubmitterUid.accountSubmitterUid\n                                                 FROM AccountSubmitterUid))\n                           ELSE ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         256\n                                 \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     256\n                                 \n        ) > 0)\n               )\n    )\n                          END)\n\n             \n                    /* Can edit */\n             SELECT (     (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                      AND (SELECT CanMarkSubmitter.canMark \n                            FROM CanMarkSubmitter)) AS canMark,\n                    /* can view */   \n                    (     (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                      AND (     (SELECT CanMarkSubmitter.canMark\n                                   FROM CanMarkSubmitter)\n                             OR (SELECT CAST(? AS BIGINT) = \n                                  (SELECT AccountSubmitterUid.accountSubmitterUid\n                                     FROM AccountSubmitterUid))\n                             OR ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                                 \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                                 \n        ) > 0)\n               )\n    ))               \n                    ) AS canView,\n                    ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         4\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     4\n                     \n        ) > 0)\n               )\n    \n                    ) AS canModerate,\n                    (SELECT accountSubmitterUid\n                       FROM AccountSubmitterUid) AS activeUserSubmitterUid\n             \n    ', VOID, VOID, VOID, '\n        WITH \n        AccountSubmitterUid(accountSubmitterUid) AS \n        (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = ?) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = ?)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = ?)\n                              AND CourseGroupMember.cgmPersonUid = ?\n                            LIMIT 1), -1)\n                    END\n    )\n    ,\n             CanMarkSubmitter(canMark) AS\n             (SELECT CASE (SELECT ClazzAssignment.caMarkingType\n                             FROM ClazzAssignment\n                            WHERE ClazzAssignment.caUid = ?)\n                           WHEN 2 THEN \n                                EXISTS(SELECT 1\n                                         FROM PeerReviewerAllocation\n                                        WHERE PeerReviewerAllocation.praToMarkerSubmitterUid = ?\n                                          AND PeerReviewerAllocation.praMarkerSubmitterUid =\n                                              (SELECT AccountSubmitterUid.accountSubmitterUid\n                                                 FROM AccountSubmitterUid))\n                           ELSE ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         256\n                                 \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     256\n                                 \n        ) > 0)\n               )\n    )\n                          END)\n\n             \n                    /* Can edit */\n             SELECT (     (? != 0 AND ? != 0 AND ? != 0 AND ? != 0)\n                      AND (SELECT CanMarkSubmitter.canMark \n                            FROM CanMarkSubmitter)) AS canMark,\n                    /* can view */   \n                    (     (? != 0 AND ? != 0 AND ? != 0 AND ? != 0)\n                      AND (     (SELECT CanMarkSubmitter.canMark\n                                   FROM CanMarkSubmitter)\n                             OR (SELECT ? = \n                                  (SELECT AccountSubmitterUid.accountSubmitterUid\n                                     FROM AccountSubmitterUid))\n                             OR ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                                 \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                                 \n        ) > 0)\n               )\n    ))               \n                    ) AS canView,\n                    ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         4\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     4\n                     \n        ) > 0)\n               )\n    \n                    ) AS canModerate,\n                    (SELECT accountSubmitterUid\n                       FROM AccountSubmitterUid) AS activeUserSubmitterUid\n             \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.bdm_1.wdg_1, tmp_0, CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda$slambda_0(this.cdm_1, this.ddm_1, this.edm_1, this.fdm_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda).q7e = function (completion) {
    return new CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda(this.bdm_1, this.cdm_1, this.ddm_1, this.edm_1, this.fdm_1, completion);
  };
  function CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda_0(this$0, $assignmentUid, $accountPersonUid, $submitterUid, $clazzUid, resultContinuation) {
    var i = new CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda(this$0, $assignmentUid, $accountPersonUid, $submitterUid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.gdm($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $setDeletedCOROUTINE$205(_this__u8e3s4, cpUid, isDeleted, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pdm_1 = _this__u8e3s4;
    this.qdm_1 = cpUid;
    this.rdm_1 = isDeleted;
    this.sdm_1 = updateTime;
  }
  protoOf($setDeletedCOROUTINE$205).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE CoursePermission\n           SET cpIsDeleted = ?,\n               cpLastModified = CAST(? AS BIGINT)\n         WHERE cpUid = CAST(? AS BIGINT)  \n    ', VOID, VOID, VOID, '\n        UPDATE CoursePermission\n           SET cpIsDeleted = ?,\n               cpLastModified = ?\n         WHERE cpUid = ?  \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.pdm_1.wdg_1, tmp_0, CoursePermissionDao_JdbcImpl$setDeleted$slambda_0(this.rdm_1, this.sdm_1, this.qdm_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CoursePermissionDao_JdbcImpl(_db) {
    CoursePermissionDao.call(this);
    this.wdg_1 = _db;
    var tmp = this;
    tmp.xdg_1 = new CoursePermissionDao_JdbcImpl$_insertAdapterCoursePermission_upsert$1(this);
  }
  protoOf(CoursePermissionDao_JdbcImpl).sdb = function (coursePermission, $completion) {
    return this.xdg_1.a5n(coursePermission, $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl).qdb = function (clazzUid, includeDeleted) {
    return new CoursePermissionDao_JdbcImpl$findByClazzUidAsPagingSource$1(this, clazzUid, includeDeleted);
  };
  protoOf(CoursePermissionDao_JdbcImpl).rdb = function (uid, clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT CoursePermission.*\n          FROM CoursePermission\n         WHERE CoursePermission.cpUid = CAST(? AS BIGINT)\n           AND CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT CoursePermission.*\n          FROM CoursePermission\n         WHERE CoursePermission.cpUid = ?\n           AND CoursePermission.cpClazzUid = ?\n    \n', true);
    return prepareAndUseStatementAsync(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$findByUidAndClazzUid$slambda_0(uid, clazzUid, null), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl).k7y = function (uid, clazzUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['CoursePermission'];
    return doorFlow(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$findByUidAndClazzUidAsFlow$slambda_0(this, uid, clazzUid, null));
  };
  protoOf(CoursePermissionDao_JdbcImpl).tc1 = function (cpUid, isDeleted, updateTime, $completion) {
    var tmp = new $setDeletedCOROUTINE$205(this, cpUid, isDeleted, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_JdbcImpl).tdb = function (accountPersonUid, clazzEnrolmentUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT CASE CAST(? AS BIGINT) \n                WHEN 0 THEN (SELECT EXISTS(\n                         SELECT 1\n                           FROM SystemPermission\n                          WHERE CAST(? AS BIGINT) != 0 \n                            AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                            AND (SystemPermission.spPermissionsFlag & 2048) > 0\n                            AND NOT SystemPermission.spIsDeleted))\n                ELSE (\n                  SELECT (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = (\n        SELECT COALESCE(\n               (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid\n                 WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = CAST(? AS BIGINT)), 0)\n    )), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = (\n        SELECT COALESCE(\n               (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid\n                 WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = CAST(? AS BIGINT)), 0)\n    )\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                         (\n        CASE (\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = CAST(? AS BIGINT)         \n    )\n             WHEN 1000 THEN 8\n             ELSE 8\n        END     \n    )\n                         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     \n                         (\n        CASE (\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = CAST(? AS BIGINT)         \n    )\n             WHEN 1000 THEN 8\n             ELSE 8\n        END     \n    )\n                         \n        ) > 0)\n               )\n     \n                )\n               END \n    ', VOID, VOID, VOID, '\n        SELECT CASE ? \n                WHEN 0 THEN (SELECT EXISTS(\n                         SELECT 1\n                           FROM SystemPermission\n                          WHERE ? != 0 \n                            AND SystemPermission.spToPersonUid = ?\n                            AND (SystemPermission.spPermissionsFlag & 2048) > 0\n                            AND NOT SystemPermission.spIsDeleted))\n                ELSE (\n                  SELECT (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = (\n        SELECT COALESCE(\n               (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid\n                 WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = ?), 0)\n    )), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = (\n        SELECT COALESCE(\n               (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid\n                  FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid\n                 WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = ?), 0)\n    )\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         \n                         (\n        CASE (\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = ?         \n    )\n             WHEN 1000 THEN 8\n             ELSE 8\n        END     \n    )\n                         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     \n                         (\n        CASE (\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = ?         \n    )\n             WHEN 1000 THEN 8\n             ELSE 8\n        END     \n    )\n                         \n        ) > 0)\n               )\n     \n                )\n               END \n    \n', true);
    return prepareAndUseStatementAsync(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$userHasEnrolmentEditPermission$slambda_0(clazzEnrolmentUid, accountPersonUid, null), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl).udb = function (accountPersonUid, clazzUid, permission) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz', 'CoursePermission', 'ClazzEnrolment'];
    return doorFlow(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsFlow2$slambda_0(this, clazzUid, accountPersonUid, permission, null));
  };
  protoOf(CoursePermissionDao_JdbcImpl).vdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz', 'CoursePermission', 'ClazzEnrolment', 'SystemPermission'];
    return doorFlow(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsFlow$slambda_0(this, clazzUid, accountPersonUid, firstPermission, secondPermission, null));
  };
  protoOf(CoursePermissionDao_JdbcImpl).wdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS firstPermission,\n               (    (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n                     \n        ) > 0)\n               )\n    )\n               ) AS secondPermission\n    ', VOID, VOID, VOID, '\n        SELECT (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS firstPermission,\n               (    (? != 0 AND ? != 0)\n                AND ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n                     \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n                     \n        ) > 0)\n               )\n    )\n               ) AS secondPermission\n    \n', true);
    return prepareAndUseStatementAsync(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzPairAsync$slambda_0(clazzUid, accountPersonUid, firstPermission, secondPermission, null), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl).xdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission, thirdPermission) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Clazz', 'CoursePermission', 'ClazzEnrolment', 'SystemPermission'];
    return doorFlow(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzTripleAsFlow$slambda_0(this, clazzUid, accountPersonUid, firstPermission, secondPermission, thirdPermission, null));
  };
  protoOf(CoursePermissionDao_JdbcImpl).ydb = function (accountPersonUid, clazzUid, permission, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0)\n          AND  (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT))\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT)\n                           AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         CAST(? AS BIGINT)\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                           AND (SystemPermission.spPermissionsFlag & \n     CAST(? AS BIGINT)\n         \n        ) > 0)\n               )\n    \n    )            \n    ', VOID, VOID, VOID, '\n        SELECT (? != 0 AND ? != 0)\n          AND  (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = ?), 0) = ?)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ?\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = ?\n                           AND (CoursePermission.cpToPersonUid = ? \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         ?\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = ?\n                           AND (SystemPermission.spPermissionsFlag & \n     ?\n         \n        ) > 0)\n               )\n    \n    )            \n    \n', true);
    return prepareAndUseStatementAsync(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$personHasPermissionWithClazzAsync2$slambda_0(clazzUid, accountPersonUid, permission, null), $completion);
  };
  protoOf(CoursePermissionDao_JdbcImpl).zdb = function (accountPersonUid, assignmentUid, clazzUid, submitterUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ClazzAssignment', 'ClazzEnrolment', 'CourseGroupMember', 'PeerReviewerAllocation', 'CoursePermission', 'SystemPermission'];
    return doorFlow(this.wdg_1, tmp, CoursePermissionDao_JdbcImpl$userPermissionsForAssignmentSubmitterUid$slambda_0(this, assignmentUid, accountPersonUid, submitterUid, clazzUid, null));
  };
  function CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda(this$0, $clazzUid, $includeDeleted, resultContinuation) {
    this.bdn_1 = this$0;
    this.cdn_1 = $clazzUid;
    this.ddn_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.gdn_1 = this.bdn_1.pdn_1;
            var tmp_1 = this;
            tmp_1.hdn_1 = 'CoursePermissionDao/findByClazzUidAsPagingSource';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.idn_1 = this.bdn_1.rdn_1;
            var tmp_3 = this;
            tmp_3.jdn_1 = this.idn_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.bdn_1.pdn_1.a3d(), 'CoursePermissionDao/findByClazzUidAsPagingSource');
            doorNodeIdHeader(this_0, this.bdn_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.bdn_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.cdn_1));
            parameter(this_0, 'includeDeleted', this.bdn_1.pdn_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.ddn_1));
            pagingSourceLoadParameters(this_0, this.bdn_1.pdn_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.edn_1);
            tmp_4.kdn_1 = this_0;
            this.kdn_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ldn_1 = this.jdn_1;
            var tmp_6 = this;
            tmp_6.mdn_1 = this.kdn_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.mdn_1, this.ldn_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.ndn_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.bdn_1.odn_1, this.ndn_1, this.bdn_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.fdn_1 = endOfPaginationReached(this.ndn_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda$lambda(this.gdn_1, this.hdn_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.fdn_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda).d8c = function (_pagingParams, completion) {
    var i = new CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda(this.bdn_1, this.cdn_1, this.ddn_1, completion);
    i.edn_1 = _pagingParams;
    return i;
  };
  function CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda_0(this$0, $clazzUid, $includeDeleted, resultContinuation) {
    var i = new CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda(this$0, $clazzUid, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CoursePermissionDao_Repo$findByUidAndClazzUid$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation) {
    this.ddo_1 = this$0;
    this.edo_1 = $uid;
    this.fdo_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.gdo_1 = this.ddo_1.pdn_1;
            var tmp_1 = this;
            tmp_1.hdo_1 = 'CoursePermissionDao/findByUidAndClazzUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ido_1 = this.ddo_1.rdn_1;
            var tmp_3 = this;
            tmp_3.jdo_1 = this.ido_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ddo_1.pdn_1.a3d(), 'CoursePermissionDao/findByUidAndClazzUidAsFlow');
            doorNodeIdHeader(this_0, this.ddo_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.ddo_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.edo_1));
            parameter(this_0, 'clazzUid', this.ddo_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.fdo_1));
            tmp_4.kdo_1 = this_0;
            this.kdo_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ldo_1 = this.jdo_1;
            var tmp_6 = this;
            tmp_6.mdo_1 = this.kdo_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.mdo_1, this.ldo_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ndo_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ddo_1.odn_1, this.ndo_1, this.ddo_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda$lambda(this.gdo_1, this.hdo_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda(this.ddo_1, this.edo_1, this.fdo_1, completion);
  };
  function CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda_0(this$0, $uid, $clazzUid, resultContinuation) {
    var i = new CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda(this$0, $uid, $clazzUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_Repo$upsertAsync$slambda(this$0, $coursePermission, resultContinuation) {
    this.wdo_1 = this$0;
    this.xdo_1 = $coursePermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$upsertAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.wdo_1.qdn_1.sdb(this.xdo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$upsertAsync$slambda(this.wdo_1, this.xdo_1, completion);
  };
  function CoursePermissionDao_Repo$upsertAsync$slambda_0(this$0, $coursePermission, resultContinuation) {
    var i = new CoursePermissionDao_Repo$upsertAsync$slambda(this$0, $coursePermission, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_Repo$setDeleted$slambda(this$0, $cpUid, $isDeleted, $updateTime, resultContinuation) {
    this.gdp_1 = this$0;
    this.hdp_1 = $cpUid;
    this.idp_1 = $isDeleted;
    this.jdp_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$setDeleted$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$setDeleted$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$setDeleted$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.gdp_1.qdn_1.tc1(this.hdp_1, this.idp_1, this.jdp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$setDeleted$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$setDeleted$slambda(this.gdp_1, this.hdp_1, this.idp_1, this.jdp_1, completion);
  };
  function CoursePermissionDao_Repo$setDeleted$slambda_0(this$0, $cpUid, $isDeleted, $updateTime, resultContinuation) {
    var i = new CoursePermissionDao_Repo$setDeleted$slambda(this$0, $cpUid, $isDeleted, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_Repo$userHasEnrolmentEditPermission$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda(this$0, $accountPersonUid, $clazzUid, $permission, resultContinuation) {
    this.sdp_1 = this$0;
    this.tdp_1 = $accountPersonUid;
    this.udp_1 = $clazzUid;
    this.vdp_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.wdp_1 = this.sdp_1.pdn_1;
            var tmp_1 = this;
            tmp_1.xdp_1 = 'CoursePermissionDao/personHasPermissionWithClazzAsFlow2';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ydp_1 = this.sdp_1.rdn_1;
            var tmp_3 = this;
            tmp_3.zdp_1 = this.ydp_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.sdp_1.pdn_1.a3d(), 'CoursePermissionDao/personHasPermissionWithClazzAsFlow2');
            doorNodeIdHeader(this_0, this.sdp_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.sdp_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.tdp_1));
            parameter(this_0, 'clazzUid', this.sdp_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.udp_1));
            parameter(this_0, 'permission', this.sdp_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.vdp_1));
            tmp_4.adq_1 = this_0;
            this.adq_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.bdq_1 = this.zdp_1;
            var tmp_6 = this;
            tmp_6.cdq_1 = this.adq_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.cdq_1, this.bdq_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ddq_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.sdp_1.odn_1, this.ddq_1, this.sdp_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda$lambda(this.wdp_1, this.xdp_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda(this.sdp_1, this.tdp_1, this.udp_1, this.vdp_1, completion);
  };
  function CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda_0(this$0, $accountPersonUid, $clazzUid, $permission, resultContinuation) {
    var i = new CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda(this$0, $accountPersonUid, $clazzUid, $permission, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, $firstPermission, $secondPermission, resultContinuation) {
    this.mdq_1 = this$0;
    this.ndq_1 = $accountPersonUid;
    this.odq_1 = $clazzUid;
    this.pdq_1 = $firstPermission;
    this.qdq_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.rdq_1 = this.mdq_1.pdn_1;
            var tmp_1 = this;
            tmp_1.sdq_1 = 'CoursePermissionDao/personHasPermissionWithClazzPairAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tdq_1 = this.mdq_1.rdn_1;
            var tmp_3 = this;
            tmp_3.udq_1 = this.tdq_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.mdq_1.pdn_1.a3d(), 'CoursePermissionDao/personHasPermissionWithClazzPairAsFlow');
            doorNodeIdHeader(this_0, this.mdq_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.mdq_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ndq_1));
            parameter(this_0, 'clazzUid', this.mdq_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.odq_1));
            parameter(this_0, 'firstPermission', this.mdq_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.pdq_1));
            parameter(this_0, 'secondPermission', this.mdq_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qdq_1));
            tmp_4.vdq_1 = this_0;
            this.vdq_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wdq_1 = this.udq_1;
            var tmp_6 = this;
            tmp_6.xdq_1 = this.vdq_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xdq_1, this.wdq_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ydq_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.mdq_1.odn_1, this.ydq_1, this.mdq_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda$lambda(this.rdq_1, this.sdq_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda(this.mdq_1, this.ndq_1, this.odq_1, this.pdq_1, this.qdq_1, completion);
  };
  function CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda_0(this$0, $accountPersonUid, $clazzUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation) {
    this.hdr_1 = this$0;
    this.idr_1 = $accountPersonUid;
    this.jdr_1 = $clazzUid;
    this.kdr_1 = $firstPermission;
    this.ldr_1 = $secondPermission;
    this.mdr_1 = $thirdPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ndr_1 = this.hdr_1.pdn_1;
            var tmp_1 = this;
            tmp_1.odr_1 = 'CoursePermissionDao/personHasPermissionWithClazzTripleAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.pdr_1 = this.hdr_1.rdn_1;
            var tmp_3 = this;
            tmp_3.qdr_1 = this.pdr_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.hdr_1.pdn_1.a3d(), 'CoursePermissionDao/personHasPermissionWithClazzTripleAsFlow');
            doorNodeIdHeader(this_0, this.hdr_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.hdr_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.idr_1));
            parameter(this_0, 'clazzUid', this.hdr_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jdr_1));
            parameter(this_0, 'firstPermission', this.hdr_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.kdr_1));
            parameter(this_0, 'secondPermission', this.hdr_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ldr_1));
            parameter(this_0, 'thirdPermission', this.hdr_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.mdr_1));
            tmp_4.rdr_1 = this_0;
            this.rdr_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.sdr_1 = this.qdr_1;
            var tmp_6 = this;
            tmp_6.tdr_1 = this.rdr_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.tdr_1, this.sdr_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.udr_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.hdr_1.odn_1, this.udr_1, this.hdr_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda$lambda(this.ndr_1, this.odr_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda(this.hdr_1, this.idr_1, this.jdr_1, this.kdr_1, this.ldr_1, this.mdr_1, completion);
  };
  function CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda_0(this$0, $accountPersonUid, $clazzUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation) {
    var i = new CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda(this$0, $accountPersonUid, $clazzUid, $firstPermission, $secondPermission, $thirdPermission, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePermissionDao_Repo$personHasPermissionWithClazzAsync2$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda(this$0, $accountPersonUid, $assignmentUid, $clazzUid, $submitterUid, resultContinuation) {
    this.dds_1 = this$0;
    this.eds_1 = $accountPersonUid;
    this.fds_1 = $assignmentUid;
    this.gds_1 = $clazzUid;
    this.hds_1 = $submitterUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ids_1 = this.dds_1.pdn_1;
            var tmp_1 = this;
            tmp_1.jds_1 = 'CoursePermissionDao/userPermissionsForAssignmentSubmitterUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.kds_1 = this.dds_1.rdn_1;
            var tmp_3 = this;
            tmp_3.lds_1 = this.kds_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.dds_1.pdn_1.a3d(), 'CoursePermissionDao/userPermissionsForAssignmentSubmitterUid');
            doorNodeIdHeader(this_0, this.dds_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.dds_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.eds_1));
            parameter(this_0, 'assignmentUid', this.dds_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.fds_1));
            parameter(this_0, 'clazzUid', this.dds_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.gds_1));
            parameter(this_0, 'submitterUid', this.dds_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.hds_1));
            tmp_4.mds_1 = this_0;
            this.mds_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.nds_1 = this.lds_1;
            var tmp_6 = this;
            tmp_6.ods_1 = this.mds_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ods_1, this.nds_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.pds_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.dds_1.odn_1, this.pds_1, this.dds_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda$lambda(this.ids_1, this.jds_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda).q7e = function (completion) {
    return new CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda(this.dds_1, this.eds_1, this.fds_1, this.gds_1, this.hds_1, completion);
  };
  function CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda_0(this$0, $accountPersonUid, $assignmentUid, $clazzUid, $submitterUid, resultContinuation) {
    var i = new CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda(this$0, $accountPersonUid, $assignmentUid, $clazzUid, $submitterUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByUidAndClazzUidCOROUTINE$206(_this__u8e3s4, uid, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yds_1 = _this__u8e3s4;
    this.zds_1 = uid;
    this.adt_1 = clazzUid;
  }
  protoOf($findByUidAndClazzUidCOROUTINE$206).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.bdt_1 = this.yds_1.pdn_1;
            var tmp_1 = this;
            tmp_1.cdt_1 = 'CoursePermissionDao/findByUidAndClazzUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ddt_1 = this.yds_1.rdn_1;
            var tmp_3 = this;
            tmp_3.edt_1 = this.ddt_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.yds_1.pdn_1.a3d(), 'CoursePermissionDao/findByUidAndClazzUid');
            doorNodeIdHeader(this_0, this.yds_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.yds_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.zds_1));
            parameter(this_0, 'clazzUid', this.yds_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.adt_1));
            tmp_4.fdt_1 = this_0;
            this.fdt_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.gdt_1 = this.edt_1;
            var tmp_6 = this;
            tmp_6.hdt_1 = this.fdt_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.hdt_1, this.gdt_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.idt_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.yds_1.odn_1, this.idt_1, this.yds_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.jdt_1 = this.kd_1;
              Napier_getInstance().i5k(this.jdt_1, 'DoorLog', CoursePermissionDao_Repo$findByUidAndClazzUid$lambda(this.bdt_1, this.cdt_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.yds_1.qdn_1.rdb(this.zds_1, this.adt_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $userHasEnrolmentEditPermissionCOROUTINE$208(_this__u8e3s4, accountPersonUid, clazzEnrolmentUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.sdt_1 = _this__u8e3s4;
    this.tdt_1 = accountPersonUid;
    this.udt_1 = clazzEnrolmentUid;
  }
  protoOf($userHasEnrolmentEditPermissionCOROUTINE$208).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.vdt_1 = this.sdt_1.pdn_1;
            var tmp_1 = this;
            tmp_1.wdt_1 = 'CoursePermissionDao/userHasEnrolmentEditPermission';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.xdt_1 = this.sdt_1.rdn_1;
            var tmp_3 = this;
            tmp_3.ydt_1 = this.xdt_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.sdt_1.pdn_1.a3d(), 'CoursePermissionDao/userHasEnrolmentEditPermission');
            doorNodeIdHeader(this_0, this.sdt_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.sdt_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.tdt_1));
            parameter(this_0, 'clazzEnrolmentUid', this.sdt_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.udt_1));
            tmp_4.zdt_1 = this_0;
            this.zdt_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.adu_1 = this.ydt_1;
            var tmp_6 = this;
            tmp_6.bdu_1 = this.zdt_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.bdu_1, this.adu_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.cdu_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.sdt_1.odn_1, this.cdu_1, this.sdt_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.ddu_1 = this.kd_1;
              Napier_getInstance().i5k(this.ddu_1, 'DoorLog', CoursePermissionDao_Repo$userHasEnrolmentEditPermission$lambda(this.vdt_1, this.wdt_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.sdt_1.qdn_1.tdb(this.tdt_1, this.udt_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $personHasPermissionWithClazzPairAsyncCOROUTINE$210(_this__u8e3s4, accountPersonUid, clazzUid, firstPermission, secondPermission, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mdu_1 = _this__u8e3s4;
    this.ndu_1 = accountPersonUid;
    this.odu_1 = clazzUid;
    this.pdu_1 = firstPermission;
    this.qdu_1 = secondPermission;
  }
  protoOf($personHasPermissionWithClazzPairAsyncCOROUTINE$210).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.rdu_1 = this.mdu_1.pdn_1;
            var tmp_1 = this;
            tmp_1.sdu_1 = 'CoursePermissionDao/personHasPermissionWithClazzPairAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tdu_1 = this.mdu_1.rdn_1;
            var tmp_3 = this;
            tmp_3.udu_1 = this.tdu_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.mdu_1.pdn_1.a3d(), 'CoursePermissionDao/personHasPermissionWithClazzPairAsync');
            doorNodeIdHeader(this_0, this.mdu_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.mdu_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ndu_1));
            parameter(this_0, 'clazzUid', this.mdu_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.odu_1));
            parameter(this_0, 'firstPermission', this.mdu_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.pdu_1));
            parameter(this_0, 'secondPermission', this.mdu_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qdu_1));
            tmp_4.vdu_1 = this_0;
            this.vdu_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wdu_1 = this.udu_1;
            var tmp_6 = this;
            tmp_6.xdu_1 = this.vdu_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xdu_1, this.wdu_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ydu_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.mdu_1.odn_1, this.ydu_1, this.mdu_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.zdu_1 = this.kd_1;
              Napier_getInstance().i5k(this.zdu_1, 'DoorLog', CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsync$lambda(this.rdu_1, this.sdu_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.mdu_1.qdn_1.wdb(this.ndu_1, this.odu_1, this.pdu_1, this.qdu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $personHasPermissionWithClazzAsync2COROUTINE$211(_this__u8e3s4, accountPersonUid, clazzUid, permission, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.idv_1 = _this__u8e3s4;
    this.jdv_1 = accountPersonUid;
    this.kdv_1 = clazzUid;
    this.ldv_1 = permission;
  }
  protoOf($personHasPermissionWithClazzAsync2COROUTINE$211).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.mdv_1 = this.idv_1.pdn_1;
            var tmp_1 = this;
            tmp_1.ndv_1 = 'CoursePermissionDao/personHasPermissionWithClazzAsync2';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.odv_1 = this.idv_1.rdn_1;
            var tmp_3 = this;
            tmp_3.pdv_1 = this.odv_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.idv_1.pdn_1.a3d(), 'CoursePermissionDao/personHasPermissionWithClazzAsync2');
            doorNodeIdHeader(this_0, this.idv_1.pdn_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.idv_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jdv_1));
            parameter(this_0, 'clazzUid', this.idv_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.kdv_1));
            parameter(this_0, 'permission', this.idv_1.pdn_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ldv_1));
            tmp_4.qdv_1 = this_0;
            this.qdv_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.rdv_1 = this.pdv_1;
            var tmp_6 = this;
            tmp_6.sdv_1 = this.qdv_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.sdv_1, this.rdv_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.tdv_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.idv_1.odn_1, this.tdv_1, this.idv_1.pdn_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.udv_1 = this.kd_1;
              Napier_getInstance().i5k(this.udv_1, 'DoorLog', CoursePermissionDao_Repo$personHasPermissionWithClazzAsync2$lambda(this.mdv_1, this.ndv_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.idv_1.qdn_1.ydb(this.jdv_1, this.kdv_1, this.ldv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CoursePermissionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CoursePermissionDao.call(this);
    this.odn_1 = _db;
    this.pdn_1 = _repo;
    this.qdn_1 = _dao;
    this.rdn_1 = _httpClient;
    this.sdn_1 = _clientId;
    this.tdn_1 = _endpoint;
    this.udn_1 = new RepoDaoFlowHelper(this.pdn_1);
  }
  protoOf(CoursePermissionDao_Repo).qdb = function (clazzUid, includeDeleted) {
    var tmp = this.qdn_1.qdb(clazzUid, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.pdn_1, 'CoursePermissionDao/findByClazzUidAsPagingSource', tmp, CoursePermissionDao_Repo$findByClazzUidAsPagingSource$slambda_0(this, clazzUid, includeDeleted, null));
  };
  protoOf(CoursePermissionDao_Repo).rdb = function (uid, clazzUid, $completion) {
    var tmp = new $findByUidAndClazzUidCOROUTINE$206(this, uid, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo).k7y = function (uid, clazzUid) {
    var tmp = this.qdn_1.k7y(uid, clazzUid);
    return this.udn_1.t6d(tmp, CoursePermissionDao_Repo$findByUidAndClazzUidAsFlow$slambda_0(this, uid, clazzUid, null));
  };
  protoOf(CoursePermissionDao_Repo).sdb = function (coursePermission, $completion) {
    return withRepoChangeMonitorAsync(this.pdn_1, 'CoursePermission', CoursePermissionDao_Repo$upsertAsync$slambda_0(this, coursePermission, null), $completion);
  };
  protoOf(CoursePermissionDao_Repo).tc1 = function (cpUid, isDeleted, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.pdn_1, 'CoursePermission', CoursePermissionDao_Repo$setDeleted$slambda_0(this, cpUid, isDeleted, updateTime, null), $completion);
  };
  protoOf(CoursePermissionDao_Repo).tdb = function (accountPersonUid, clazzEnrolmentUid, $completion) {
    var tmp = new $userHasEnrolmentEditPermissionCOROUTINE$208(this, accountPersonUid, clazzEnrolmentUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo).udb = function (accountPersonUid, clazzUid, permission) {
    var tmp = this.qdn_1.udb(accountPersonUid, clazzUid, permission);
    return this.udn_1.t6d(tmp, CoursePermissionDao_Repo$personHasPermissionWithClazzAsFlow2$slambda_0(this, accountPersonUid, clazzUid, permission, null));
  };
  protoOf(CoursePermissionDao_Repo).vdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission) {
    var tmp = this.qdn_1.vdb(accountPersonUid, clazzUid, firstPermission, secondPermission);
    return this.udn_1.t6d(tmp, CoursePermissionDao_Repo$personHasPermissionWithClazzPairAsFlow$slambda_0(this, accountPersonUid, clazzUid, firstPermission, secondPermission, null));
  };
  protoOf(CoursePermissionDao_Repo).wdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission, $completion) {
    var tmp = new $personHasPermissionWithClazzPairAsyncCOROUTINE$210(this, accountPersonUid, clazzUid, firstPermission, secondPermission, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo).xdb = function (accountPersonUid, clazzUid, firstPermission, secondPermission, thirdPermission) {
    var tmp = this.qdn_1.xdb(accountPersonUid, clazzUid, firstPermission, secondPermission, thirdPermission);
    return this.udn_1.t6d(tmp, CoursePermissionDao_Repo$personHasPermissionWithClazzTripleAsFlow$slambda_0(this, accountPersonUid, clazzUid, firstPermission, secondPermission, thirdPermission, null));
  };
  protoOf(CoursePermissionDao_Repo).ydb = function (accountPersonUid, clazzUid, permission, $completion) {
    var tmp = new $personHasPermissionWithClazzAsync2COROUTINE$211(this, accountPersonUid, clazzUid, permission, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePermissionDao_Repo).zdb = function (accountPersonUid, assignmentUid, clazzUid, submitterUid) {
    var tmp = this.qdn_1.zdb(accountPersonUid, assignmentUid, clazzUid, submitterUid);
    return this.udn_1.t6d(tmp, CoursePermissionDao_Repo$userPermissionsForAssignmentSubmitterUid$slambda_0(this, accountPersonUid, assignmentUid, clazzUid, submitterUid, null));
  };
  function CoursePictureDao() {
  }
  function $upsertAsyncCOROUTINE$213(_this__u8e3s4, coursePicture, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.edw_1 = _this__u8e3s4;
    this.fdw_1 = coursePicture;
  }
  protoOf($upsertAsyncCOROUTINE$213).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.gdw_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.edw_1.idw_1));
            if (this.fdw_1.l8m_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.gdw_1.t68(125, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.hdw_1 = suspendResult;
            this.fdw_1.l8m_1 = this.hdw_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.fdw_1.m8m_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.edw_1.jdw_1.vdv(this.fdw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CoursePictureDao_DoorWrapper(_db, _dao) {
    CoursePictureDao.call(this);
    this.idw_1 = _db;
    this.jdw_1 = _dao;
  }
  protoOf(CoursePictureDao_DoorWrapper).vdv = function (coursePicture, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$213(this, coursePicture, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePictureDao_DoorWrapper).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return this.jdw_1.jba(uid, uri, thumbnailUri, time, $completion);
  };
  function CoursePictureDao_JdbcImpl$_insertAdapterCoursePicture_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.kdw_1);
  }
  protoOf(CoursePictureDao_JdbcImpl$_insertAdapterCoursePicture_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CoursePicture (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) VALUES(?, ?, ?, ?, ?)';
  };
  protoOf(CoursePictureDao_JdbcImpl$_insertAdapterCoursePicture_upsert$1).odw = function (stmt, entity) {
    if (entity.l8m_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.l8m_1);
    }
    stmt.a5o(2, entity.m8m_1);
    stmt.d5o(3, entity.n8m_1);
    stmt.d5o(4, entity.o8m_1);
    stmt.n5n(5, entity.p8m_1);
  };
  protoOf(CoursePictureDao_JdbcImpl$_insertAdapterCoursePicture_upsert$1).u5l = function (stmt, entity) {
    return this.odw(stmt, entity instanceof CoursePicture ? entity : THROW_CCE());
  };
  function CoursePictureDao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    this.xdw_1 = $uri;
    this.ydw_1 = $thumbnailUri;
    this.zdw_1 = $time;
    this.adx_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePictureDao_JdbcImpl$updateUri$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePictureDao_JdbcImpl$updateUri$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CoursePictureDao_JdbcImpl$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.bdx_1.d5o(1, this.xdw_1);
            this.bdx_1.d5o(2, this.ydw_1);
            this.bdx_1.a5o(3, this.zdw_1);
            this.bdx_1.a5o(4, this.adx_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.bdx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePictureDao_JdbcImpl$updateUri$slambda).r5l = function (_stmt, completion) {
    var i = new CoursePictureDao_JdbcImpl$updateUri$slambda(this.xdw_1, this.ydw_1, this.zdw_1, this.adx_1, completion);
    i.bdx_1 = _stmt;
    return i;
  };
  function CoursePictureDao_JdbcImpl$updateUri$slambda_0($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    var i = new CoursePictureDao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateUriCOROUTINE$214(_this__u8e3s4, uid, uri, thumbnailUri, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kdx_1 = _this__u8e3s4;
    this.ldx_1 = uid;
    this.mdx_1 = uri;
    this.ndx_1 = thumbnailUri;
    this.odx_1 = time;
  }
  protoOf($updateUriCOROUTINE$214).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE CoursePicture\n           SET coursePictureUri = ?,\n               coursePictureThumbnailUri = ?,\n               coursePictureLct = CAST(? AS BIGINT)\n        WHERE coursePictureUid = CAST(? AS BIGINT)       \n    ', VOID, VOID, VOID, '\n        UPDATE CoursePicture\n           SET coursePictureUri = ?,\n               coursePictureThumbnailUri = ?,\n               coursePictureLct = ?\n        WHERE coursePictureUid = ?       \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.kdx_1.kdw_1, tmp_0, CoursePictureDao_JdbcImpl$updateUri$slambda_0(this.mdx_1, this.ndx_1, this.odx_1, this.ldx_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CoursePictureDao_JdbcImpl(_db) {
    CoursePictureDao.call(this);
    this.kdw_1 = _db;
    var tmp = this;
    tmp.ldw_1 = new CoursePictureDao_JdbcImpl$_insertAdapterCoursePicture_upsert$1(this);
  }
  protoOf(CoursePictureDao_JdbcImpl).vdv = function (coursePicture, $completion) {
    return this.ldw_1.a5n(coursePicture, $completion);
  };
  protoOf(CoursePictureDao_JdbcImpl).jba = function (uid, uri, thumbnailUri, time, $completion) {
    var tmp = new $updateUriCOROUTINE$214(this, uid, uri, thumbnailUri, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function CoursePictureDao_Repo$upsertAsync$slambda(this$0, $coursePicture, resultContinuation) {
    this.xdx_1 = this$0;
    this.ydx_1 = $coursePicture;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePictureDao_Repo$upsertAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePictureDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePictureDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xdx_1.bdy_1.vdv(this.ydx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePictureDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new CoursePictureDao_Repo$upsertAsync$slambda(this.xdx_1, this.ydx_1, completion);
  };
  function CoursePictureDao_Repo$upsertAsync$slambda_0(this$0, $coursePicture, resultContinuation) {
    var i = new CoursePictureDao_Repo$upsertAsync$slambda(this$0, $coursePicture, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePictureDao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    this.ndy_1 = this$0;
    this.ody_1 = $uid;
    this.pdy_1 = $uri;
    this.qdy_1 = $thumbnailUri;
    this.rdy_1 = $time;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CoursePictureDao_Repo$updateUri$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CoursePictureDao_Repo$updateUri$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(CoursePictureDao_Repo$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ndy_1.bdy_1.jba(this.ody_1, this.pdy_1, this.qdy_1, this.rdy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CoursePictureDao_Repo$updateUri$slambda).q7e = function (completion) {
    return new CoursePictureDao_Repo$updateUri$slambda(this.ndy_1, this.ody_1, this.pdy_1, this.qdy_1, this.rdy_1, completion);
  };
  function CoursePictureDao_Repo$updateUri$slambda_0(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    var i = new CoursePictureDao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CoursePictureDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CoursePictureDao.call(this);
    this.zdx_1 = _db;
    this.ady_1 = _repo;
    this.bdy_1 = _dao;
    this.cdy_1 = _httpClient;
    this.ddy_1 = _clientId;
    this.edy_1 = _endpoint;
  }
  protoOf(CoursePictureDao_Repo).vdv = function (coursePicture, $completion) {
    return withRepoChangeMonitorAsync(this.ady_1, 'CoursePicture', CoursePictureDao_Repo$upsertAsync$slambda_0(this, coursePicture, null), $completion);
  };
  protoOf(CoursePictureDao_Repo).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return withRepoChangeMonitorAsync(this.ady_1, 'CoursePicture', CoursePictureDao_Repo$updateUri$slambda_0(this, uid, uri, thumbnailUri, time, null), $completion);
  };
  function CourseTerminologyDao() {
  }
  function $upsertAsyncCOROUTINE$215(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fdz_1 = _this__u8e3s4;
    this.gdz_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$215).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.hdz_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.fdz_1.jdz_1));
            if (this.gdz_1.h8m_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.hdz_1.t68(450, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.idz_1 = suspendResult;
            this.gdz_1.h8m_1 = this.idz_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.gdz_1.k8m_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.fdz_1.kdz_1.wdy(this.gdz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.gdz_1.h8m_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$216(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tdz_1 = _this__u8e3s4;
    this.udz_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$216).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.vdz_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.tdz_1.jdz_1));
            if (this.udz_1.h8m_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.vdz_1.t68(450, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.wdz_1 = suspendResult;
            this.udz_1.h8m_1 = this.wdz_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.udz_1.k8m_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.tdz_1.kdz_1.insertAsync(this.udz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.udz_1.h8m_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseTerminologyDao_DoorWrapper(_db, _dao) {
    CourseTerminologyDao.call(this);
    this.jdz_1 = _db;
    this.kdz_1 = _dao;
  }
  protoOf(CourseTerminologyDao_DoorWrapper).sdy = function () {
    return this.kdz_1.sdy();
  };
  protoOf(CourseTerminologyDao_DoorWrapper).tdy = function (clazzUid, $completion) {
    return this.kdz_1.tdy(clazzUid, $completion);
  };
  protoOf(CourseTerminologyDao_DoorWrapper).udy = function (assignmentUid, $completion) {
    return this.kdz_1.udy(assignmentUid, $completion);
  };
  protoOf(CourseTerminologyDao_DoorWrapper).vdy = function (uid, $completion) {
    return this.kdz_1.vdy(uid, $completion);
  };
  protoOf(CourseTerminologyDao_DoorWrapper).wdy = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$215(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_DoorWrapper).xdz = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$216(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.xdz(entity instanceof CourseTerminology ? entity : THROW_CCE(), $completion);
  };
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda$lambda$lambda(_result));
  }
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ctUid = $_result.d5t('ctUid');
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var _tmp_ctLct = $_result.d5t('ctLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseTerminology();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.h8m_1 = _tmp_ctUid;
      this_0.i8m_1 = _tmp_ctTitle;
      this_0.j8m_1 = _tmp_ctTerminology;
      this_0.k8m_1 = _tmp_ctLct;
      return this_0;
    };
  }
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda$lambda$lambda(_result));
  }
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda($_limit, $_offset, resultContinuation) {
    this.ge0_1 = $_limit;
    this.he0_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda).je0 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda).he = function (p1, $completion) {
    return this.je0((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ie0_1.z5n(1, this.ge0_1);
            this.ie0_1.z5n(2, this.he0_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ie0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda(this.ge0_1, this.he0_1, completion);
    i.ie0_1 = _stmt;
    return i;
  };
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda_0($_limit, $_offset, resultContinuation) {
    var i = new CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda($_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.je0(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda(resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.se0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda(completion);
    i.se0_1 = _stmt;
    return i;
  };
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda_0(resultContinuation) {
    var i = new CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda(resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda$lambda$lambda(_result));
  }
  function CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ctUid = $_result.d5t('ctUid');
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var _tmp_ctLct = $_result.d5t('ctLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseTerminology();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseTerminologyDao_JdbcImpl.getTerminologyForClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.h8m_1 = _tmp_ctUid;
      this_0.i8m_1 = _tmp_ctTitle;
      this_0.j8m_1 = _tmp_ctTerminology;
      this_0.k8m_1 = _tmp_ctLct;
      return this_0;
    };
  }
  function CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda$lambda$lambda(_result));
  }
  function CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ctUid = $_result.d5t('ctUid');
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var _tmp_ctLct = $_result.d5t('ctLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseTerminology();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseTerminologyDao_JdbcImpl.getTerminologyForAssignment.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.h8m_1 = _tmp_ctUid;
      this_0.i8m_1 = _tmp_ctTitle;
      this_0.j8m_1 = _tmp_ctTerminology;
      this_0.k8m_1 = _tmp_ctLct;
      return this_0;
    };
  }
  function CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_ctUid = $_result.d5t('ctUid');
      var _tmp_ctTitle = $_result.rz('ctTitle');
      var _tmp_ctTerminology = $_result.rz('ctTerminology');
      var _tmp_ctLct = $_result.d5t('ctLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new CourseTerminology();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.CourseTerminologyDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.h8m_1 = _tmp_ctUid;
      this_0.i8m_1 = _tmp_ctTitle;
      this_0.j8m_1 = _tmp_ctTerminology;
      this_0.k8m_1 = _tmp_ctLct;
      return this_0;
    };
  }
  function CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.te0_1);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES(?, ?, ?, ?)';
  };
  protoOf(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_upsert$1).ye0 = function (stmt, entity) {
    if (entity.h8m_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.h8m_1);
    }
    stmt.d5o(2, entity.i8m_1);
    stmt.d5o(3, entity.j8m_1);
    stmt.a5o(4, entity.k8m_1);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_upsert$1).u5l = function (stmt, entity) {
    return this.ye0(stmt, entity instanceof CourseTerminology ? entity : THROW_CCE());
  };
  function CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.te0_1);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES(?, ?, ?, ?)';
  };
  protoOf(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_abort$1).ye0 = function (stmt, entity) {
    if (entity.h8m_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.h8m_1);
    }
    stmt.d5o(2, entity.i8m_1);
    stmt.d5o(3, entity.j8m_1);
    stmt.a5o(4, entity.k8m_1);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_abort$1).u5l = function (stmt, entity) {
    return this.ye0(stmt, entity instanceof CourseTerminology ? entity : THROW_CCE());
  };
  function CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$1(this$0) {
    this.he1_1 = this$0;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['CourseTerminology'];
    DoorLimitOffsetPagingSource.call(this, this$0.te0_1, tmp$ret$2);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$1).ie1 = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT *\n         FROM CourseTerminology\n     ORDER BY ctTitle   \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.he1_1.te0_1, tmp, CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$loadRows$slambda_0(_limit, _offset, null), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$1).b5w = function (_limit, _offset, $completion) {
    return this.ie1(_limit, _offset, $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT *\n         FROM CourseTerminology\n     ORDER BY ctTitle   \n    ) AS _PagingCount', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.he1_1.te0_1, tmp, CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$o$countRows$slambda_0(null), $completion);
  };
  function CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda($clazzUid, resultContinuation) {
    this.re1_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda).te1 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda).he = function (p1, $completion) {
    return this.te1((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.se1_1.a5o(1, this.re1_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.se1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda).r5l = function (_stmt, completion) {
    var i = new CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda(this.re1_1, completion);
    i.se1_1 = _stmt;
    return i;
  };
  function CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda_0($clazzUid, resultContinuation) {
    var i = new CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.te1(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda($assignmentUid, resultContinuation) {
    this.ce2_1 = $assignmentUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda).te1 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda).he = function (p1, $completion) {
    return this.te1((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.de2_1.a5o(1, this.ce2_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.de2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda).r5l = function (_stmt, completion) {
    var i = new CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda(this.ce2_1, completion);
    i.de2_1 = _stmt;
    return i;
  };
  function CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda_0($assignmentUid, resultContinuation) {
    var i = new CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda($assignmentUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.te1(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation) {
    this.me2_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda).te1 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.te1((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ne2_1.a5o(1, this.me2_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ne2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda(this.me2_1, completion);
    i.ne2_1 = _stmt;
    return i;
  };
  function CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda_0($uid, resultContinuation) {
    var i = new CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.te1(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $upsertAsyncCOROUTINE$217(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.we2_1 = _this__u8e3s4;
    this.xe2_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$217).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.we2_1.ue0_1.b5n(this.xe2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$218(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ge3_1 = _this__u8e3s4;
    this.he3_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$218).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ge3_1.ve0_1.b5n(this.he3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseTerminologyDao_JdbcImpl(_db) {
    CourseTerminologyDao.call(this);
    this.te0_1 = _db;
    var tmp = this;
    tmp.ue0_1 = new CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_upsert$1(this);
    var tmp_0 = this;
    tmp_0.ve0_1 = new CourseTerminologyDao_JdbcImpl$_insertAdapterCourseTerminology_abort$1(this);
  }
  protoOf(CourseTerminologyDao_JdbcImpl).wdy = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$217(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl).xdz = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$218(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.xdz(entity instanceof CourseTerminology ? entity : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl).sdy = function () {
    return new CourseTerminologyDao_JdbcImpl$findAllCourseTerminologyPagingSource$1(this);
  };
  protoOf(CourseTerminologyDao_JdbcImpl).tdy = function (clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT *\n          FROM CourseTerminology\n               JOIN Clazz \n               ON Clazz.clazzTerminologyUid = CourseTerminology.ctUid\n         WHERE Clazz.clazzUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT *\n          FROM CourseTerminology\n               JOIN Clazz \n               ON Clazz.clazzTerminologyUid = CourseTerminology.ctUid\n         WHERE Clazz.clazzUid = ?\n    \n', true);
    return prepareAndUseStatementAsync(this.te0_1, tmp, CourseTerminologyDao_JdbcImpl$getTerminologyForClazz$slambda_0(clazzUid, null), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl).udy = function (assignmentUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT CourseTerminology.*\n          FROM ClazzAssignment\n               JOIN Clazz \n                    ON Clazz.clazzUid = ClazzAssignment.caClazzUid\n               JOIN CourseTerminology\n                    ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n         WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) \n         LIMIT 1\n    ', VOID, VOID, VOID, '\n        SELECT CourseTerminology.*\n          FROM ClazzAssignment\n               JOIN Clazz \n                    ON Clazz.clazzUid = ClazzAssignment.caClazzUid\n               JOIN CourseTerminology\n                    ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid\n         WHERE ClazzAssignment.caUid = ? \n         LIMIT 1\n    \n', true);
    return prepareAndUseStatementAsync(this.te0_1, tmp, CourseTerminologyDao_JdbcImpl$getTerminologyForAssignment$slambda_0(assignmentUid, null), $completion);
  };
  protoOf(CourseTerminologyDao_JdbcImpl).vdy = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT * \n         FROM CourseTerminology \n        WHERE ctUid = CAST(? AS BIGINT)\n        ', VOID, VOID, VOID, '\n        SELECT * \n         FROM CourseTerminology \n        WHERE ctUid = ?\n        \n', true);
    return prepareAndUseStatementAsync(this.te0_1, tmp, CourseTerminologyDao_JdbcImpl$findByUidAsync$slambda_0(uid, null), $completion);
  };
  function CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda(this$0, resultContinuation) {
    this.qe3_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.te3_1 = this.qe3_1.ce4_1;
            var tmp_1 = this;
            tmp_1.ue3_1 = 'CourseTerminologyDao/findAllCourseTerminologyPagingSource';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.ve3_1 = this.qe3_1.ee4_1;
            var tmp_3 = this;
            tmp_3.we3_1 = this.ve3_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.qe3_1.ce4_1.a3d(), 'CourseTerminologyDao/findAllCourseTerminologyPagingSource');
            doorNodeIdHeader(this_0, this.qe3_1.ce4_1);
            header(this_0, 'cache-control', 'no-store');
            pagingSourceLoadParameters(this_0, this.qe3_1.ce4_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.re3_1);
            tmp_4.xe3_1 = this_0;
            this.xe3_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ye3_1 = this.we3_1;
            var tmp_6 = this;
            tmp_6.ze3_1 = this.xe3_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.ze3_1, this.ye3_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.ae4_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.qe3_1.be4_1, this.ae4_1, this.qe3_1.ce4_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.se3_1 = endOfPaginationReached(this.ae4_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda$lambda(this.te3_1, this.ue3_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.se3_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda).d8c = function (_pagingParams, completion) {
    var i = new CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda(this.qe3_1, completion);
    i.re3_1 = _pagingParams;
    return i;
  };
  function CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda_0(this$0, resultContinuation) {
    var i = new CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda(this$0, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function CourseTerminologyDao_Repo$getTerminologyForClazz$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseTerminologyDao_Repo$findByUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function CourseTerminologyDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation) {
    this.pe4_1 = this$0;
    this.qe4_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_Repo$upsertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseTerminologyDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.pe4_1.de4_1.wdy(this.qe4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new CourseTerminologyDao_Repo$upsertAsync$slambda(this.pe4_1, this.qe4_1, completion);
  };
  function CourseTerminologyDao_Repo$upsertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseTerminologyDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function CourseTerminologyDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.ze4_1 = this$0;
    this.ae5_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(CourseTerminologyDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(CourseTerminologyDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ze4_1.de4_1.insertAsync(this.ae5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(CourseTerminologyDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new CourseTerminologyDao_Repo$insertAsync$slambda(this.ze4_1, this.ae5_1, completion);
  };
  function CourseTerminologyDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new CourseTerminologyDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $getTerminologyForClazzCOROUTINE$220(_this__u8e3s4, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.je5_1 = _this__u8e3s4;
    this.ke5_1 = clazzUid;
  }
  protoOf($getTerminologyForClazzCOROUTINE$220).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.le5_1 = this.je5_1.ce4_1;
            var tmp_1 = this;
            tmp_1.me5_1 = 'CourseTerminologyDao/getTerminologyForClazz';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ne5_1 = this.je5_1.ee4_1;
            var tmp_3 = this;
            tmp_3.oe5_1 = this.ne5_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.je5_1.ce4_1.a3d(), 'CourseTerminologyDao/getTerminologyForClazz');
            doorNodeIdHeader(this_0, this.je5_1.ce4_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.je5_1.ce4_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ke5_1));
            tmp_4.pe5_1 = this_0;
            this.pe5_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.qe5_1 = this.oe5_1;
            var tmp_6 = this;
            tmp_6.re5_1 = this.pe5_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.re5_1, this.qe5_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.se5_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.je5_1.be4_1, this.se5_1, this.je5_1.ce4_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.te5_1 = this.kd_1;
              Napier_getInstance().i5k(this.te5_1, 'DoorLog', CourseTerminologyDao_Repo$getTerminologyForClazz$lambda(this.le5_1, this.me5_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.je5_1.de4_1.tdy(this.ke5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getTerminologyForAssignmentCOROUTINE$221(_this__u8e3s4, assignmentUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ce6_1 = _this__u8e3s4;
    this.de6_1 = assignmentUid;
  }
  protoOf($getTerminologyForAssignmentCOROUTINE$221).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ce6_1.de4_1.udy(this.de6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidAsyncCOROUTINE$222(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.me6_1 = _this__u8e3s4;
    this.ne6_1 = uid;
  }
  protoOf($findByUidAsyncCOROUTINE$222).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.oe6_1 = this.me6_1.ce4_1;
            var tmp_1 = this;
            tmp_1.pe6_1 = 'CourseTerminologyDao/findByUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.qe6_1 = this.me6_1.ee4_1;
            var tmp_3 = this;
            tmp_3.re6_1 = this.qe6_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.me6_1.ce4_1.a3d(), 'CourseTerminologyDao/findByUidAsync');
            doorNodeIdHeader(this_0, this.me6_1.ce4_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.me6_1.ce4_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ne6_1));
            tmp_4.se6_1 = this_0;
            this.se6_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.te6_1 = this.re6_1;
            var tmp_6 = this;
            tmp_6.ue6_1 = this.se6_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ue6_1, this.te6_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ve6_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.me6_1.be4_1, this.ve6_1, this.me6_1.ce4_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.we6_1 = this.kd_1;
              Napier_getInstance().i5k(this.we6_1, 'DoorLog', CourseTerminologyDao_Repo$findByUidAsync$lambda(this.oe6_1, this.pe6_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.me6_1.de4_1.vdy(this.ne6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $upsertAsyncCOROUTINE$224(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fe7_1 = _this__u8e3s4;
    this.ge7_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$224).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.fe7_1.ce4_1, 'CourseTerminology', CourseTerminologyDao_Repo$upsertAsync$slambda_0(this.fe7_1, this.ge7_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$225(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pe7_1 = _this__u8e3s4;
    this.qe7_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$225).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.pe7_1.ce4_1, 'CourseTerminology', CourseTerminologyDao_Repo$insertAsync$slambda_0(this.pe7_1, this.qe7_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseTerminologyDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    CourseTerminologyDao.call(this);
    this.be4_1 = _db;
    this.ce4_1 = _repo;
    this.de4_1 = _dao;
    this.ee4_1 = _httpClient;
    this.fe4_1 = _clientId;
    this.ge4_1 = _endpoint;
  }
  protoOf(CourseTerminologyDao_Repo).sdy = function () {
    var tmp = this.de4_1.sdy();
    return new DoorRepositoryReplicatePullPagingSource(this.ce4_1, 'CourseTerminologyDao/findAllCourseTerminologyPagingSource', tmp, CourseTerminologyDao_Repo$findAllCourseTerminologyPagingSource$slambda_0(this, null));
  };
  protoOf(CourseTerminologyDao_Repo).tdy = function (clazzUid, $completion) {
    var tmp = new $getTerminologyForClazzCOROUTINE$220(this, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo).udy = function (assignmentUid, $completion) {
    var tmp = new $getTerminologyForAssignmentCOROUTINE$221(this, assignmentUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo).vdy = function (uid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$222(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo).wdy = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$224(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo).xdz = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$225(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(CourseTerminologyDao_Repo).insertAsync = function (entity, $completion) {
    return this.xdz(entity instanceof CourseTerminology ? entity : THROW_CCE(), $completion);
  };
  function DeletedItemDao() {
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda$lambda$lambda(_result));
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_delItemUid = $_result.d5t('delItemUid');
      var _tmp_delItemName = $_result.rz('delItemName');
      var _tmp_delItemIconUri = $_result.rz('delItemIconUri');
      var _tmp_delItemLastModTime = $_result.d5t('delItemLastModTime');
      var _tmp_delItemTimeDeleted = $_result.d5t('delItemTimeDeleted');
      var _tmp_delItemEntityTable = $_result.c5t('delItemEntityTable');
      var _tmp_delItemEntityUid = $_result.d5t('delItemEntityUid');
      var _tmp_delItemDeletedByPersonUid = $_result.d5t('delItemDeletedByPersonUid');
      var _tmp_delItemStatus = $_result.c5t('delItemStatus');
      var _tmp_delItemIsFolder = $_result.o6c('delItemIsFolder');
      // Inline function 'kotlin.apply' call
      var this_0 = new DeletedItem();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ue7_1 = _tmp_delItemUid;
      this_0.ve7_1 = _tmp_delItemName;
      this_0.we7_1 = _tmp_delItemIconUri;
      this_0.xe7_1 = _tmp_delItemLastModTime;
      this_0.ye7_1 = _tmp_delItemTimeDeleted;
      this_0.ze7_1 = _tmp_delItemEntityTable;
      this_0.ae8_1 = _tmp_delItemEntityUid;
      this_0.be8_1 = _tmp_delItemDeletedByPersonUid;
      this_0.ce8_1 = _tmp_delItemStatus;
      this_0.de8_1 = _tmp_delItemIsFolder;
      return this_0;
    };
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda$lambda$lambda(_result));
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda($includeActionedItems, $personUid, $_limit, $_offset, resultContinuation) {
    this.me8_1 = $includeActionedItems;
    this.ne8_1 = $personUid;
    this.oe8_1 = $_limit;
    this.pe8_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda).re8 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda).he = function (p1, $completion) {
    return this.re8((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.qe8_1.n5n(1, this.me8_1);
            this.qe8_1.a5o(2, this.ne8_1);
            this.qe8_1.z5n(3, this.oe8_1);
            this.qe8_1.z5n(4, this.pe8_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.qe8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda(this.me8_1, this.ne8_1, this.oe8_1, this.pe8_1, completion);
    i.qe8_1 = _stmt;
    return i;
  };
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda_0($includeActionedItems, $personUid, $_limit, $_offset, resultContinuation) {
    var i = new DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda($includeActionedItems, $personUid, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.re8(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda($includeActionedItems, $personUid, resultContinuation) {
    this.ae9_1 = $includeActionedItems;
    this.be9_1 = $personUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ce9_1.n5n(1, this.ae9_1);
            this.ce9_1.a5o(2, this.be9_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ce9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda(this.ae9_1, this.be9_1, completion);
    i.ce9_1 = _stmt;
    return i;
  };
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda_0($includeActionedItems, $personUid, resultContinuation) {
    var i = new DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda($includeActionedItems, $personUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda($cepcjUid, $time, $deletedByPersonUid, resultContinuation) {
    this.le9_1 = $cepcjUid;
    this.me9_1 = $time;
    this.ne9_1 = $deletedByPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.oe9_1.a5o(1, this.le9_1);
            this.oe9_1.a5o(2, this.me9_1);
            this.oe9_1.a5o(3, this.me9_1);
            this.oe9_1.a5o(4, this.le9_1);
            this.oe9_1.a5o(5, this.ne9_1);
            this.oe9_1.a5o(6, this.le9_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.oe9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda).r5l = function (_stmt, completion) {
    var i = new DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda(this.le9_1, this.me9_1, this.ne9_1, completion);
    i.oe9_1 = _stmt;
    return i;
  };
  function DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda_0($cepcjUid, $time, $deletedByPersonUid, resultContinuation) {
    var i = new DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda($cepcjUid, $time, $deletedByPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DeletedItemDao_JdbcImpl$findDeletedItemsForUser$1(this$0, $includeActionedItems, $personUid) {
    this.ve9_1 = this$0;
    this.we9_1 = $includeActionedItems;
    this.xe9_1 = $personUid;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['DeletedItem'];
    DoorLimitOffsetPagingSource.call(this, this$0.ye9_1, tmp$ret$2);
  }
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$1).ze9 = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT DeletedItem.*\n          FROM DeletedItem\n         WHERE (  (CAST(? AS INTEGER) = 1)\n                OR DeletedItem.delItemStatus = 1)\n           AND DeletedItem.delItemDeletedByPersonUid = CAST(? AS BIGINT)       \n      ORDER BY DeletedItem.delItemTimeDeleted DESC            \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT DeletedItem.*\n          FROM DeletedItem\n         WHERE (  (CAST(? AS INTEGER) = 1)\n                OR DeletedItem.delItemStatus = 1)\n           AND DeletedItem.delItemDeletedByPersonUid = ?       \n      ORDER BY DeletedItem.delItemTimeDeleted DESC            \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.ve9_1.ye9_1, tmp, DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$loadRows$slambda_0(this.we9_1, this.xe9_1, _limit, _offset, null), $completion);
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$1).b5w = function (_limit, _offset, $completion) {
    return this.ze9(_limit, _offset, $completion);
  };
  protoOf(DeletedItemDao_JdbcImpl$findDeletedItemsForUser$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT DeletedItem.*\n          FROM DeletedItem\n         WHERE (  (CAST(? AS INTEGER) = 1)\n                OR DeletedItem.delItemStatus = 1)\n           AND DeletedItem.delItemDeletedByPersonUid = CAST(? AS BIGINT)       \n      ORDER BY DeletedItem.delItemTimeDeleted DESC            \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT DeletedItem.*\n          FROM DeletedItem\n         WHERE (  (CAST(? AS INTEGER) = 1)\n                OR DeletedItem.delItemStatus = 1)\n           AND DeletedItem.delItemDeletedByPersonUid = ?       \n      ORDER BY DeletedItem.delItemTimeDeleted DESC            \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.ve9_1.ye9_1, tmp, DeletedItemDao_JdbcImpl$findDeletedItemsForUser$o$countRows$slambda_0(this.we9_1, this.xe9_1, null), $completion);
  };
  function DeletedItemDao_JdbcImpl$updateStatusByUids$slambda($newStatus, $updateTime, $uidList, resultContinuation) {
    this.iea_1 = $newStatus;
    this.jea_1 = $updateTime;
    this.kea_1 = $uidList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_JdbcImpl$updateStatusByUids$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_JdbcImpl$updateStatusByUids$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DeletedItemDao_JdbcImpl$updateStatusByUids$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.lea_1.z5n(1, this.iea_1);
            this.lea_1.a5o(2, this.jea_1);
            var tmp_0 = this.lea_1.w5m();
            var this_0 = this.kea_1;
            this.lea_1.e5o(3, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.lea_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_JdbcImpl$updateStatusByUids$slambda).r5l = function (_stmt, completion) {
    var i = new DeletedItemDao_JdbcImpl$updateStatusByUids$slambda(this.iea_1, this.jea_1, this.kea_1, completion);
    i.lea_1 = _stmt;
    return i;
  };
  function DeletedItemDao_JdbcImpl$updateStatusByUids$slambda_0($newStatus, $updateTime, $uidList, resultContinuation) {
    var i = new DeletedItemDao_JdbcImpl$updateStatusByUids$slambda($newStatus, $updateTime, $uidList, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertDeletedItemForContentEntryParentChildJoinCOROUTINE$226(_this__u8e3s4, cepcjUid, time, deletedByPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.uea_1 = _this__u8e3s4;
    this.vea_1 = cepcjUid;
    this.wea_1 = time;
    this.xea_1 = deletedByPersonUid;
  }
  protoOf($insertDeletedItemForContentEntryParentChildJoinCOROUTINE$226).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        INSERT INTO DeletedItem(delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder)\n        SELECT (SELECT ContentEntry.title\n                  FROM ContentEntry\n                 WHERE ContentEntry.contentEntryUid = \n                       (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid\n                          FROM ContentEntryParentChildJoin\n                         WHERE ContentEntryParentChildJoin.cepcjUid = CAST(? AS BIGINT))) AS delItemName,\n               NULL as delItemIconUri,\n               CAST(? AS BIGINT) AS delItemLastModTime,\n               CAST(? AS BIGINT) AS delItemTimeDeleted,\n               7 AS delItemEntityTable,\n               CAST(? AS BIGINT) AS delItemEntityUid,\n               CAST(? AS BIGINT) AS delItemDeletedByPersonUid,\n               1 AS delItemStatus,\n               (SELECT NOT ContentEntry.leaf\n                  FROM ContentEntry\n                 WHERE ContentEntry.contentEntryUid = \n                       (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid\n                          FROM ContentEntryParentChildJoin\n                         WHERE ContentEntryParentChildJoin.cepcjUid = CAST(? AS BIGINT))) AS delItemIsFolder\n    ', VOID, VOID, VOID, '\n        INSERT INTO DeletedItem(delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder)\n        SELECT (SELECT ContentEntry.title\n                  FROM ContentEntry\n                 WHERE ContentEntry.contentEntryUid = \n                       (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid\n                          FROM ContentEntryParentChildJoin\n                         WHERE ContentEntryParentChildJoin.cepcjUid = ?)) AS delItemName,\n               NULL as delItemIconUri,\n               ? AS delItemLastModTime,\n               ? AS delItemTimeDeleted,\n               7 AS delItemEntityTable,\n               ? AS delItemEntityUid,\n               ? AS delItemDeletedByPersonUid,\n               1 AS delItemStatus,\n               (SELECT NOT ContentEntry.leaf\n                  FROM ContentEntry\n                 WHERE ContentEntry.contentEntryUid = \n                       (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid\n                          FROM ContentEntryParentChildJoin\n                         WHERE ContentEntryParentChildJoin.cepcjUid = ?)) AS delItemIsFolder\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.uea_1.ye9_1, tmp_0, DeletedItemDao_JdbcImpl$insertDeletedItemForContentEntryParentChildJoin$slambda_0(this.vea_1, this.wea_1, this.xea_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateStatusByUidsCOROUTINE$227(_this__u8e3s4, uidList, newStatus, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.geb_1 = _this__u8e3s4;
    this.heb_1 = uidList;
    this.ieb_1 = newStatus;
    this.jeb_1 = updateTime;
  }
  protoOf($updateStatusByUidsCOROUTINE$227).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE DeletedItem\n           SET delItemStatus = ?,\n               delItemLastModTime = CAST(? AS BIGINT)\n         WHERE delItemUid IN (?)\n    ', true, VOID, VOID, '\n        UPDATE DeletedItem\n           SET delItemStatus = ?,\n               delItemLastModTime = ?\n         WHERE delItemUid IN (?)\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.geb_1.ye9_1, tmp_0, DeletedItemDao_JdbcImpl$updateStatusByUids$slambda_0(this.ieb_1, this.jeb_1, this.heb_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function DeletedItemDao_JdbcImpl(_db) {
    DeletedItemDao.call(this);
    this.ye9_1 = _db;
  }
  protoOf(DeletedItemDao_JdbcImpl).re7 = function (cepcjUid, time, deletedByPersonUid, $completion) {
    var tmp = new $insertDeletedItemForContentEntryParentChildJoinCOROUTINE$226(this, cepcjUid, time, deletedByPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_JdbcImpl).se7 = function (personUid, includeActionedItems) {
    return new DeletedItemDao_JdbcImpl$findDeletedItemsForUser$1(this, includeActionedItems, personUid);
  };
  protoOf(DeletedItemDao_JdbcImpl).te7 = function (uidList, newStatus, updateTime, $completion) {
    var tmp = new $updateStatusByUidsCOROUTINE$227(this, uidList, newStatus, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function DeletedItemDao_Repo$findDeletedItemsForUser$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda(this$0, $cepcjUid, $time, $deletedByPersonUid, resultContinuation) {
    this.seb_1 = this$0;
    this.teb_1 = $cepcjUid;
    this.ueb_1 = $time;
    this.veb_1 = $deletedByPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.seb_1.yeb_1.re7(this.teb_1, this.ueb_1, this.veb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda).q7e = function (completion) {
    return new DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda(this.seb_1, this.teb_1, this.ueb_1, this.veb_1, completion);
  };
  function DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda_0(this$0, $cepcjUid, $time, $deletedByPersonUid, resultContinuation) {
    var i = new DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda(this$0, $cepcjUid, $time, $deletedByPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function DeletedItemDao_Repo$findDeletedItemsForUser$slambda(this$0, $personUid, $includeActionedItems, resultContinuation) {
    this.kec_1 = this$0;
    this.lec_1 = $personUid;
    this.mec_1 = $includeActionedItems;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_Repo$findDeletedItemsForUser$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_Repo$findDeletedItemsForUser$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DeletedItemDao_Repo$findDeletedItemsForUser$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.pec_1 = this.kec_1.xeb_1;
            var tmp_1 = this;
            tmp_1.qec_1 = 'DeletedItemDao/findDeletedItemsForUser';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.rec_1 = this.kec_1.zeb_1;
            var tmp_3 = this;
            tmp_3.sec_1 = this.rec_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.kec_1.xeb_1.a3d(), 'DeletedItemDao/findDeletedItemsForUser');
            doorNodeIdHeader(this_0, this.kec_1.xeb_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'personUid', this.kec_1.xeb_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.lec_1));
            parameter(this_0, 'includeActionedItems', this.kec_1.xeb_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.mec_1));
            pagingSourceLoadParameters(this_0, this.kec_1.xeb_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.nec_1);
            tmp_4.tec_1 = this_0;
            this.tec_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.uec_1 = this.sec_1;
            var tmp_6 = this;
            tmp_6.vec_1 = this.tec_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.vec_1, this.uec_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.wec_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.kec_1.web_1, this.wec_1, this.kec_1.xeb_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.oec_1 = endOfPaginationReached(this.wec_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', DeletedItemDao_Repo$findDeletedItemsForUser$slambda$lambda(this.pec_1, this.qec_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.oec_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_Repo$findDeletedItemsForUser$slambda).d8c = function (_pagingParams, completion) {
    var i = new DeletedItemDao_Repo$findDeletedItemsForUser$slambda(this.kec_1, this.lec_1, this.mec_1, completion);
    i.nec_1 = _pagingParams;
    return i;
  };
  function DeletedItemDao_Repo$findDeletedItemsForUser$slambda_0(this$0, $personUid, $includeActionedItems, resultContinuation) {
    var i = new DeletedItemDao_Repo$findDeletedItemsForUser$slambda(this$0, $personUid, $includeActionedItems, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DeletedItemDao_Repo$updateStatusByUids$slambda(this$0, $uidList, $newStatus, $updateTime, resultContinuation) {
    this.fed_1 = this$0;
    this.ged_1 = $uidList;
    this.hed_1 = $newStatus;
    this.ied_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DeletedItemDao_Repo$updateStatusByUids$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DeletedItemDao_Repo$updateStatusByUids$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(DeletedItemDao_Repo$updateStatusByUids$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.fed_1.yeb_1.te7(this.ged_1, this.hed_1, this.ied_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DeletedItemDao_Repo$updateStatusByUids$slambda).q7e = function (completion) {
    return new DeletedItemDao_Repo$updateStatusByUids$slambda(this.fed_1, this.ged_1, this.hed_1, this.ied_1, completion);
  };
  function DeletedItemDao_Repo$updateStatusByUids$slambda_0(this$0, $uidList, $newStatus, $updateTime, resultContinuation) {
    var i = new DeletedItemDao_Repo$updateStatusByUids$slambda(this$0, $uidList, $newStatus, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function DeletedItemDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    DeletedItemDao.call(this);
    this.web_1 = _db;
    this.xeb_1 = _repo;
    this.yeb_1 = _dao;
    this.zeb_1 = _httpClient;
    this.aec_1 = _clientId;
    this.bec_1 = _endpoint;
  }
  protoOf(DeletedItemDao_Repo).re7 = function (cepcjUid, time, deletedByPersonUid, $completion) {
    return withRepoChangeMonitorAsync(this.xeb_1, 'DeletedItem', DeletedItemDao_Repo$insertDeletedItemForContentEntryParentChildJoin$slambda_0(this, cepcjUid, time, deletedByPersonUid, null), $completion);
  };
  protoOf(DeletedItemDao_Repo).se7 = function (personUid, includeActionedItems) {
    var tmp = this.yeb_1.se7(personUid, includeActionedItems);
    return new DoorRepositoryReplicatePullPagingSource(this.xeb_1, 'DeletedItemDao/findDeletedItemsForUser', tmp, DeletedItemDao_Repo$findDeletedItemsForUser$slambda_0(this, personUid, includeActionedItems, null));
  };
  protoOf(DeletedItemDao_Repo).te7 = function (uidList, newStatus, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.xeb_1, 'DeletedItem', DeletedItemDao_Repo$updateStatusByUids$slambda_0(this, uidList, newStatus, updateTime, null), $completion);
  };
  function DiscussionPostDao() {
  }
  function $upsertAsyncCOROUTINE$229(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wed_1 = _this__u8e3s4;
    this.xed_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$229).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.yed_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.wed_1.aee_1));
            if (this.xed_1.cee_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.yed_1.t68(132, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.zed_1 = suspendResult;
            this.xed_1.cee_1 = this.zed_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.xed_1.lee_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.wed_1.bee_1.med(this.xed_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$230(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wee_1 = _this__u8e3s4;
    this.xee_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$230).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.yee_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.wee_1.aee_1));
            if (this.xee_1.cee_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.yee_1.t68(132, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.zee_1 = suspendResult;
            this.xee_1.cee_1 = this.zee_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.xee_1.lee_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.wee_1.bee_1.insertAsync(this.xee_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.xee_1.cee_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function DiscussionPostDao_DoorWrapper(_db, _dao) {
    DiscussionPostDao.call(this);
    this.aee_1 = _db;
    this.bee_1 = _dao;
  }
  protoOf(DiscussionPostDao_DoorWrapper).jed = function (courseBlockUid, includeDeleted) {
    return this.bee_1.jed(courseBlockUid, includeDeleted);
  };
  protoOf(DiscussionPostDao_DoorWrapper).ked = function (uid, $completion) {
    return this.bee_1.ked(uid, $completion);
  };
  protoOf(DiscussionPostDao_DoorWrapper).u8i = function (uid) {
    return this.bee_1.u8i(uid);
  };
  protoOf(DiscussionPostDao_DoorWrapper).led = function (postUid, includeDeleted) {
    return this.bee_1.led(postUid, includeDeleted);
  };
  protoOf(DiscussionPostDao_DoorWrapper).med = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$229(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_DoorWrapper).ned = function (uid, deleted, updateTime, $completion) {
    return this.bee_1.ned(uid, deleted, updateTime, $completion);
  };
  protoOf(DiscussionPostDao_DoorWrapper).aef = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$230(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.aef(entity instanceof DiscussionPost ? entity : THROW_CCE(), $completion);
  };
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda$lambda$lambda(_result));
  }
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_authorPersonFirstNames = $_result.rz('authorPersonFirstNames');
      var _tmp_authorPersonLastName = $_result.rz('authorPersonLastName');
      var _tmp_authorPictureUri = $_result.rz('authorPictureUri');
      var _tmp_postLatestMessage = $_result.rz('postLatestMessage');
      var _tmp_postRepliesCount = $_result.c5t('postRepliesCount');
      var _tmp_postLatestMessageTimestamp = $_result.d5t('postLatestMessageTimestamp');
      var _tmp_discussionPostUid = $_result.d5t('discussionPostUid');
      var _tmp_discussionPostReplyToPostUid = $_result.d5t('discussionPostReplyToPostUid');
      var _tmp_discussionPostTitle = $_result.rz('discussionPostTitle');
      var _tmp_discussionPostMessage = $_result.rz('discussionPostMessage');
      var _tmp_discussionPostStartDate = $_result.d5t('discussionPostStartDate');
      var _tmp_discussionPostCourseBlockUid = $_result.d5t('discussionPostCourseBlockUid');
      var _tmp_dpDeleted = $_result.o6c('dpDeleted');
      var _tmp_discussionPostStartedPersonUid = $_result.d5t('discussionPostStartedPersonUid');
      var _tmp_discussionPostClazzUid = $_result.d5t('discussionPostClazzUid');
      var _tmp_discussionPostLct = $_result.d5t('discussionPostLct');
      var _tmp_discussionPostVisible = $_result.o6c('discussionPostVisible');
      var _tmp_discussionPostArchive = $_result.o6c('discussionPostArchive');
      // Inline function 'kotlin.apply' call
      var this_0 = new DiscussionPostWithDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.nef_1 = _tmp_authorPersonFirstNames;
      this_0.oef_1 = _tmp_authorPersonLastName;
      this_0.pef_1 = _tmp_authorPictureUri;
      this_0.qef_1 = _tmp_postLatestMessage;
      this_0.ref_1 = _tmp_postRepliesCount;
      this_0.sef_1 = _tmp_postLatestMessageTimestamp;
      this_0.cee_1 = _tmp_discussionPostUid;
      this_0.dee_1 = _tmp_discussionPostReplyToPostUid;
      this_0.eee_1 = _tmp_discussionPostTitle;
      this_0.fee_1 = _tmp_discussionPostMessage;
      this_0.gee_1 = _tmp_discussionPostStartDate;
      this_0.hee_1 = _tmp_discussionPostCourseBlockUid;
      this_0.iee_1 = _tmp_dpDeleted;
      this_0.jee_1 = _tmp_discussionPostStartedPersonUid;
      this_0.kee_1 = _tmp_discussionPostClazzUid;
      this_0.lee_1 = _tmp_discussionPostLct;
      this_0.mee_1 = _tmp_discussionPostVisible;
      this_0.nee_1 = _tmp_discussionPostArchive;
      return this_0;
    };
  }
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda$lambda$lambda(_result));
  }
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda($courseBlockUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    this.beg_1 = $courseBlockUid;
    this.ceg_1 = $includeDeleted;
    this.deg_1 = $_limit;
    this.eeg_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda).geg = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda).he = function (p1, $completion) {
    return this.geg((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.feg_1.a5o(1, this.beg_1);
            this.feg_1.n5n(2, this.ceg_1);
            this.feg_1.z5n(3, this.deg_1);
            this.feg_1.z5n(4, this.eeg_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.feg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda(this.beg_1, this.ceg_1, this.deg_1, this.eeg_1, completion);
    i.feg_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda_0($courseBlockUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda($courseBlockUid, $includeDeleted, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.geg(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda($courseBlockUid, $includeDeleted, resultContinuation) {
    this.peg_1 = $courseBlockUid;
    this.qeg_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.reg_1.a5o(1, this.peg_1);
            this.reg_1.n5n(2, this.qeg_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.reg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda(this.peg_1, this.qeg_1, completion);
    i.reg_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda_0($courseBlockUid, $includeDeleted, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda($courseBlockUid, $includeDeleted, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$findByUid$slambda$lambda(_result) {
    return mapNextRow(_result, null, DiscussionPostDao_JdbcImpl$findByUid$slambda$lambda$lambda(_result));
  }
  function DiscussionPostDao_JdbcImpl$findByUid$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_discussionPostUid = $_result.d5t('discussionPostUid');
      var _tmp_discussionPostReplyToPostUid = $_result.d5t('discussionPostReplyToPostUid');
      var _tmp_discussionPostTitle = $_result.rz('discussionPostTitle');
      var _tmp_discussionPostMessage = $_result.rz('discussionPostMessage');
      var _tmp_discussionPostStartDate = $_result.d5t('discussionPostStartDate');
      var _tmp_discussionPostCourseBlockUid = $_result.d5t('discussionPostCourseBlockUid');
      var _tmp_dpDeleted = $_result.o6c('dpDeleted');
      var _tmp_discussionPostStartedPersonUid = $_result.d5t('discussionPostStartedPersonUid');
      var _tmp_discussionPostClazzUid = $_result.d5t('discussionPostClazzUid');
      var _tmp_discussionPostLct = $_result.d5t('discussionPostLct');
      var _tmp_discussionPostVisible = $_result.o6c('discussionPostVisible');
      var _tmp_discussionPostArchive = $_result.o6c('discussionPostArchive');
      // Inline function 'kotlin.apply' call
      var this_0 = new DiscussionPost();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.DiscussionPostDao_JdbcImpl.findByUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.cee_1 = _tmp_discussionPostUid;
      this_0.dee_1 = _tmp_discussionPostReplyToPostUid;
      this_0.eee_1 = _tmp_discussionPostTitle;
      this_0.fee_1 = _tmp_discussionPostMessage;
      this_0.gee_1 = _tmp_discussionPostStartDate;
      this_0.hee_1 = _tmp_discussionPostCourseBlockUid;
      this_0.iee_1 = _tmp_dpDeleted;
      this_0.jee_1 = _tmp_discussionPostStartedPersonUid;
      this_0.kee_1 = _tmp_discussionPostClazzUid;
      this_0.lee_1 = _tmp_discussionPostLct;
      this_0.mee_1 = _tmp_discussionPostVisible;
      this_0.nee_1 = _tmp_discussionPostArchive;
      return this_0;
    };
  }
  function DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.c67(1);
    };
  }
  function DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda($uid, resultContinuation) {
    this.aeh_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).m8r = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.m8r((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.beh_1.a5o(1, this.aeh_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.beh_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda(this.aeh_1, completion);
    i.beh_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda_0($uid, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.m8r(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda$lambda$lambda(_result));
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var _tmp_DiscussionPost_nullCount = 0;
      var _tmp_discussionPostUid = $_result.d5t('discussionPostUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_discussionPostReplyToPostUid = $_result.d5t('discussionPostReplyToPostUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_discussionPostTitle = $_result.rz('discussionPostTitle');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_discussionPostMessage = $_result.rz('discussionPostMessage');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_discussionPostStartDate = $_result.d5t('discussionPostStartDate');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_discussionPostCourseBlockUid = $_result.d5t('discussionPostCourseBlockUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_dpDeleted = $_result.o6c('dpDeleted');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_discussionPostStartedPersonUid = $_result.d5t('discussionPostStartedPersonUid');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_discussionPostClazzUid = $_result.d5t('discussionPostClazzUid');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_discussionPostLct = $_result.d5t('discussionPostLct');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_discussionPostVisible = $_result.o6c('discussionPostVisible');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_discussionPostArchive = $_result.o6c('discussionPostArchive');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_DiscussionPost_nullCount = _tmp_DiscussionPost_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_DiscussionPost_isAllNull = _tmp_DiscussionPost_nullCount === 12;
      // Inline function 'kotlin.apply' call
      var this_0 = new DiscussionPostAndPosterNames();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.deh_1 = _tmp_firstNames;
      this_0.eeh_1 = _tmp_lastName;
      this_0.feh_1 = _tmp_personPictureUri;
      if (!_tmp_DiscussionPost_isAllNull) {
        var tmp_11 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new DiscussionPost();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.cee_1 = _tmp_discussionPostUid;
        this_1.dee_1 = _tmp_discussionPostReplyToPostUid;
        this_1.eee_1 = _tmp_discussionPostTitle;
        this_1.fee_1 = _tmp_discussionPostMessage;
        this_1.gee_1 = _tmp_discussionPostStartDate;
        this_1.hee_1 = _tmp_discussionPostCourseBlockUid;
        this_1.iee_1 = _tmp_dpDeleted;
        this_1.jee_1 = _tmp_discussionPostStartedPersonUid;
        this_1.kee_1 = _tmp_discussionPostClazzUid;
        this_1.lee_1 = _tmp_discussionPostLct;
        this_1.mee_1 = _tmp_discussionPostVisible;
        this_1.nee_1 = _tmp_discussionPostArchive;
        tmp_11.ceh_1 = this_1;
      }
      return this_0;
    };
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda$lambda$lambda(_result));
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda($postUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    this.oeh_1 = $postUid;
    this.peh_1 = $includeDeleted;
    this.qeh_1 = $_limit;
    this.reh_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda).teh = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda).he = function (p1, $completion) {
    return this.teh((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.seh_1.a5o(1, this.oeh_1);
            this.seh_1.a5o(2, this.oeh_1);
            this.seh_1.n5n(3, this.peh_1);
            this.seh_1.z5n(4, this.qeh_1);
            this.seh_1.z5n(5, this.reh_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.seh_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda(this.oeh_1, this.peh_1, this.qeh_1, this.reh_1, completion);
    i.seh_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda_0($postUid, $includeDeleted, $_limit, $_offset, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda($postUid, $includeDeleted, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.teh(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda($postUid, $includeDeleted, resultContinuation) {
    this.cei_1 = $postUid;
    this.dei_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.eei_1.a5o(1, this.cei_1);
            this.eei_1.a5o(2, this.cei_1);
            this.eei_1.n5n(3, this.dei_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.eei_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda(this.cei_1, this.dei_1, completion);
    i.eei_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda_0($postUid, $includeDeleted, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda($postUid, $includeDeleted, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.fei_1);
  }
  protoOf(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_upsert$1).kei = function (stmt, entity) {
    if (entity.cee_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.cee_1);
    }
    stmt.a5o(2, entity.dee_1);
    stmt.d5o(3, entity.eee_1);
    stmt.d5o(4, entity.fee_1);
    stmt.a5o(5, entity.gee_1);
    stmt.a5o(6, entity.hee_1);
    stmt.n5n(7, entity.iee_1);
    stmt.a5o(8, entity.jee_1);
    stmt.a5o(9, entity.kee_1);
    stmt.a5o(10, entity.lee_1);
    stmt.n5n(11, entity.mee_1);
    stmt.n5n(12, entity.nee_1);
  };
  protoOf(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_upsert$1).u5l = function (stmt, entity) {
    return this.kei(stmt, entity instanceof DiscussionPost ? entity : THROW_CCE());
  };
  function DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.fei_1);
  }
  protoOf(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_abort$1).kei = function (stmt, entity) {
    if (entity.cee_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.cee_1);
    }
    stmt.a5o(2, entity.dee_1);
    stmt.d5o(3, entity.eee_1);
    stmt.d5o(4, entity.fee_1);
    stmt.a5o(5, entity.gee_1);
    stmt.a5o(6, entity.hee_1);
    stmt.n5n(7, entity.iee_1);
    stmt.a5o(8, entity.jee_1);
    stmt.a5o(9, entity.kee_1);
    stmt.a5o(10, entity.lee_1);
    stmt.n5n(11, entity.mee_1);
    stmt.n5n(12, entity.nee_1);
  };
  protoOf(DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_abort$1).u5l = function (stmt, entity) {
    return this.kei(stmt, entity instanceof DiscussionPost ? entity : THROW_CCE());
  };
  function DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$1(this$0, $courseBlockUid, $includeDeleted) {
    this.tei_1 = this$0;
    this.uei_1 = $courseBlockUid;
    this.vei_1 = $includeDeleted;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Person', 'PersonPicture', 'DiscussionPost'];
    DoorLimitOffsetPagingSource.call(this, this$0.fei_1, tmp$ret$2);
  }
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$1).wei = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames as authorPersonFirstNames,\n               Person.lastName as authorPersonLastName,\n               PersonPicture.personPictureThumbnailUri AS authorPictureUri,\n               MostRecentReply.discussionPostMessage AS postLatestMessage,\n               COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp,\n               (SELECT COUNT(*)\n                  FROM DiscussionPost DiscussionPostReplies\n                 WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                   AND NOT DiscussionPostReplies.dpDeleted\n               ) AS postRepliesCount\n          FROM DiscussionPost\n               LEFT JOIN DiscussionPost AS MostRecentReply\n                         ON MostRecentReply.discussionPostUid = \n                            (SELECT MostRecentReplyInner.discussionPostUid\n                               FROM DiscussionPost AS MostRecentReplyInner\n                              WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                           ORDER BY MostRecentReplyInner.discussionPostStartDate DESC\n                              LIMIT 1  \n                            )\n               LEFT JOIN Person \n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE DiscussionPost.discussionPostCourseBlockUid = CAST(? AS BIGINT)\n           AND DiscussionPost.discussionPostReplyToPostUid = 0\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY DiscussionPost.discussionPostStartDate DESC          \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames as authorPersonFirstNames,\n               Person.lastName as authorPersonLastName,\n               PersonPicture.personPictureThumbnailUri AS authorPictureUri,\n               MostRecentReply.discussionPostMessage AS postLatestMessage,\n               COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp,\n               (SELECT COUNT(*)\n                  FROM DiscussionPost DiscussionPostReplies\n                 WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                   AND NOT DiscussionPostReplies.dpDeleted\n               ) AS postRepliesCount\n          FROM DiscussionPost\n               LEFT JOIN DiscussionPost AS MostRecentReply\n                         ON MostRecentReply.discussionPostUid = \n                            (SELECT MostRecentReplyInner.discussionPostUid\n                               FROM DiscussionPost AS MostRecentReplyInner\n                              WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                           ORDER BY MostRecentReplyInner.discussionPostStartDate DESC\n                              LIMIT 1  \n                            )\n               LEFT JOIN Person \n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE DiscussionPost.discussionPostCourseBlockUid = ?\n           AND DiscussionPost.discussionPostReplyToPostUid = 0\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY DiscussionPost.discussionPostStartDate DESC          \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.tei_1.fei_1, tmp, DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$loadRows$slambda_0(this.uei_1, this.vei_1, _limit, _offset, null), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$1).b5w = function (_limit, _offset, $completion) {
    return this.wei(_limit, _offset, $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames as authorPersonFirstNames,\n               Person.lastName as authorPersonLastName,\n               PersonPicture.personPictureThumbnailUri AS authorPictureUri,\n               MostRecentReply.discussionPostMessage AS postLatestMessage,\n               COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp,\n               (SELECT COUNT(*)\n                  FROM DiscussionPost DiscussionPostReplies\n                 WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                   AND NOT DiscussionPostReplies.dpDeleted\n               ) AS postRepliesCount\n          FROM DiscussionPost\n               LEFT JOIN DiscussionPost AS MostRecentReply\n                         ON MostRecentReply.discussionPostUid = \n                            (SELECT MostRecentReplyInner.discussionPostUid\n                               FROM DiscussionPost AS MostRecentReplyInner\n                              WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                           ORDER BY MostRecentReplyInner.discussionPostStartDate DESC\n                              LIMIT 1  \n                            )\n               LEFT JOIN Person \n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE DiscussionPost.discussionPostCourseBlockUid = CAST(? AS BIGINT)\n           AND DiscussionPost.discussionPostReplyToPostUid = 0\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY DiscussionPost.discussionPostStartDate DESC          \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames as authorPersonFirstNames,\n               Person.lastName as authorPersonLastName,\n               PersonPicture.personPictureThumbnailUri AS authorPictureUri,\n               MostRecentReply.discussionPostMessage AS postLatestMessage,\n               COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp,\n               (SELECT COUNT(*)\n                  FROM DiscussionPost DiscussionPostReplies\n                 WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                   AND NOT DiscussionPostReplies.dpDeleted\n               ) AS postRepliesCount\n          FROM DiscussionPost\n               LEFT JOIN DiscussionPost AS MostRecentReply\n                         ON MostRecentReply.discussionPostUid = \n                            (SELECT MostRecentReplyInner.discussionPostUid\n                               FROM DiscussionPost AS MostRecentReplyInner\n                              WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid\n                           ORDER BY MostRecentReplyInner.discussionPostStartDate DESC\n                              LIMIT 1  \n                            )\n               LEFT JOIN Person \n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE DiscussionPost.discussionPostCourseBlockUid = ?\n           AND DiscussionPost.discussionPostReplyToPostUid = 0\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)\n      ORDER BY DiscussionPost.discussionPostStartDate DESC          \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.tei_1.fei_1, tmp, DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$o$countRows$slambda_0(this.uei_1, this.vei_1, null), $completion);
  };
  function DiscussionPostDao_JdbcImpl$findByUid$slambda($uid, resultContinuation) {
    this.fej_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$findByUid$slambda).hej = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByUid$slambda).he = function (p1, $completion) {
    return this.hej((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.gej_1.a5o(1, this.fej_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.gej_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, DiscussionPostDao_JdbcImpl$findByUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByUid$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$findByUid$slambda(this.fej_1, completion);
    i.gej_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$findByUid$slambda_0($uid, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$findByUid$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.hej(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.qej_1 = this$0;
    this.rej_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda).p8w = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda).r7e = function ($completion) {
    return this.p8w($completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT DiscussionPost.discussionPostTitle\n          FROM DiscussionPost\n         WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT DiscussionPost.discussionPostTitle\n          FROM DiscussionPost\n         WHERE DiscussionPost.discussionPostUid = ?\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.qej_1.fei_1, tmp_0, DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda$slambda_0(this.rej_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda).q7e = function (completion) {
    return new DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda(this.qej_1, this.rej_1, completion);
  };
  function DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.p8w($completion);
    };
    l.$arity = 0;
    return l;
  }
  function DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$1(this$0, $postUid, $includeDeleted) {
    this.yej_1 = this$0;
    this.zej_1 = $postUid;
    this.aek_1 = $includeDeleted;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Person', 'PersonPicture', 'DiscussionPost'];
    DoorLimitOffsetPagingSource.call(this, this$0.fei_1, tmp$ret$2);
  }
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$1).bek = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames,\n               Person.lastName,\n               PersonPicture.personPictureThumbnailUri AS personPictureUri\n          FROM DiscussionPost\n               LEFT JOIN Person\n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE (DiscussionPost.discussionPostUid = CAST(? AS BIGINT)\n                 OR DiscussionPost.discussionPostReplyToPostUid= CAST(? AS BIGINT))\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)      \n            -- Always get the starting post first, followed by replies\n      ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid)\n               WHEN 0 THEN 0\n               ELSE 1 END ASC,\n               DiscussionPost.discussionPostStartDate DESC \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames,\n               Person.lastName,\n               PersonPicture.personPictureThumbnailUri AS personPictureUri\n          FROM DiscussionPost\n               LEFT JOIN Person\n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE (DiscussionPost.discussionPostUid = ?\n                 OR DiscussionPost.discussionPostReplyToPostUid= ?)\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)      \n            -- Always get the starting post first, followed by replies\n      ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid)\n               WHEN 0 THEN 0\n               ELSE 1 END ASC,\n               DiscussionPost.discussionPostStartDate DESC \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.yej_1.fei_1, tmp, DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$loadRows$slambda_0(this.zej_1, this.aek_1, _limit, _offset, null), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$1).b5w = function (_limit, _offset, $completion) {
    return this.bek(_limit, _offset, $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames,\n               Person.lastName,\n               PersonPicture.personPictureThumbnailUri AS personPictureUri\n          FROM DiscussionPost\n               LEFT JOIN Person\n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE (DiscussionPost.discussionPostUid = CAST(? AS BIGINT)\n                 OR DiscussionPost.discussionPostReplyToPostUid= CAST(? AS BIGINT))\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)      \n            -- Always get the starting post first, followed by replies\n      ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid)\n               WHEN 0 THEN 0\n               ELSE 1 END ASC,\n               DiscussionPost.discussionPostStartDate DESC \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT DiscussionPost.*,\n               Person.firstNames,\n               Person.lastName,\n               PersonPicture.personPictureThumbnailUri AS personPictureUri\n          FROM DiscussionPost\n               LEFT JOIN Person\n                         ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid\n         WHERE (DiscussionPost.discussionPostUid = ?\n                 OR DiscussionPost.discussionPostReplyToPostUid= ?)\n           AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1)      \n            -- Always get the starting post first, followed by replies\n      ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid)\n               WHEN 0 THEN 0\n               ELSE 1 END ASC,\n               DiscussionPost.discussionPostStartDate DESC \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.yej_1.fei_1, tmp, DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$o$countRows$slambda_0(this.zej_1, this.aek_1, null), $completion);
  };
  function DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda($deleted, $updateTime, $uid, resultContinuation) {
    this.kek_1 = $deleted;
    this.lek_1 = $updateTime;
    this.mek_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.nek_1.n5n(1, this.kek_1);
            this.nek_1.a5o(2, this.lek_1);
            this.nek_1.a5o(3, this.mek_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.nek_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda).r5l = function (_stmt, completion) {
    var i = new DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda(this.kek_1, this.lek_1, this.mek_1, completion);
    i.nek_1 = _stmt;
    return i;
  };
  function DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda_0($deleted, $updateTime, $uid, resultContinuation) {
    var i = new DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda($deleted, $updateTime, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$231(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wek_1 = _this__u8e3s4;
    this.xek_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$231).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.wek_1.hei_1.b5n(this.xek_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $setDeletedAsyncCOROUTINE$233(_this__u8e3s4, uid, deleted, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gel_1 = _this__u8e3s4;
    this.hel_1 = uid;
    this.iel_1 = deleted;
    this.jel_1 = updateTime;
  }
  protoOf($setDeletedAsyncCOROUTINE$233).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE DiscussionPost\n           SET dpDeleted = ?,\n               discussionPostLct = CAST(? AS BIGINT)\n         WHERE discussionPostUid = CAST(? AS BIGINT)   \n    ', VOID, VOID, VOID, '\n        UPDATE DiscussionPost\n           SET dpDeleted = ?,\n               discussionPostLct = ?\n         WHERE discussionPostUid = ?   \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.gel_1.fei_1, tmp_0, DiscussionPostDao_JdbcImpl$setDeletedAsync$slambda_0(this.iel_1, this.jel_1, this.hel_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function DiscussionPostDao_JdbcImpl(_db) {
    DiscussionPostDao.call(this);
    this.fei_1 = _db;
    var tmp = this;
    tmp.gei_1 = new DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_upsert$1(this);
    var tmp_0 = this;
    tmp_0.hei_1 = new DiscussionPostDao_JdbcImpl$_insertAdapterDiscussionPost_abort$1(this);
  }
  protoOf(DiscussionPostDao_JdbcImpl).med = function (entity, $completion) {
    return this.gei_1.a5n(entity, $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl).aef = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$231(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.aef(entity instanceof DiscussionPost ? entity : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl).jed = function (courseBlockUid, includeDeleted) {
    return new DiscussionPostDao_JdbcImpl$getTopLevelPostsByCourseBlockUid$1(this, courseBlockUid, includeDeleted);
  };
  protoOf(DiscussionPostDao_JdbcImpl).ked = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT * \n         FROM DiscussionPost\n        WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT * \n         FROM DiscussionPost\n        WHERE DiscussionPost.discussionPostUid = ?\n    \n', true);
    return prepareAndUseStatementAsync(this.fei_1, tmp, DiscussionPostDao_JdbcImpl$findByUid$slambda_0(uid, null), $completion);
  };
  protoOf(DiscussionPostDao_JdbcImpl).u8i = function (uid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['DiscussionPost'];
    return doorFlow(this.fei_1, tmp, DiscussionPostDao_JdbcImpl$getTitleByUidAsFlow$slambda_0(this, uid, null));
  };
  protoOf(DiscussionPostDao_JdbcImpl).led = function (postUid, includeDeleted) {
    return new DiscussionPostDao_JdbcImpl$findByPostIdWithAllReplies$1(this, postUid, includeDeleted);
  };
  protoOf(DiscussionPostDao_JdbcImpl).ned = function (uid, deleted, updateTime, $completion) {
    var tmp = new $setDeletedAsyncCOROUTINE$233(this, uid, deleted, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda(this$0, $courseBlockUid, $includeDeleted, resultContinuation) {
    this.sel_1 = this$0;
    this.tel_1 = $courseBlockUid;
    this.uel_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.xel_1 = this.sel_1.gem_1;
            var tmp_1 = this;
            tmp_1.yel_1 = 'DiscussionPostDao/getTopLevelPostsByCourseBlockUid';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.zel_1 = this.sel_1.iem_1;
            var tmp_3 = this;
            tmp_3.aem_1 = this.zel_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.sel_1.gem_1.a3d(), 'DiscussionPostDao/getTopLevelPostsByCourseBlockUid');
            doorNodeIdHeader(this_0, this.sel_1.gem_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'courseBlockUid', this.sel_1.gem_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.tel_1));
            parameter(this_0, 'includeDeleted', this.sel_1.gem_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.uel_1));
            pagingSourceLoadParameters(this_0, this.sel_1.gem_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.vel_1);
            tmp_4.bem_1 = this_0;
            this.bem_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.cem_1 = this.aem_1;
            var tmp_6 = this;
            tmp_6.dem_1 = this.bem_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.dem_1, this.cem_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.eem_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.sel_1.fem_1, this.eem_1, this.sel_1.gem_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.wel_1 = endOfPaginationReached(this.eem_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda$lambda(this.xel_1, this.yel_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.wel_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda).d8c = function (_pagingParams, completion) {
    var i = new DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda(this.sel_1, this.tel_1, this.uel_1, completion);
    i.vel_1 = _pagingParams;
    return i;
  };
  function DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda_0(this$0, $courseBlockUid, $includeDeleted, resultContinuation) {
    var i = new DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda(this$0, $courseBlockUid, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda(this$0, $postUid, $includeDeleted, resultContinuation) {
    this.tem_1 = this$0;
    this.uem_1 = $postUid;
    this.vem_1 = $includeDeleted;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.yem_1 = this.tem_1.gem_1;
            var tmp_1 = this;
            tmp_1.zem_1 = 'DiscussionPostDao/findByPostIdWithAllReplies';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.aen_1 = this.tem_1.iem_1;
            var tmp_3 = this;
            tmp_3.ben_1 = this.aen_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.tem_1.gem_1.a3d(), 'DiscussionPostDao/findByPostIdWithAllReplies');
            doorNodeIdHeader(this_0, this.tem_1.gem_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'postUid', this.tem_1.gem_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.uem_1));
            parameter(this_0, 'includeDeleted', this.tem_1.gem_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.vem_1));
            pagingSourceLoadParameters(this_0, this.tem_1.gem_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.wem_1);
            tmp_4.cen_1 = this_0;
            this.cen_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.den_1 = this.ben_1;
            var tmp_6 = this;
            tmp_6.een_1 = this.cen_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.een_1, this.den_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.fen_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.tem_1.fem_1, this.fen_1, this.tem_1.gem_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.xem_1 = endOfPaginationReached(this.fen_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda$lambda(this.yem_1, this.zem_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.xem_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda).d8c = function (_pagingParams, completion) {
    var i = new DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda(this.tem_1, this.uem_1, this.vem_1, completion);
    i.wem_1 = _pagingParams;
    return i;
  };
  function DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda_0(this$0, $postUid, $includeDeleted, resultContinuation) {
    var i = new DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda(this$0, $postUid, $includeDeleted, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function DiscussionPostDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation) {
    this.oen_1 = this$0;
    this.pen_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_Repo$upsertAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(DiscussionPostDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.oen_1.hem_1.med(this.pen_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new DiscussionPostDao_Repo$upsertAsync$slambda(this.oen_1, this.pen_1, completion);
  };
  function DiscussionPostDao_Repo$upsertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new DiscussionPostDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function DiscussionPostDao_Repo$setDeletedAsync$slambda(this$0, $uid, $deleted, $updateTime, resultContinuation) {
    this.yen_1 = this$0;
    this.zen_1 = $uid;
    this.aeo_1 = $deleted;
    this.beo_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_Repo$setDeletedAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo$setDeletedAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(DiscussionPostDao_Repo$setDeletedAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.yen_1.hem_1.ned(this.zen_1, this.aeo_1, this.beo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_Repo$setDeletedAsync$slambda).q7e = function (completion) {
    return new DiscussionPostDao_Repo$setDeletedAsync$slambda(this.yen_1, this.zen_1, this.aeo_1, this.beo_1, completion);
  };
  function DiscussionPostDao_Repo$setDeletedAsync$slambda_0(this$0, $uid, $deleted, $updateTime, resultContinuation) {
    var i = new DiscussionPostDao_Repo$setDeletedAsync$slambda(this$0, $uid, $deleted, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function DiscussionPostDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.keo_1 = this$0;
    this.leo_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DiscussionPostDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(DiscussionPostDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.keo_1.hem_1.insertAsync(this.leo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DiscussionPostDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new DiscussionPostDao_Repo$insertAsync$slambda(this.keo_1, this.leo_1, completion);
  };
  function DiscussionPostDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new DiscussionPostDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByUidCOROUTINE$237(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ueo_1 = _this__u8e3s4;
    this.veo_1 = uid;
  }
  protoOf($findByUidCOROUTINE$237).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ueo_1.hem_1.ked(this.veo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$240(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.eep_1 = _this__u8e3s4;
    this.fep_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$240).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.eep_1.gem_1, 'DiscussionPost', DiscussionPostDao_Repo$insertAsync$slambda_0(this.eep_1, this.fep_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function DiscussionPostDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    DiscussionPostDao.call(this);
    this.fem_1 = _db;
    this.gem_1 = _repo;
    this.hem_1 = _dao;
    this.iem_1 = _httpClient;
    this.jem_1 = _clientId;
    this.kem_1 = _endpoint;
  }
  protoOf(DiscussionPostDao_Repo).jed = function (courseBlockUid, includeDeleted) {
    var tmp = this.hem_1.jed(courseBlockUid, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.gem_1, 'DiscussionPostDao/getTopLevelPostsByCourseBlockUid', tmp, DiscussionPostDao_Repo$getTopLevelPostsByCourseBlockUid$slambda_0(this, courseBlockUid, includeDeleted, null));
  };
  protoOf(DiscussionPostDao_Repo).ked = function (uid, $completion) {
    var tmp = new $findByUidCOROUTINE$237(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo).u8i = function (uid) {
    var _result = this.hem_1.u8i(uid);
    return _result;
  };
  protoOf(DiscussionPostDao_Repo).led = function (postUid, includeDeleted) {
    var tmp = this.hem_1.led(postUid, includeDeleted);
    return new DoorRepositoryReplicatePullPagingSource(this.gem_1, 'DiscussionPostDao/findByPostIdWithAllReplies', tmp, DiscussionPostDao_Repo$findByPostIdWithAllReplies$slambda_0(this, postUid, includeDeleted, null));
  };
  protoOf(DiscussionPostDao_Repo).med = function (entity, $completion) {
    return withRepoChangeMonitorAsync(this.gem_1, 'DiscussionPost', DiscussionPostDao_Repo$upsertAsync$slambda_0(this, entity, null), $completion);
  };
  protoOf(DiscussionPostDao_Repo).ned = function (uid, deleted, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.gem_1, 'DiscussionPost', DiscussionPostDao_Repo$setDeletedAsync$slambda_0(this, uid, deleted, updateTime, null), $completion);
  };
  protoOf(DiscussionPostDao_Repo).aef = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$240(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DiscussionPostDao_Repo).insertAsync = function (entity, $completion) {
    return this.aef(entity instanceof DiscussionPost ? entity : THROW_CCE(), $completion);
  };
  function EnrolmentRequestDao() {
  }
  function $insertCOROUTINE$241(_this__u8e3s4, enrolmentRequest, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tep_1 = _this__u8e3s4;
    this.uep_1 = enrolmentRequest;
  }
  protoOf($insertCOROUTINE$241).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.vep_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.tep_1.xep_1));
            if (this.uep_1.zep_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.vep_1.t68(10070, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.wep_1 = suspendResult;
            this.uep_1.zep_1 = this.wep_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.uep_1.meq_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.tep_1.yep_1.gep(this.uep_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function EnrolmentRequestDao_DoorWrapper(_db, _dao) {
    EnrolmentRequestDao.call(this);
    this.xep_1 = _db;
    this.yep_1 = _dao;
  }
  protoOf(EnrolmentRequestDao_DoorWrapper).gep = function (enrolmentRequest, $completion) {
    var tmp = new $insertCOROUTINE$241(this, enrolmentRequest, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_DoorWrapper).hep = function (personUid, clazzUid, $completion) {
    return this.yep_1.hep(personUid, clazzUid, $completion);
  };
  protoOf(EnrolmentRequestDao_DoorWrapper).iep = function (accountPersonUid, statusFilter) {
    return this.yep_1.iep(accountPersonUid, statusFilter);
  };
  protoOf(EnrolmentRequestDao_DoorWrapper).jep = function (uid, status, updateTime, $completion) {
    return this.yep_1.jep(uid, status, updateTime, $completion);
  };
  protoOf(EnrolmentRequestDao_DoorWrapper).kep = function (clazzUid, includeDeleted, statusFilter, searchText, sortOrder) {
    return this.yep_1.kep(clazzUid, includeDeleted, statusFilter, searchText, sortOrder);
  };
  function EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda$lambda(_result) {
    return mapNextRow(_result, false, EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda$lambda$lambda(_result));
  }
  function EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_EnrolmentRequest_nullCount = 0;
      var _tmp_erUid = $_result.d5t('erUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_erClazzUid = $_result.d5t('erClazzUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_erClazzName = $_result.rz('erClazzName');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_erPersonUid = $_result.d5t('erPersonUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_erPersonFullname = $_result.rz('erPersonFullname');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_erPersonPictureUri = $_result.rz('erPersonPictureUri');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_erPersonUsername = $_result.rz('erPersonUsername');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_erRole = $_result.c5t('erRole');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_erRequestTime = $_result.d5t('erRequestTime');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_erStatus = $_result.c5t('erStatus');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_erStatusSetByPersonUid = $_result.d5t('erStatusSetByPersonUid');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_erDeleted = $_result.o6c('erDeleted');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_erStatusSetAuth = $_result.rz('erStatusSetAuth');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_erLastModified = $_result.d5t('erLastModified');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_EnrolmentRequest_isAllNull = _tmp_EnrolmentRequest_nullCount === 14;
      var _tmp_CoursePicture_nullCount = 0;
      var _tmp_coursePictureUid = $_result.d5t('coursePictureUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_coursePictureLct = $_result.d5t('coursePictureLct');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_coursePictureUri = $_result.rz('coursePictureUri');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_coursePictureThumbnailUri = $_result.rz('coursePictureThumbnailUri');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_coursePictureActive = $_result.o6c('coursePictureActive');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_CoursePicture_nullCount = _tmp_CoursePicture_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_CoursePicture_isAllNull = _tmp_CoursePicture_nullCount === 5;
      // Inline function 'kotlin.apply' call
      var this_0 = new EnrolmentRequestAndCoursePic();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.EnrolmentRequestDao_JdbcImpl.findRequestsForUserAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_EnrolmentRequest_isAllNull) {
        var tmp_18 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new EnrolmentRequest();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.EnrolmentRequestDao_JdbcImpl.findRequestsForUserAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.zep_1 = _tmp_erUid;
        this_1.aeq_1 = _tmp_erClazzUid;
        this_1.beq_1 = _tmp_erClazzName;
        this_1.ceq_1 = _tmp_erPersonUid;
        this_1.deq_1 = _tmp_erPersonFullname;
        this_1.eeq_1 = _tmp_erPersonPictureUri;
        this_1.feq_1 = _tmp_erPersonUsername;
        this_1.geq_1 = _tmp_erRole;
        this_1.heq_1 = _tmp_erRequestTime;
        this_1.ieq_1 = _tmp_erStatus;
        this_1.jeq_1 = _tmp_erStatusSetByPersonUid;
        this_1.keq_1 = _tmp_erDeleted;
        this_1.leq_1 = _tmp_erStatusSetAuth;
        this_1.meq_1 = _tmp_erLastModified;
        tmp_18.neq_1 = this_1;
      }
      if (!_tmp_CoursePicture_isAllNull) {
        var tmp_19 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new CoursePicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.EnrolmentRequestDao_JdbcImpl.findRequestsForUserAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.l8m_1 = _tmp_coursePictureUid;
        this_2.m8m_1 = _tmp_coursePictureLct;
        this_2.n8m_1 = _tmp_coursePictureUri;
        this_2.o8m_1 = _tmp_coursePictureThumbnailUri;
        this_2.p8m_1 = _tmp_coursePictureActive;
        tmp_19.oeq_1 = this_2;
      }
      return this_0;
    };
  }
  function EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda($accountPersonUid, $statusFilter, resultContinuation) {
    this.xeq_1 = $accountPersonUid;
    this.yeq_1 = $statusFilter;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda).aer = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.aer((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.zeq_1.a5o(1, this.xeq_1);
            this.zeq_1.z5n(2, this.yeq_1);
            this.zeq_1.z5n(3, this.yeq_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.zeq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda(this.xeq_1, this.yeq_1, completion);
    i.zeq_1 = _stmt;
    return i;
  };
  function EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda_0($accountPersonUid, $statusFilter, resultContinuation) {
    var i = new EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda($accountPersonUid, $statusFilter, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.aer(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda$lambda$lambda(_result));
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_EnrolmentRequest_nullCount = 0;
      var _tmp_erUid = $_result.d5t('erUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_erClazzUid = $_result.d5t('erClazzUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_erClazzName = $_result.rz('erClazzName');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_erPersonUid = $_result.d5t('erPersonUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_erPersonFullname = $_result.rz('erPersonFullname');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_erPersonPictureUri = $_result.rz('erPersonPictureUri');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_erPersonUsername = $_result.rz('erPersonUsername');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_erRole = $_result.c5t('erRole');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_erRequestTime = $_result.d5t('erRequestTime');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_erStatus = $_result.c5t('erStatus');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_erStatusSetByPersonUid = $_result.d5t('erStatusSetByPersonUid');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_erDeleted = $_result.o6c('erDeleted');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_erStatusSetAuth = $_result.rz('erStatusSetAuth');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_erLastModified = $_result.d5t('erLastModified');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_EnrolmentRequest_nullCount = _tmp_EnrolmentRequest_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_EnrolmentRequest_isAllNull = _tmp_EnrolmentRequest_nullCount === 14;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      // Inline function 'kotlin.apply' call
      var this_0 = new EnrolmentRequestAndPersonDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_EnrolmentRequest_isAllNull) {
        var tmp_43 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new EnrolmentRequest();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.zep_1 = _tmp_erUid;
        this_1.aeq_1 = _tmp_erClazzUid;
        this_1.beq_1 = _tmp_erClazzName;
        this_1.ceq_1 = _tmp_erPersonUid;
        this_1.deq_1 = _tmp_erPersonFullname;
        this_1.eeq_1 = _tmp_erPersonPictureUri;
        this_1.feq_1 = _tmp_erPersonUsername;
        this_1.geq_1 = _tmp_erRole;
        this_1.heq_1 = _tmp_erRequestTime;
        this_1.ieq_1 = _tmp_erStatus;
        this_1.jeq_1 = _tmp_erStatusSetByPersonUid;
        this_1.keq_1 = _tmp_erDeleted;
        this_1.leq_1 = _tmp_erStatusSetAuth;
        this_1.meq_1 = _tmp_erLastModified;
        tmp_43.ber_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_44 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_44.cer_1 = this_2;
      }
      if (!_tmp_Person_isAllNull) {
        var tmp_45 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.x9b_1 = _tmp_personUid;
        this_3.y9b_1 = _tmp_username;
        this_3.z9b_1 = _tmp_firstNames;
        this_3.a9c_1 = _tmp_lastName;
        this_3.b9c_1 = _tmp_emailAddr;
        this_3.c9c_1 = _tmp_phoneNum;
        this_3.d9c_1 = _tmp_gender;
        this_3.e9c_1 = _tmp_active;
        this_3.f9c_1 = _tmp_dateOfBirth;
        this_3.g9c_1 = _tmp_personAddress;
        this_3.h9c_1 = _tmp_personOrgId;
        this_3.i9c_1 = _tmp_personGroupUid;
        this_3.j9c_1 = _tmp_personLct;
        this_3.k9c_1 = _tmp_personCountry;
        this_3.l9c_1 = _tmp_personType;
        this_3.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_3.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_3.o9c_1 = _tmp_personLastChangedBy;
        this_3.p9c_1 = _tmp_admin;
        this_3.q9c_1 = _tmp_personNotes;
        this_3.r9c_1 = _tmp_fatherName;
        this_3.s9c_1 = _tmp_fatherNumber;
        this_3.t9c_1 = _tmp_motherName;
        this_3.u9c_1 = _tmp_motherNum;
        tmp_45.der_1 = this_3;
      }
      return this_0;
    };
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda$lambda$lambda(_result));
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda($clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.mer_1 = $clazzUid;
    this.ner_1 = $statusFilter;
    this.oer_1 = $includeDeleted;
    this.per_1 = $searchText;
    this.qer_1 = $sortOrder;
    this.rer_1 = $_limit;
    this.ser_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda).uer = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda).he = function (p1, $completion) {
    return this.uer((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ter_1.a5o(1, this.mer_1);
            this.ter_1.z5n(2, this.ner_1);
            this.ter_1.z5n(3, this.ner_1);
            this.ter_1.n5n(4, this.oer_1);
            this.ter_1.d5o(5, this.per_1);
            this.ter_1.d5o(6, this.per_1);
            this.ter_1.z5n(7, this.qer_1);
            this.ter_1.z5n(8, this.qer_1);
            this.ter_1.z5n(9, this.qer_1);
            this.ter_1.z5n(10, this.qer_1);
            this.ter_1.z5n(11, this.rer_1);
            this.ter_1.z5n(12, this.ser_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ter_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda(this.mer_1, this.ner_1, this.oer_1, this.per_1, this.qer_1, this.rer_1, this.ser_1, completion);
    i.ter_1 = _stmt;
    return i;
  };
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda_0($clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda($clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.uer(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda($clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder, resultContinuation) {
    this.des_1 = $clazzUid;
    this.ees_1 = $statusFilter;
    this.fes_1 = $includeDeleted;
    this.ges_1 = $searchText;
    this.hes_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ies_1.a5o(1, this.des_1);
            this.ies_1.z5n(2, this.ees_1);
            this.ies_1.z5n(3, this.ees_1);
            this.ies_1.n5n(4, this.fes_1);
            this.ies_1.d5o(5, this.ges_1);
            this.ies_1.d5o(6, this.ges_1);
            this.ies_1.z5n(7, this.hes_1);
            this.ies_1.z5n(8, this.hes_1);
            this.ies_1.z5n(9, this.hes_1);
            this.ies_1.z5n(10, this.hes_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ies_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda(this.des_1, this.ees_1, this.fes_1, this.ges_1, this.hes_1, completion);
    i.ies_1 = _stmt;
    return i;
  };
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda_0($clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder, resultContinuation) {
    var i = new EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda($clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function EnrolmentRequestDao_JdbcImpl$_insertAdapterEnrolmentRequest_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.jes_1);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$_insertAdapterEnrolmentRequest_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO EnrolmentRequest (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$_insertAdapterEnrolmentRequest_abort$1).nes = function (stmt, entity) {
    if (entity.zep_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.zep_1);
    }
    stmt.a5o(2, entity.aeq_1);
    stmt.d5o(3, entity.beq_1);
    stmt.a5o(4, entity.ceq_1);
    stmt.d5o(5, entity.deq_1);
    stmt.d5o(6, entity.eeq_1);
    stmt.d5o(7, entity.feq_1);
    stmt.z5n(8, entity.geq_1);
    stmt.a5o(9, entity.heq_1);
    stmt.z5n(10, entity.ieq_1);
    stmt.a5o(11, entity.jeq_1);
    stmt.n5n(12, entity.keq_1);
    stmt.d5o(13, entity.leq_1);
    stmt.a5o(14, entity.meq_1);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$_insertAdapterEnrolmentRequest_abort$1).u5l = function (stmt, entity) {
    return this.nes(stmt, entity instanceof EnrolmentRequest ? entity : THROW_CCE());
  };
  function EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda($personUid, $clazzUid, resultContinuation) {
    this.wes_1 = $personUid;
    this.xes_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.yes_1.a5o(1, this.wes_1);
            this.yes_1.a5o(2, this.xes_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.yes_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda).r5l = function (_stmt, completion) {
    var i = new EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda(this.wes_1, this.xes_1, completion);
    i.yes_1 = _stmt;
    return i;
  };
  function EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda_0($personUid, $clazzUid, resultContinuation) {
    var i = new EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda($personUid, $clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda(this$0, $accountPersonUid, $statusFilter, resultContinuation) {
    this.het_1 = this$0;
    this.iet_1 = $accountPersonUid;
    this.jet_1 = $statusFilter;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda).ket = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda).r7e = function ($completion) {
    return this.ket($completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT EnrolmentRequest.*, CoursePicture.*\n          FROM EnrolmentRequest\n               LEFT JOIN CoursePicture\n                         ON CoursePicture.coursePictureUid = EnrolmentRequest.erClazzUid\n         WHERE EnrolmentRequest.erPersonUid = CAST(? AS BIGINT) \n           AND (? = 0 OR EnrolmentRequest.erStatus = ?)\n    ', VOID, VOID, VOID, '\n        SELECT EnrolmentRequest.*, CoursePicture.*\n          FROM EnrolmentRequest\n               LEFT JOIN CoursePicture\n                         ON CoursePicture.coursePictureUid = EnrolmentRequest.erClazzUid\n         WHERE EnrolmentRequest.erPersonUid = ? \n           AND (? = 0 OR EnrolmentRequest.erStatus = ?)\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.het_1.jes_1, tmp_0, EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda$slambda_0(this.iet_1, this.jet_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda).q7e = function (completion) {
    return new EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda(this.het_1, this.iet_1, this.jet_1, completion);
  };
  function EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda_0(this$0, $accountPersonUid, $statusFilter, resultContinuation) {
    var i = new EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda(this$0, $accountPersonUid, $statusFilter, resultContinuation);
    var l = function ($completion) {
      return i.ket($completion);
    };
    l.$arity = 0;
    return l;
  }
  function EnrolmentRequestDao_JdbcImpl$updateStatus$slambda($status, $updateTime, $uid, resultContinuation) {
    this.tet_1 = $status;
    this.uet_1 = $updateTime;
    this.vet_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$updateStatus$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$updateStatus$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$updateStatus$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.wet_1.z5n(1, this.tet_1);
            this.wet_1.a5o(2, this.uet_1);
            this.wet_1.a5o(3, this.vet_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.wet_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$updateStatus$slambda).r5l = function (_stmt, completion) {
    var i = new EnrolmentRequestDao_JdbcImpl$updateStatus$slambda(this.tet_1, this.uet_1, this.vet_1, completion);
    i.wet_1 = _stmt;
    return i;
  };
  function EnrolmentRequestDao_JdbcImpl$updateStatus$slambda_0($status, $updateTime, $uid, resultContinuation) {
    var i = new EnrolmentRequestDao_JdbcImpl$updateStatus$slambda($status, $updateTime, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$1(this$0, $clazzUid, $statusFilter, $includeDeleted, $searchText, $sortOrder) {
    this.deu_1 = this$0;
    this.eeu_1 = $clazzUid;
    this.feu_1 = $statusFilter;
    this.geu_1 = $includeDeleted;
    this.heu_1 = $searchText;
    this.ieu_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['EnrolmentRequest', 'Person', 'PersonPicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.jes_1, tmp$ret$2);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$1).jeu = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        SELECT EnrolmentRequest.*, PersonPicture.*, Person.*\n          FROM EnrolmentRequest\n               JOIN Person\n                    ON Person.personUid = EnrolmentRequest.erPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid\n         WHERE EnrolmentRequest.erClazzUid = CAST(? AS BIGINT)\n           AND (? = 0 OR EnrolmentRequest.erStatus = ?)\n           AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted)\n           AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?)\n      ORDER BY CASE(?)\n                WHEN 1 THEN EnrolmentRequest.erPersonFullname\n                WHEN 3 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n                END ASC,\n                CASE(?)\n                WHEN 2 THEN EnrolmentRequest.erPersonFullname\n                WHEN 4 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END DESC     \n    ) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n        SELECT EnrolmentRequest.*, PersonPicture.*, Person.*\n          FROM EnrolmentRequest\n               JOIN Person\n                    ON Person.personUid = EnrolmentRequest.erPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid\n         WHERE EnrolmentRequest.erClazzUid = ?\n           AND (? = 0 OR EnrolmentRequest.erStatus = ?)\n           AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted)\n           AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?)\n      ORDER BY CASE(?)\n                WHEN 1 THEN EnrolmentRequest.erPersonFullname\n                WHEN 3 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n                END ASC,\n                CASE(?)\n                WHEN 2 THEN EnrolmentRequest.erPersonFullname\n                WHEN 4 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END DESC     \n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.deu_1.jes_1, tmp, EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$loadRows$slambda_0(this.eeu_1, this.feu_1, this.geu_1, this.heu_1, this.ieu_1, _limit, _offset, null), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$1).b5w = function (_limit, _offset, $completion) {
    return this.jeu(_limit, _offset, $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        SELECT EnrolmentRequest.*, PersonPicture.*, Person.*\n          FROM EnrolmentRequest\n               JOIN Person\n                    ON Person.personUid = EnrolmentRequest.erPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid\n         WHERE EnrolmentRequest.erClazzUid = CAST(? AS BIGINT)\n           AND (? = 0 OR EnrolmentRequest.erStatus = ?)\n           AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted)\n           AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?)\n      ORDER BY CASE(?)\n                WHEN 1 THEN EnrolmentRequest.erPersonFullname\n                WHEN 3 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n                END ASC,\n                CASE(?)\n                WHEN 2 THEN EnrolmentRequest.erPersonFullname\n                WHEN 4 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END DESC     \n    ) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n        SELECT EnrolmentRequest.*, PersonPicture.*, Person.*\n          FROM EnrolmentRequest\n               JOIN Person\n                    ON Person.personUid = EnrolmentRequest.erPersonUid\n               LEFT JOIN PersonPicture\n                         ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid\n         WHERE EnrolmentRequest.erClazzUid = ?\n           AND (? = 0 OR EnrolmentRequest.erStatus = ?)\n           AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted)\n           AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?)\n      ORDER BY CASE(?)\n                WHEN 1 THEN EnrolmentRequest.erPersonFullname\n                WHEN 3 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n                END ASC,\n                CASE(?)\n                WHEN 2 THEN EnrolmentRequest.erPersonFullname\n                WHEN 4 THEN EnrolmentRequest.erPersonFullname\n                ELSE ''\n            END DESC,\n            CASE(?)\n                WHEN 7 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END ASC,\n            CASE(?)\n                WHEN 8 THEN EnrolmentRequest.erRequestTime\n                ELSE 0\n            END DESC     \n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.deu_1.jes_1, tmp, EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$o$countRows$slambda_0(this.eeu_1, this.feu_1, this.geu_1, this.heu_1, this.ieu_1, null), $completion);
  };
  function $updateStatusCOROUTINE$242(_this__u8e3s4, uid, status, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.seu_1 = _this__u8e3s4;
    this.teu_1 = uid;
    this.ueu_1 = status;
    this.veu_1 = updateTime;
  }
  protoOf($updateStatusCOROUTINE$242).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE EnrolmentRequest\n           SET erStatus = ?,\n               erLastModified = CAST(? AS BIGINT)\n         WHERE erUid = CAST(? AS BIGINT)      \n    ', VOID, VOID, VOID, '\n        UPDATE EnrolmentRequest\n           SET erStatus = ?,\n               erLastModified = ?\n         WHERE erUid = ?      \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.seu_1.jes_1, tmp_0, EnrolmentRequestDao_JdbcImpl$updateStatus$slambda_0(this.ueu_1, this.veu_1, this.teu_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function EnrolmentRequestDao_JdbcImpl(_db) {
    EnrolmentRequestDao.call(this);
    this.jes_1 = _db;
    var tmp = this;
    tmp.kes_1 = new EnrolmentRequestDao_JdbcImpl$_insertAdapterEnrolmentRequest_abort$1(this);
  }
  protoOf(EnrolmentRequestDao_JdbcImpl).gep = function (enrolmentRequest, $completion) {
    return this.kes_1.a5n(enrolmentRequest, $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl).hep = function (personUid, clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT EXISTS(\n               SELECT EnrolmentRequest.erUid\n                 FROM EnrolmentRequest\n                WHERE EnrolmentRequest.erPersonUid = CAST(? AS BIGINT)\n                  AND EnrolmentRequest.erClazzUid = CAST(? AS BIGINT)\n                  AND EnrolmentRequest.erStatus = 1)\n    ', VOID, VOID, VOID, '\n        SELECT EXISTS(\n               SELECT EnrolmentRequest.erUid\n                 FROM EnrolmentRequest\n                WHERE EnrolmentRequest.erPersonUid = ?\n                  AND EnrolmentRequest.erClazzUid = ?\n                  AND EnrolmentRequest.erStatus = 1)\n    \n', true);
    return prepareAndUseStatementAsync(this.jes_1, tmp, EnrolmentRequestDao_JdbcImpl$hasPendingRequests$slambda_0(personUid, clazzUid, null), $completion);
  };
  protoOf(EnrolmentRequestDao_JdbcImpl).iep = function (accountPersonUid, statusFilter) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['EnrolmentRequest', 'CoursePicture'];
    return doorFlow(this.jes_1, tmp, EnrolmentRequestDao_JdbcImpl$findRequestsForUserAsFlow$slambda_0(this, accountPersonUid, statusFilter, null));
  };
  protoOf(EnrolmentRequestDao_JdbcImpl).jep = function (uid, status, updateTime, $completion) {
    var tmp = new $updateStatusCOROUTINE$242(this, uid, status, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_JdbcImpl).kep = function (clazzUid, includeDeleted, statusFilter, searchText, sortOrder) {
    return new EnrolmentRequestDao_JdbcImpl$findPendingEnrolmentsForCourse$1(this, clazzUid, statusFilter, includeDeleted, searchText, sortOrder);
  };
  function EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function EnrolmentRequestDao_Repo$insert$slambda(this$0, $enrolmentRequest, resultContinuation) {
    this.eev_1 = this$0;
    this.fev_1 = $enrolmentRequest;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_Repo$insert$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_Repo$insert$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(EnrolmentRequestDao_Repo$insert$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.eev_1.iev_1.gep(this.fev_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_Repo$insert$slambda).q7e = function (completion) {
    return new EnrolmentRequestDao_Repo$insert$slambda(this.eev_1, this.fev_1, completion);
  };
  function EnrolmentRequestDao_Repo$insert$slambda_0(this$0, $enrolmentRequest, resultContinuation) {
    var i = new EnrolmentRequestDao_Repo$insert$slambda(this$0, $enrolmentRequest, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function EnrolmentRequestDao_Repo$hasPendingRequests$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda(this$0, $accountPersonUid, $statusFilter, resultContinuation) {
    this.vev_1 = this$0;
    this.wev_1 = $accountPersonUid;
    this.xev_1 = $statusFilter;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.yev_1 = this.vev_1.hev_1;
            var tmp_1 = this;
            tmp_1.zev_1 = 'EnrolmentRequestDao/findRequestsForUserAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.aew_1 = this.vev_1.jev_1;
            var tmp_3 = this;
            tmp_3.bew_1 = this.aew_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.vev_1.hev_1.a3d(), 'EnrolmentRequestDao/findRequestsForUserAsFlow');
            doorNodeIdHeader(this_0, this.vev_1.hev_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.vev_1.hev_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.wev_1));
            parameter(this_0, 'statusFilter', this.vev_1.hev_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.xev_1));
            tmp_4.cew_1 = this_0;
            this.cew_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.dew_1 = this.bew_1;
            var tmp_6 = this;
            tmp_6.eew_1 = this.cew_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.eew_1, this.dew_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.few_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.vev_1.gev_1, this.few_1, this.vev_1.hev_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda$lambda(this.yev_1, this.zev_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda).q7e = function (completion) {
    return new EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda(this.vev_1, this.wev_1, this.xev_1, completion);
  };
  function EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda_0(this$0, $accountPersonUid, $statusFilter, resultContinuation) {
    var i = new EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda(this$0, $accountPersonUid, $statusFilter, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function EnrolmentRequestDao_Repo$updateStatus$slambda(this$0, $uid, $status, $updateTime, resultContinuation) {
    this.oew_1 = this$0;
    this.pew_1 = $uid;
    this.qew_1 = $status;
    this.rew_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_Repo$updateStatus$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_Repo$updateStatus$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(EnrolmentRequestDao_Repo$updateStatus$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.oew_1.iev_1.jep(this.pew_1, this.qew_1, this.rew_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_Repo$updateStatus$slambda).q7e = function (completion) {
    return new EnrolmentRequestDao_Repo$updateStatus$slambda(this.oew_1, this.pew_1, this.qew_1, this.rew_1, completion);
  };
  function EnrolmentRequestDao_Repo$updateStatus$slambda_0(this$0, $uid, $status, $updateTime, resultContinuation) {
    var i = new EnrolmentRequestDao_Repo$updateStatus$slambda(this$0, $uid, $status, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda(this$0, $clazzUid, $includeDeleted, $statusFilter, $searchText, $sortOrder, resultContinuation) {
    this.aex_1 = this$0;
    this.bex_1 = $clazzUid;
    this.cex_1 = $includeDeleted;
    this.dex_1 = $statusFilter;
    this.eex_1 = $searchText;
    this.fex_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.iex_1 = this.aex_1.hev_1;
            var tmp_1 = this;
            tmp_1.jex_1 = 'EnrolmentRequestDao/findPendingEnrolmentsForCourse';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.kex_1 = this.aex_1.jev_1;
            var tmp_3 = this;
            tmp_3.lex_1 = this.kex_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.aex_1.hev_1.a3d(), 'EnrolmentRequestDao/findPendingEnrolmentsForCourse');
            doorNodeIdHeader(this_0, this.aex_1.hev_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.aex_1.hev_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.bex_1));
            parameter(this_0, 'includeDeleted', this.aex_1.hev_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.cex_1));
            parameter(this_0, 'statusFilter', this.aex_1.hev_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.dex_1));
            parameter(this_0, 'searchText', this.aex_1.hev_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.eex_1));
            parameter(this_0, 'sortOrder', this.aex_1.hev_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.fex_1));
            pagingSourceLoadParameters(this_0, this.aex_1.hev_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.gex_1);
            tmp_4.mex_1 = this_0;
            this.mex_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.nex_1 = this.lex_1;
            var tmp_6 = this;
            tmp_6.oex_1 = this.mex_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.oex_1, this.nex_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.pex_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.aex_1.gev_1, this.pex_1, this.aex_1.hev_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.hex_1 = endOfPaginationReached(this.pex_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda$lambda(this.iex_1, this.jex_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.hex_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda).d8c = function (_pagingParams, completion) {
    var i = new EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda(this.aex_1, this.bex_1, this.cex_1, this.dex_1, this.eex_1, this.fex_1, completion);
    i.gex_1 = _pagingParams;
    return i;
  };
  function EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda_0(this$0, $clazzUid, $includeDeleted, $statusFilter, $searchText, $sortOrder, resultContinuation) {
    var i = new EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda(this$0, $clazzUid, $includeDeleted, $statusFilter, $searchText, $sortOrder, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $hasPendingRequestsCOROUTINE$244(_this__u8e3s4, personUid, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yex_1 = _this__u8e3s4;
    this.zex_1 = personUid;
    this.aey_1 = clazzUid;
  }
  protoOf($hasPendingRequestsCOROUTINE$244).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.bey_1 = this.yex_1.hev_1;
            var tmp_1 = this;
            tmp_1.cey_1 = 'EnrolmentRequestDao/hasPendingRequests';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.dey_1 = this.yex_1.jev_1;
            var tmp_3 = this;
            tmp_3.eey_1 = this.dey_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.yex_1.hev_1.a3d(), 'EnrolmentRequestDao/hasPendingRequests');
            doorNodeIdHeader(this_0, this.yex_1.hev_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'personUid', this.yex_1.hev_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.zex_1));
            parameter(this_0, 'clazzUid', this.yex_1.hev_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.aey_1));
            tmp_4.fey_1 = this_0;
            this.fey_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.gey_1 = this.eey_1;
            var tmp_6 = this;
            tmp_6.hey_1 = this.fey_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.hey_1, this.gey_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.iey_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.yex_1.gev_1, this.iey_1, this.yex_1.hev_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.jey_1 = this.kd_1;
              Napier_getInstance().i5k(this.jey_1, 'DoorLog', EnrolmentRequestDao_Repo$hasPendingRequests$lambda(this.bey_1, this.cey_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.yex_1.iev_1.hep(this.zex_1, this.aey_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function EnrolmentRequestDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    EnrolmentRequestDao.call(this);
    this.gev_1 = _db;
    this.hev_1 = _repo;
    this.iev_1 = _dao;
    this.jev_1 = _httpClient;
    this.kev_1 = _clientId;
    this.lev_1 = _endpoint;
    this.mev_1 = new RepoDaoFlowHelper(this.hev_1);
  }
  protoOf(EnrolmentRequestDao_Repo).gep = function (enrolmentRequest, $completion) {
    return withRepoChangeMonitorAsync(this.hev_1, 'EnrolmentRequest', EnrolmentRequestDao_Repo$insert$slambda_0(this, enrolmentRequest, null), $completion);
  };
  protoOf(EnrolmentRequestDao_Repo).hep = function (personUid, clazzUid, $completion) {
    var tmp = new $hasPendingRequestsCOROUTINE$244(this, personUid, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(EnrolmentRequestDao_Repo).iep = function (accountPersonUid, statusFilter) {
    var tmp = this.iev_1.iep(accountPersonUid, statusFilter);
    return this.mev_1.t6d(tmp, EnrolmentRequestDao_Repo$findRequestsForUserAsFlow$slambda_0(this, accountPersonUid, statusFilter, null));
  };
  protoOf(EnrolmentRequestDao_Repo).jep = function (uid, status, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.hev_1, 'EnrolmentRequest', EnrolmentRequestDao_Repo$updateStatus$slambda_0(this, uid, status, updateTime, null), $completion);
  };
  protoOf(EnrolmentRequestDao_Repo).kep = function (clazzUid, includeDeleted, statusFilter, searchText, sortOrder) {
    var tmp = this.iev_1.kep(clazzUid, includeDeleted, statusFilter, searchText, sortOrder);
    return new DoorRepositoryReplicatePullPagingSource(this.hev_1, 'EnrolmentRequestDao/findPendingEnrolmentsForCourse', tmp, EnrolmentRequestDao_Repo$findPendingEnrolmentsForCourse$slambda_0(this, clazzUid, includeDeleted, statusFilter, searchText, sortOrder, null));
  };
  function ErrorReportDao() {
  }
  function ErrorReportDao_DoorWrapper(_db, _dao) {
    ErrorReportDao.call(this);
    this.key_1 = _db;
    this.ley_1 = _dao;
  }
  function ErrorReportDao_JdbcImpl$_insertAdapterErrorReport_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mey_1);
  }
  protoOf(ErrorReportDao_JdbcImpl$_insertAdapterErrorReport_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ErrorReport (errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ErrorReportDao_JdbcImpl$_insertAdapterErrorReport_abort$1).qey = function (stmt, entity) {
    if (entity.rey_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.rey_1);
    }
    stmt.a5o(2, entity.sey_1);
    stmt.a5o(3, entity.tey_1);
    stmt.z5n(4, entity.uey_1);
    stmt.a5o(5, entity.vey_1);
    stmt.z5n(6, entity.wey_1);
    stmt.a5o(7, entity.xey_1);
    stmt.d5o(8, entity.yey_1);
    stmt.d5o(9, entity.zey_1);
    stmt.z5n(10, entity.aez_1);
    stmt.z5n(11, entity.bez_1);
    stmt.d5o(12, entity.cez_1);
    stmt.d5o(13, entity.dez_1);
    stmt.d5o(14, entity.eez_1);
    stmt.d5o(15, entity.fez_1);
  };
  protoOf(ErrorReportDao_JdbcImpl$_insertAdapterErrorReport_abort$1).u5l = function (stmt, entity) {
    return this.qey(stmt, entity instanceof ErrorReport ? entity : THROW_CCE());
  };
  function ErrorReportDao_JdbcImpl(_db) {
    ErrorReportDao.call(this);
    this.mey_1 = _db;
    var tmp = this;
    tmp.ney_1 = new ErrorReportDao_JdbcImpl$_insertAdapterErrorReport_abort$1(this);
  }
  function ErrorReportDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ErrorReportDao.call(this);
    this.gez_1 = _db;
    this.hez_1 = _repo;
    this.iez_1 = _dao;
    this.jez_1 = _httpClient;
    this.kez_1 = _clientId;
    this.lez_1 = _endpoint;
  }
  function ExternalAppPermissionDao() {
  }
  function ExternalAppPermissionDao_JdbcImpl$_insertAdapterExternalAppPermission_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mez_1);
  }
  protoOf(ExternalAppPermissionDao_JdbcImpl$_insertAdapterExternalAppPermission_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ExternalAppPermission (eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ExternalAppPermissionDao_JdbcImpl$_insertAdapterExternalAppPermission_abort$1).qez = function (stmt, entity) {
    if (entity.rez_1 === 0) {
      stmt.f5o(1, null);
    } else {
      stmt.z5n(1, entity.rez_1);
    }
    stmt.a5o(2, entity.sez_1);
    stmt.d5o(3, entity.tez_1);
    stmt.a5o(4, entity.uez_1);
    stmt.a5o(5, entity.vez_1);
    stmt.d5o(6, entity.wez_1);
    stmt.d5o(7, entity.xez_1);
  };
  protoOf(ExternalAppPermissionDao_JdbcImpl$_insertAdapterExternalAppPermission_abort$1).u5l = function (stmt, entity) {
    return this.qez(stmt, entity instanceof ExternalAppPermission ? entity : THROW_CCE());
  };
  function ExternalAppPermissionDao_JdbcImpl(_db) {
    ExternalAppPermissionDao.call(this);
    this.mez_1 = _db;
    var tmp = this;
    tmp.nez_1 = new ExternalAppPermissionDao_JdbcImpl$_insertAdapterExternalAppPermission_abort$1(this);
  }
  function HolidayCalendarDao() {
  }
  function $insertAsyncCOROUTINE$251(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gf0_1 = _this__u8e3s4;
    this.hf0_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$251).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.if0_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.gf0_1.kf0_1));
            if (this.hf0_1.x8k_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.if0_1.t68(28, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.jf0_1 = suspendResult;
            this.hf0_1.x8k_1 = this.jf0_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.hf0_1.e8l_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.gf0_1.lf0_1.insertAsync(this.hf0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.hf0_1.x8k_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function HolidayCalendarDao_DoorWrapper(_db, _dao) {
    HolidayCalendarDao.call(this);
    this.kf0_1 = _db;
    this.lf0_1 = _dao;
  }
  protoOf(HolidayCalendarDao_DoorWrapper).mf0 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$251(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayCalendarDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.mf0(entity instanceof HolidayCalendar ? entity : THROW_CCE(), $completion);
  };
  function HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.nf0_1);
  }
  protoOf(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_upsert$1).sf0 = function (stmt, entity) {
    if (entity.x8k_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.x8k_1);
    }
    stmt.d5o(2, entity.y8k_1);
    stmt.z5n(3, entity.z8k_1);
    stmt.n5n(4, entity.a8l_1);
    stmt.a5o(5, entity.b8l_1);
    stmt.a5o(6, entity.c8l_1);
    stmt.z5n(7, entity.d8l_1);
    stmt.a5o(8, entity.e8l_1);
  };
  protoOf(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_upsert$1).u5l = function (stmt, entity) {
    return this.sf0(stmt, entity instanceof HolidayCalendar ? entity : THROW_CCE());
  };
  function HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.nf0_1);
  }
  protoOf(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_abort$1).sf0 = function (stmt, entity) {
    if (entity.x8k_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.x8k_1);
    }
    stmt.d5o(2, entity.y8k_1);
    stmt.z5n(3, entity.z8k_1);
    stmt.n5n(4, entity.a8l_1);
    stmt.a5o(5, entity.b8l_1);
    stmt.a5o(6, entity.c8l_1);
    stmt.z5n(7, entity.d8l_1);
    stmt.a5o(8, entity.e8l_1);
  };
  protoOf(HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_abort$1).u5l = function (stmt, entity) {
    return this.sf0(stmt, entity instanceof HolidayCalendar ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$252(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.df1_1 = _this__u8e3s4;
    this.ef1_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$252).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.df1_1.pf0_1.b5n(this.ef1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function HolidayCalendarDao_JdbcImpl(_db) {
    HolidayCalendarDao.call(this);
    this.nf0_1 = _db;
    var tmp = this;
    tmp.of0_1 = new HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_upsert$1(this);
    var tmp_0 = this;
    tmp_0.pf0_1 = new HolidayCalendarDao_JdbcImpl$_insertAdapterHolidayCalendar_abort$1(this);
  }
  protoOf(HolidayCalendarDao_JdbcImpl).mf0 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$252(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayCalendarDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.mf0(entity instanceof HolidayCalendar ? entity : THROW_CCE(), $completion);
  };
  function HolidayCalendarDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.nf1_1 = this$0;
    this.of1_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(HolidayCalendarDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayCalendarDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(HolidayCalendarDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.nf1_1.rf1_1.insertAsync(this.of1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(HolidayCalendarDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new HolidayCalendarDao_Repo$insertAsync$slambda(this.nf1_1, this.of1_1, completion);
  };
  function HolidayCalendarDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new HolidayCalendarDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$257(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.df2_1 = _this__u8e3s4;
    this.ef2_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$257).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.df2_1.qf1_1, 'HolidayCalendar', HolidayCalendarDao_Repo$insertAsync$slambda_0(this.df2_1, this.ef2_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function HolidayCalendarDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    HolidayCalendarDao.call(this);
    this.pf1_1 = _db;
    this.qf1_1 = _repo;
    this.rf1_1 = _dao;
    this.sf1_1 = _httpClient;
    this.tf1_1 = _clientId;
    this.uf1_1 = _endpoint;
  }
  protoOf(HolidayCalendarDao_Repo).mf0 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$257(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayCalendarDao_Repo).insertAsync = function (entity, $completion) {
    return this.mf0(entity instanceof HolidayCalendar ? entity : THROW_CCE(), $completion);
  };
  function HolidayDao() {
  }
  function $insertAsyncCOROUTINE$259(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nf2_1 = _this__u8e3s4;
    this.of2_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$259).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.pf2_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.nf2_1.rf2_1));
            if (this.of2_1.tf2_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.pf2_1.t68(99, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.qf2_1 = suspendResult;
            this.of2_1.tf2_1 = this.qf2_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.of2_1.xf2_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.nf2_1.sf2_1.insertAsync(this.of2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.of2_1.tf2_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function HolidayDao_DoorWrapper(_db, _dao) {
    HolidayDao.call(this);
    this.rf2_1 = _db;
    this.sf2_1 = _dao;
  }
  protoOf(HolidayDao_DoorWrapper).df3 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$259(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.df3(entity instanceof Holiday ? entity : THROW_CCE(), $completion);
  };
  function HolidayDao_JdbcImpl$_insertAdapterHoliday_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ef3_1);
  }
  protoOf(HolidayDao_JdbcImpl$_insertAdapterHoliday_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Holiday (holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(HolidayDao_JdbcImpl$_insertAdapterHoliday_abort$1).if3 = function (stmt, entity) {
    if (entity.tf2_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.tf2_1);
    }
    stmt.a5o(2, entity.uf2_1);
    stmt.a5o(3, entity.vf2_1);
    stmt.z5n(4, entity.wf2_1);
    stmt.a5o(5, entity.xf2_1);
    stmt.n5n(6, entity.yf2_1);
    stmt.a5o(7, entity.zf2_1);
    stmt.a5o(8, entity.af3_1);
    stmt.a5o(9, entity.bf3_1);
    stmt.d5o(10, entity.cf3_1);
  };
  protoOf(HolidayDao_JdbcImpl$_insertAdapterHoliday_abort$1).u5l = function (stmt, entity) {
    return this.if3(stmt, entity instanceof Holiday ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$261(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rf3_1 = _this__u8e3s4;
    this.sf3_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$261).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.rf3_1.ff3_1.b5n(this.sf3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function HolidayDao_JdbcImpl(_db) {
    HolidayDao.call(this);
    this.ef3_1 = _db;
    var tmp = this;
    tmp.ff3_1 = new HolidayDao_JdbcImpl$_insertAdapterHoliday_abort$1(this);
  }
  protoOf(HolidayDao_JdbcImpl).df3 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$261(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.df3(entity instanceof Holiday ? entity : THROW_CCE(), $completion);
  };
  function HolidayDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.bf4_1 = this$0;
    this.cf4_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(HolidayDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(HolidayDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.bf4_1.ff4_1.insertAsync(this.cf4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(HolidayDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new HolidayDao_Repo$insertAsync$slambda(this.bf4_1, this.cf4_1, completion);
  };
  function HolidayDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new HolidayDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$263(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rf4_1 = _this__u8e3s4;
    this.sf4_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$263).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.rf4_1.ef4_1, 'Holiday', HolidayDao_Repo$insertAsync$slambda_0(this.rf4_1, this.sf4_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function HolidayDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    HolidayDao.call(this);
    this.df4_1 = _db;
    this.ef4_1 = _repo;
    this.ff4_1 = _dao;
    this.gf4_1 = _httpClient;
    this.hf4_1 = _clientId;
    this.if4_1 = _endpoint;
  }
  protoOf(HolidayDao_Repo).df3 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$263(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(HolidayDao_Repo).insertAsync = function (entity, $completion) {
    return this.df3(entity instanceof Holiday ? entity : THROW_CCE(), $completion);
  };
  function LanguageDao() {
  }
  function $insertAsyncCOROUTINE$265(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bf5_1 = _this__u8e3s4;
    this.cf5_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$265).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.df5_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.bf5_1.ff5_1));
            if (this.cf5_1.dcf_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.df5_1.t68(13, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ef5_1 = suspendResult;
            this.cf5_1.dcf_1 = this.ef5_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.cf5_1.ncf_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.bf5_1.gf5_1.insertAsync(this.cf5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.cf5_1.dcf_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LanguageDao_DoorWrapper(_db, _dao) {
    LanguageDao.call(this);
    this.ff5_1 = _db;
    this.gf5_1 = _dao;
  }
  protoOf(LanguageDao_DoorWrapper).hf5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$265(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.hf5(entity instanceof Language ? entity : THROW_CCE(), $completion);
  };
  function LanguageDao_JdbcImpl$_insertAdapterLanguage_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.if5_1);
  }
  protoOf(LanguageDao_JdbcImpl$_insertAdapterLanguage_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(LanguageDao_JdbcImpl$_insertAdapterLanguage_abort$1).nf5 = function (stmt, entity) {
    if (entity.dcf_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.dcf_1);
    }
    stmt.d5o(2, entity.ecf_1);
    stmt.d5o(3, entity.fcf_1);
    stmt.d5o(4, entity.gcf_1);
    stmt.d5o(5, entity.hcf_1);
    stmt.d5o(6, entity.icf_1);
    stmt.n5n(7, entity.jcf_1);
    stmt.a5o(8, entity.kcf_1);
    stmt.a5o(9, entity.lcf_1);
    stmt.z5n(10, entity.mcf_1);
    stmt.a5o(11, entity.ncf_1);
  };
  protoOf(LanguageDao_JdbcImpl$_insertAdapterLanguage_abort$1).u5l = function (stmt, entity) {
    return this.nf5(stmt, entity instanceof Language ? entity : THROW_CCE());
  };
  function LanguageDao_JdbcImpl$_insertAdapterLanguage_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.if5_1);
  }
  protoOf(LanguageDao_JdbcImpl$_insertAdapterLanguage_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(LanguageDao_JdbcImpl$_insertAdapterLanguage_upsert$1).nf5 = function (stmt, entity) {
    if (entity.dcf_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.dcf_1);
    }
    stmt.d5o(2, entity.ecf_1);
    stmt.d5o(3, entity.fcf_1);
    stmt.d5o(4, entity.gcf_1);
    stmt.d5o(5, entity.hcf_1);
    stmt.d5o(6, entity.icf_1);
    stmt.n5n(7, entity.jcf_1);
    stmt.a5o(8, entity.kcf_1);
    stmt.a5o(9, entity.lcf_1);
    stmt.z5n(10, entity.mcf_1);
    stmt.a5o(11, entity.ncf_1);
  };
  protoOf(LanguageDao_JdbcImpl$_insertAdapterLanguage_upsert$1).u5l = function (stmt, entity) {
    return this.nf5(stmt, entity instanceof Language ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$266(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yf5_1 = _this__u8e3s4;
    this.zf5_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$266).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.yf5_1.jf5_1.b5n(this.zf5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LanguageDao_JdbcImpl(_db) {
    LanguageDao.call(this);
    this.if5_1 = _db;
    var tmp = this;
    tmp.jf5_1 = new LanguageDao_JdbcImpl$_insertAdapterLanguage_abort$1(this);
    var tmp_0 = this;
    tmp_0.kf5_1 = new LanguageDao_JdbcImpl$_insertAdapterLanguage_upsert$1(this);
  }
  protoOf(LanguageDao_JdbcImpl).hf5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$266(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.hf5(entity instanceof Language ? entity : THROW_CCE(), $completion);
  };
  function LanguageDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.if6_1 = this$0;
    this.jf6_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(LanguageDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(LanguageDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.if6_1.mf6_1.insertAsync(this.jf6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(LanguageDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new LanguageDao_Repo$insertAsync$slambda(this.if6_1, this.jf6_1, completion);
  };
  function LanguageDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new LanguageDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$272(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yf6_1 = _this__u8e3s4;
    this.zf6_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$272).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.yf6_1.lf6_1, 'Language', LanguageDao_Repo$insertAsync$slambda_0(this.yf6_1, this.zf6_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LanguageDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    LanguageDao.call(this);
    this.kf6_1 = _db;
    this.lf6_1 = _repo;
    this.mf6_1 = _dao;
    this.nf6_1 = _httpClient;
    this.of6_1 = _clientId;
    this.pf6_1 = _endpoint;
  }
  protoOf(LanguageDao_Repo).hf5 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$272(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageDao_Repo).insertAsync = function (entity, $completion) {
    return this.hf5(entity instanceof Language ? entity : THROW_CCE(), $completion);
  };
  function LanguageVariantDao() {
  }
  function $insertAsyncCOROUTINE$273(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.if7_1 = _this__u8e3s4;
    this.jf7_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$273).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.kf7_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.if7_1.mf7_1));
            if (this.jf7_1.of7_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.kf7_1.t68(10, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.lf7_1 = suspendResult;
            this.jf7_1.of7_1 = this.lf7_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.jf7_1.vf7_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.if7_1.nf7_1.insertAsync(this.jf7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.jf7_1.of7_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LanguageVariantDao_DoorWrapper(_db, _dao) {
    LanguageVariantDao.call(this);
    this.mf7_1 = _db;
    this.nf7_1 = _dao;
  }
  protoOf(LanguageVariantDao_DoorWrapper).wf7 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$273(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageVariantDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.wf7(entity instanceof LanguageVariant ? entity : THROW_CCE(), $completion);
  };
  function LanguageVariantDao_JdbcImpl$_insertAdapterLanguageVariant_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.xf7_1);
  }
  protoOf(LanguageVariantDao_JdbcImpl$_insertAdapterLanguageVariant_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO LanguageVariant (langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(LanguageVariantDao_JdbcImpl$_insertAdapterLanguageVariant_abort$1).bf8 = function (stmt, entity) {
    if (entity.of7_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.of7_1);
    }
    stmt.a5o(2, entity.pf7_1);
    stmt.d5o(3, entity.qf7_1);
    stmt.d5o(4, entity.rf7_1);
    stmt.a5o(5, entity.sf7_1);
    stmt.a5o(6, entity.tf7_1);
    stmt.z5n(7, entity.uf7_1);
    stmt.a5o(8, entity.vf7_1);
  };
  protoOf(LanguageVariantDao_JdbcImpl$_insertAdapterLanguageVariant_abort$1).u5l = function (stmt, entity) {
    return this.bf8(stmt, entity instanceof LanguageVariant ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$274(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kf8_1 = _this__u8e3s4;
    this.lf8_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$274).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kf8_1.yf7_1.b5n(this.lf8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LanguageVariantDao_JdbcImpl(_db) {
    LanguageVariantDao.call(this);
    this.xf7_1 = _db;
    var tmp = this;
    tmp.yf7_1 = new LanguageVariantDao_JdbcImpl$_insertAdapterLanguageVariant_abort$1(this);
  }
  protoOf(LanguageVariantDao_JdbcImpl).wf7 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$274(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageVariantDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.wf7(entity instanceof LanguageVariant ? entity : THROW_CCE(), $completion);
  };
  function LanguageVariantDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.uf8_1 = this$0;
    this.vf8_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(LanguageVariantDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageVariantDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(LanguageVariantDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.uf8_1.yf8_1.insertAsync(this.vf8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(LanguageVariantDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new LanguageVariantDao_Repo$insertAsync$slambda(this.uf8_1, this.vf8_1, completion);
  };
  function LanguageVariantDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new LanguageVariantDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$275(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kf9_1 = _this__u8e3s4;
    this.lf9_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$275).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.kf9_1.xf8_1, 'LanguageVariant', LanguageVariantDao_Repo$insertAsync$slambda_0(this.kf9_1, this.lf9_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LanguageVariantDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    LanguageVariantDao.call(this);
    this.wf8_1 = _db;
    this.xf8_1 = _repo;
    this.yf8_1 = _dao;
    this.zf8_1 = _httpClient;
    this.af9_1 = _clientId;
    this.bf9_1 = _endpoint;
  }
  protoOf(LanguageVariantDao_Repo).wf7 = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$275(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LanguageVariantDao_Repo).insertAsync = function (entity, $completion) {
    return this.wf7(entity instanceof LanguageVariant ? entity : THROW_CCE(), $completion);
  };
  function LeavingReasonDao() {
  }
  function $insertAsyncCOROUTINE$277(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.vf9_1 = _this__u8e3s4;
    this.wf9_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$277).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.xf9_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.vf9_1.zf9_1));
            if (this.wf9_1.l9a_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.xf9_1.t68(410, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.yf9_1 = suspendResult;
            this.wf9_1.l9a_1 = this.yf9_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.wf9_1.q9a_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.vf9_1.afa_1.insertAsync(this.wf9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.wf9_1.l9a_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LeavingReasonDao_DoorWrapper(_db, _dao) {
    LeavingReasonDao.call(this);
    this.zf9_1 = _db;
    this.afa_1 = _dao;
  }
  protoOf(LeavingReasonDao_DoorWrapper).mf9 = function (uid, $completion) {
    return this.afa_1.mf9(uid, $completion);
  };
  protoOf(LeavingReasonDao_DoorWrapper).bfa = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$277(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LeavingReasonDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.bfa(entity instanceof LeavingReason ? entity : THROW_CCE(), $completion);
  };
  function LeavingReasonDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, LeavingReasonDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function LeavingReasonDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_leavingReasonUid = $_result.d5t('leavingReasonUid');
      var _tmp_leavingReasonTitle = $_result.rz('leavingReasonTitle');
      var _tmp_leavingReasonMCSN = $_result.d5t('leavingReasonMCSN');
      var _tmp_leavingReasonCSN = $_result.d5t('leavingReasonCSN');
      var _tmp_leavingReasonLCB = $_result.c5t('leavingReasonLCB');
      var _tmp_leavingReasonLct = $_result.d5t('leavingReasonLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new LeavingReason();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.LeavingReasonDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.l9a_1 = _tmp_leavingReasonUid;
      this_0.m9a_1 = _tmp_leavingReasonTitle;
      this_0.n9a_1 = _tmp_leavingReasonMCSN;
      this_0.o9a_1 = _tmp_leavingReasonCSN;
      this_0.p9a_1 = _tmp_leavingReasonLCB;
      this_0.q9a_1 = _tmp_leavingReasonLct;
      return this_0;
    };
  }
  function LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.cfa_1);
  }
  protoOf(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_upsert$1).hfa = function (stmt, entity) {
    if (entity.l9a_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.l9a_1);
    }
    stmt.d5o(2, entity.m9a_1);
    stmt.a5o(3, entity.n9a_1);
    stmt.a5o(4, entity.o9a_1);
    stmt.z5n(5, entity.p9a_1);
    stmt.a5o(6, entity.q9a_1);
  };
  protoOf(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_upsert$1).u5l = function (stmt, entity) {
    return this.hfa(stmt, entity instanceof LeavingReason ? entity : THROW_CCE());
  };
  function LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.cfa_1);
  }
  protoOf(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_abort$1).hfa = function (stmt, entity) {
    if (entity.l9a_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.l9a_1);
    }
    stmt.d5o(2, entity.m9a_1);
    stmt.a5o(3, entity.n9a_1);
    stmt.a5o(4, entity.o9a_1);
    stmt.z5n(5, entity.p9a_1);
    stmt.a5o(6, entity.q9a_1);
  };
  protoOf(LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_abort$1).u5l = function (stmt, entity) {
    return this.hfa(stmt, entity instanceof LeavingReason ? entity : THROW_CCE());
  };
  function LeavingReasonDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation) {
    this.sfa_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(LeavingReasonDao_JdbcImpl$findByUidAsync$slambda).ufa = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LeavingReasonDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.ufa((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(LeavingReasonDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.tfa_1.a5o(1, this.sfa_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.tfa_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, LeavingReasonDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(LeavingReasonDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new LeavingReasonDao_JdbcImpl$findByUidAsync$slambda(this.sfa_1, completion);
    i.tfa_1 = _stmt;
    return i;
  };
  function LeavingReasonDao_JdbcImpl$findByUidAsync$slambda_0($uid, resultContinuation) {
    var i = new LeavingReasonDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ufa(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$278(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.dfb_1 = _this__u8e3s4;
    this.efb_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$278).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.dfb_1.efa_1.b5n(this.efb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LeavingReasonDao_JdbcImpl(_db) {
    LeavingReasonDao.call(this);
    this.cfa_1 = _db;
    var tmp = this;
    tmp.dfa_1 = new LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_upsert$1(this);
    var tmp_0 = this;
    tmp_0.efa_1 = new LeavingReasonDao_JdbcImpl$_insertAdapterLeavingReason_abort$1(this);
  }
  protoOf(LeavingReasonDao_JdbcImpl).bfa = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$278(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LeavingReasonDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.bfa(entity instanceof LeavingReason ? entity : THROW_CCE(), $completion);
  };
  protoOf(LeavingReasonDao_JdbcImpl).mf9 = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM LeavingReason WHERE leavingReasonUid = CAST(? AS BIGINT)', VOID, VOID, VOID, 'SELECT * FROM LeavingReason WHERE leavingReasonUid = ?\n', true);
    return prepareAndUseStatementAsync(this.cfa_1, tmp, LeavingReasonDao_JdbcImpl$findByUidAsync$slambda_0(uid, null), $completion);
  };
  function LeavingReasonDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.nfb_1 = this$0;
    this.ofb_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(LeavingReasonDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LeavingReasonDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(LeavingReasonDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.nfb_1.rfb_1.insertAsync(this.ofb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(LeavingReasonDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new LeavingReasonDao_Repo$insertAsync$slambda(this.nfb_1, this.ofb_1, completion);
  };
  function LeavingReasonDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new LeavingReasonDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByUidAsyncCOROUTINE$281(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.dfc_1 = _this__u8e3s4;
    this.efc_1 = uid;
  }
  protoOf($findByUidAsyncCOROUTINE$281).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.dfc_1.rfb_1.mf9(this.efc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$285(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nfc_1 = _this__u8e3s4;
    this.ofc_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$285).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.nfc_1.qfb_1, 'LeavingReason', LeavingReasonDao_Repo$insertAsync$slambda_0(this.nfc_1, this.ofc_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function LeavingReasonDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    LeavingReasonDao.call(this);
    this.pfb_1 = _db;
    this.qfb_1 = _repo;
    this.rfb_1 = _dao;
    this.sfb_1 = _httpClient;
    this.tfb_1 = _clientId;
    this.ufb_1 = _endpoint;
  }
  protoOf(LeavingReasonDao_Repo).mf9 = function (uid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$281(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LeavingReasonDao_Repo).bfa = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$285(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(LeavingReasonDao_Repo).insertAsync = function (entity, $completion) {
    return this.bfa(entity instanceof LeavingReason ? entity : THROW_CCE(), $completion);
  };
  function MessageDao() {
  }
  function $insertCOROUTINE$286(_this__u8e3s4, message, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.afd_1 = _this__u8e3s4;
    this.bfd_1 = message;
  }
  protoOf($insertCOROUTINE$286).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.cfd_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.afd_1.efd_1));
            if (this.bfd_1.gfd_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.cfd_1.t68(126, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.dfd_1 = suspendResult;
            this.bfd_1.gfd_1 = this.dfd_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.bfd_1.lfd_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.afd_1.ffd_1.rfc(this.bfd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function MessageDao_DoorWrapper(_db, _dao) {
    MessageDao.call(this);
    this.efd_1 = _db;
    this.ffd_1 = _dao;
  }
  protoOf(MessageDao_DoorWrapper).pfc = function (accountPersonUid, otherPersonUid) {
    return this.ffd_1.pfc(accountPersonUid, otherPersonUid);
  };
  protoOf(MessageDao_DoorWrapper).qfc = function (searchQuery, accountPersonUid) {
    return this.ffd_1.qfc(searchQuery, accountPersonUid);
  };
  protoOf(MessageDao_DoorWrapper).rfc = function (message, $completion) {
    var tmp = new $insertCOROUTINE$286(this, message, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda$lambda$lambda(_result));
  }
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_messageUid = $_result.d5t('messageUid');
      var _tmp_messageSenderPersonUid = $_result.d5t('messageSenderPersonUid');
      var _tmp_messageToPersonUid = $_result.d5t('messageToPersonUid');
      var _tmp_messageText = $_result.rz('messageText');
      var _tmp_messageTimestamp = $_result.d5t('messageTimestamp');
      var _tmp_messageLct = $_result.d5t('messageLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new Message();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.gfd_1 = _tmp_messageUid;
      this_0.hfd_1 = _tmp_messageSenderPersonUid;
      this_0.ifd_1 = _tmp_messageToPersonUid;
      this_0.jfd_1 = _tmp_messageText;
      this_0.kfd_1 = _tmp_messageTimestamp;
      this_0.lfd_1 = _tmp_messageLct;
      return this_0;
    };
  }
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda$lambda$lambda(_result));
  }
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda($accountPersonUid, $otherPersonUid, $_limit, $_offset, resultContinuation) {
    this.ufd_1 = $accountPersonUid;
    this.vfd_1 = $otherPersonUid;
    this.wfd_1 = $_limit;
    this.xfd_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda).zfd = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda).he = function (p1, $completion) {
    return this.zfd((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.yfd_1.a5o(1, this.ufd_1);
            this.yfd_1.a5o(2, this.vfd_1);
            this.yfd_1.a5o(3, this.vfd_1);
            this.yfd_1.a5o(4, this.ufd_1);
            this.yfd_1.z5n(5, this.wfd_1);
            this.yfd_1.z5n(6, this.xfd_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.yfd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda(this.ufd_1, this.vfd_1, this.wfd_1, this.xfd_1, completion);
    i.yfd_1 = _stmt;
    return i;
  };
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda_0($accountPersonUid, $otherPersonUid, $_limit, $_offset, resultContinuation) {
    var i = new MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda($accountPersonUid, $otherPersonUid, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.zfd(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda($accountPersonUid, $otherPersonUid, resultContinuation) {
    this.ife_1 = $accountPersonUid;
    this.jfe_1 = $otherPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.kfe_1.a5o(1, this.ife_1);
            this.kfe_1.a5o(2, this.jfe_1);
            this.kfe_1.a5o(3, this.jfe_1);
            this.kfe_1.a5o(4, this.ife_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.kfe_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda(this.ife_1, this.jfe_1, completion);
    i.kfe_1 = _stmt;
    return i;
  };
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda_0($accountPersonUid, $otherPersonUid, resultContinuation) {
    var i = new MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda($accountPersonUid, $otherPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda$lambda$lambda(_result));
  }
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Message_nullCount = 0;
      var _tmp_messageUid = $_result.d5t('messageUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Message_nullCount = _tmp_Message_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_messageSenderPersonUid = $_result.d5t('messageSenderPersonUid');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Message_nullCount = _tmp_Message_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_messageToPersonUid = $_result.d5t('messageToPersonUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Message_nullCount = _tmp_Message_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_messageText = $_result.rz('messageText');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Message_nullCount = _tmp_Message_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_messageTimestamp = $_result.d5t('messageTimestamp');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Message_nullCount = _tmp_Message_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_messageLct = $_result.d5t('messageLct');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Message_nullCount = _tmp_Message_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_Message_isAllNull = _tmp_Message_nullCount === 6;
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new MessageAndOtherPerson();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Message_isAllNull) {
        var tmp_35 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Message();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.gfd_1 = _tmp_messageUid;
        this_1.hfd_1 = _tmp_messageSenderPersonUid;
        this_1.ifd_1 = _tmp_messageToPersonUid;
        this_1.jfd_1 = _tmp_messageText;
        this_1.kfd_1 = _tmp_messageTimestamp;
        this_1.lfd_1 = _tmp_messageLct;
        tmp_35.lfe_1 = this_1;
      }
      if (!_tmp_Person_isAllNull) {
        var tmp_36 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.x9b_1 = _tmp_personUid;
        this_2.y9b_1 = _tmp_username;
        this_2.z9b_1 = _tmp_firstNames;
        this_2.a9c_1 = _tmp_lastName;
        this_2.b9c_1 = _tmp_emailAddr;
        this_2.c9c_1 = _tmp_phoneNum;
        this_2.d9c_1 = _tmp_gender;
        this_2.e9c_1 = _tmp_active;
        this_2.f9c_1 = _tmp_dateOfBirth;
        this_2.g9c_1 = _tmp_personAddress;
        this_2.h9c_1 = _tmp_personOrgId;
        this_2.i9c_1 = _tmp_personGroupUid;
        this_2.j9c_1 = _tmp_personLct;
        this_2.k9c_1 = _tmp_personCountry;
        this_2.l9c_1 = _tmp_personType;
        this_2.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_2.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_2.o9c_1 = _tmp_personLastChangedBy;
        this_2.p9c_1 = _tmp_admin;
        this_2.q9c_1 = _tmp_personNotes;
        this_2.r9c_1 = _tmp_fatherName;
        this_2.s9c_1 = _tmp_fatherNumber;
        this_2.t9c_1 = _tmp_motherName;
        this_2.u9c_1 = _tmp_motherNum;
        tmp_36.mfe_1 = this_2;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_37 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.v9c_1 = _tmp_personPictureUid;
        this_3.w9c_1 = _tmp_personPictureLct;
        this_3.x9c_1 = _tmp_personPictureUri;
        this_3.y9c_1 = _tmp_personPictureThumbnailUri;
        this_3.z9c_1 = _tmp_fileSize;
        this_3.a9d_1 = _tmp_personPictureActive;
        tmp_37.nfe_1 = this_3;
      }
      return this_0;
    };
  }
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda$lambda$lambda(_result));
  }
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda($accountPersonUid, $searchQuery, $_limit, $_offset, resultContinuation) {
    this.wfe_1 = $accountPersonUid;
    this.xfe_1 = $searchQuery;
    this.yfe_1 = $_limit;
    this.zfe_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda).bff = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda).he = function (p1, $completion) {
    return this.bff((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.aff_1.a5o(1, this.wfe_1);
            this.aff_1.a5o(2, this.wfe_1);
            this.aff_1.d5o(3, this.xfe_1);
            this.aff_1.d5o(4, this.xfe_1);
            this.aff_1.z5n(5, this.yfe_1);
            this.aff_1.z5n(6, this.zfe_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.aff_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda(this.wfe_1, this.xfe_1, this.yfe_1, this.zfe_1, completion);
    i.aff_1 = _stmt;
    return i;
  };
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda_0($accountPersonUid, $searchQuery, $_limit, $_offset, resultContinuation) {
    var i = new MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda($accountPersonUid, $searchQuery, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.bff(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda($accountPersonUid, $searchQuery, resultContinuation) {
    this.kff_1 = $accountPersonUid;
    this.lff_1 = $searchQuery;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.mff_1.a5o(1, this.kff_1);
            this.mff_1.a5o(2, this.kff_1);
            this.mff_1.d5o(3, this.lff_1);
            this.mff_1.d5o(4, this.lff_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.mff_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda(this.kff_1, this.lff_1, completion);
    i.mff_1 = _stmt;
    return i;
  };
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda_0($accountPersonUid, $searchQuery, resultContinuation) {
    var i = new MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda($accountPersonUid, $searchQuery, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function MessageDao_JdbcImpl$_insertAdapterMessage_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.nff_1);
  }
  protoOf(MessageDao_JdbcImpl$_insertAdapterMessage_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Message (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(MessageDao_JdbcImpl$_insertAdapterMessage_abort$1).rff = function (stmt, entity) {
    if (entity.gfd_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.gfd_1);
    }
    stmt.a5o(2, entity.hfd_1);
    stmt.a5o(3, entity.ifd_1);
    stmt.d5o(4, entity.jfd_1);
    stmt.a5o(5, entity.kfd_1);
    stmt.a5o(6, entity.lfd_1);
  };
  protoOf(MessageDao_JdbcImpl$_insertAdapterMessage_abort$1).u5l = function (stmt, entity) {
    return this.rff(stmt, entity instanceof Message ? entity : THROW_CCE());
  };
  function MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$1(this$0, $accountPersonUid, $otherPersonUid) {
    this.yff_1 = this$0;
    this.zff_1 = $accountPersonUid;
    this.afg_1 = $otherPersonUid;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Message'];
    DoorLimitOffsetPagingSource.call(this, this$0.nff_1, tmp$ret$2);
  }
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$1).bfg = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM (\n        SELECT Message.*\n          FROM Message\n         WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT)\n                AND Message.messageToPersonUid = CAST(? AS BIGINT))\n            OR (Message.messageSenderPersonUid = CAST(? AS BIGINT)\n                AND Message.messageToPersonUid = CAST(? AS BIGINT)) \n      ORDER BY Message.messageTimestamp DESC          \n    ) AS _PagingData LIMIT ? OFFSET ?', VOID, VOID, VOID, 'SELECT * FROM (\n        SELECT Message.*\n          FROM Message\n         WHERE (Message.messageSenderPersonUid = ?\n                AND Message.messageToPersonUid = ?)\n            OR (Message.messageSenderPersonUid = ?\n                AND Message.messageToPersonUid = ?) \n      ORDER BY Message.messageTimestamp DESC          \n    ) AS _PagingData LIMIT ? OFFSET ?\n', true);
    return prepareAndUseStatementAsync(this.yff_1.nff_1, tmp, MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$loadRows$slambda_0(this.zff_1, this.afg_1, _limit, _offset, null), $completion);
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$1).b5w = function (_limit, _offset, $completion) {
    return this.bfg(_limit, _offset, $completion);
  };
  protoOf(MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM (\n        SELECT Message.*\n          FROM Message\n         WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT)\n                AND Message.messageToPersonUid = CAST(? AS BIGINT))\n            OR (Message.messageSenderPersonUid = CAST(? AS BIGINT)\n                AND Message.messageToPersonUid = CAST(? AS BIGINT)) \n      ORDER BY Message.messageTimestamp DESC          \n    ) AS _PagingCount', VOID, VOID, VOID, 'SELECT COUNT(*) FROM (\n        SELECT Message.*\n          FROM Message\n         WHERE (Message.messageSenderPersonUid = ?\n                AND Message.messageToPersonUid = ?)\n            OR (Message.messageSenderPersonUid = ?\n                AND Message.messageToPersonUid = ?) \n      ORDER BY Message.messageTimestamp DESC          \n    ) AS _PagingCount\n', true);
    return prepareAndUseStatementAsync(this.yff_1.nff_1, tmp, MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$o$countRows$slambda_0(this.zff_1, this.afg_1, null), $completion);
  };
  function MessageDao_JdbcImpl$conversationsForUserAsPagingSource$1(this$0, $accountPersonUid, $searchQuery) {
    this.ifg_1 = this$0;
    this.jfg_1 = $accountPersonUid;
    this.kfg_1 = $searchQuery;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['Message', 'Person', 'PersonPicture'];
    DoorLimitOffsetPagingSource.call(this, this$0.nff_1, tmp$ret$2);
  }
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$1).lfg = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n        SELECT Person.*, LatestMessage.*, PersonPicture.*\n          FROM Person\n               JOIN Message LatestMessage\n                    ON LatestMessage.messageUid = \n                       (SELECT Message.messageUid\n                          FROM Message\n                         WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT)\n                                AND Message.messageToPersonUid = Person.personUid)\n                            OR (Message.messageSenderPersonUid = Person.personUid\n                                AND Message.messageToPersonUid = CAST(? AS BIGINT))\n                       ORDER BY Message.messageTimestamp DESC\n                          LIMIT 1)\n                          \n                LEFT JOIN PersonPicture\n                          ON PersonPicture.personPictureUid = Person.personUid\n         WHERE ? = '%' \n               OR (Person.firstNames || ' ' || Person.lastName) LIKE ?\n      ORDER BY LatestMessage.messageTimestamp DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", VOID, VOID, VOID, "SELECT * FROM (\n        SELECT Person.*, LatestMessage.*, PersonPicture.*\n          FROM Person\n               JOIN Message LatestMessage\n                    ON LatestMessage.messageUid = \n                       (SELECT Message.messageUid\n                          FROM Message\n                         WHERE (Message.messageSenderPersonUid = ?\n                                AND Message.messageToPersonUid = Person.personUid)\n                            OR (Message.messageSenderPersonUid = Person.personUid\n                                AND Message.messageToPersonUid = ?)\n                       ORDER BY Message.messageTimestamp DESC\n                          LIMIT 1)\n                          \n                LEFT JOIN PersonPicture\n                          ON PersonPicture.personPictureUid = Person.personUid\n         WHERE ? = '%' \n               OR (Person.firstNames || ' ' || Person.lastName) LIKE ?\n      ORDER BY LatestMessage.messageTimestamp DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.ifg_1.nff_1, tmp, MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$loadRows$slambda_0(this.jfg_1, this.kfg_1, _limit, _offset, null), $completion);
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$1).b5w = function (_limit, _offset, $completion) {
    return this.lfg(_limit, _offset, $completion);
  };
  protoOf(MessageDao_JdbcImpl$conversationsForUserAsPagingSource$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n        SELECT Person.*, LatestMessage.*, PersonPicture.*\n          FROM Person\n               JOIN Message LatestMessage\n                    ON LatestMessage.messageUid = \n                       (SELECT Message.messageUid\n                          FROM Message\n                         WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT)\n                                AND Message.messageToPersonUid = Person.personUid)\n                            OR (Message.messageSenderPersonUid = Person.personUid\n                                AND Message.messageToPersonUid = CAST(? AS BIGINT))\n                       ORDER BY Message.messageTimestamp DESC\n                          LIMIT 1)\n                          \n                LEFT JOIN PersonPicture\n                          ON PersonPicture.personPictureUid = Person.personUid\n         WHERE ? = '%' \n               OR (Person.firstNames || ' ' || Person.lastName) LIKE ?\n      ORDER BY LatestMessage.messageTimestamp DESC\n    ) AS _PagingCount", VOID, VOID, VOID, "SELECT COUNT(*) FROM (\n        SELECT Person.*, LatestMessage.*, PersonPicture.*\n          FROM Person\n               JOIN Message LatestMessage\n                    ON LatestMessage.messageUid = \n                       (SELECT Message.messageUid\n                          FROM Message\n                         WHERE (Message.messageSenderPersonUid = ?\n                                AND Message.messageToPersonUid = Person.personUid)\n                            OR (Message.messageSenderPersonUid = Person.personUid\n                                AND Message.messageToPersonUid = ?)\n                       ORDER BY Message.messageTimestamp DESC\n                          LIMIT 1)\n                          \n                LEFT JOIN PersonPicture\n                          ON PersonPicture.personPictureUid = Person.personUid\n         WHERE ? = '%' \n               OR (Person.firstNames || ' ' || Person.lastName) LIKE ?\n      ORDER BY LatestMessage.messageTimestamp DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.ifg_1.nff_1, tmp, MessageDao_JdbcImpl$conversationsForUserAsPagingSource$o$countRows$slambda_0(this.jfg_1, this.kfg_1, null), $completion);
  };
  function MessageDao_JdbcImpl(_db) {
    MessageDao.call(this);
    this.nff_1 = _db;
    var tmp = this;
    tmp.off_1 = new MessageDao_JdbcImpl$_insertAdapterMessage_abort$1(this);
  }
  protoOf(MessageDao_JdbcImpl).rfc = function (message, $completion) {
    return this.off_1.a5n(message, $completion);
  };
  protoOf(MessageDao_JdbcImpl).pfc = function (accountPersonUid, otherPersonUid) {
    return new MessageDao_JdbcImpl$messagesFromOtherUserAsPagingSource$1(this, accountPersonUid, otherPersonUid);
  };
  protoOf(MessageDao_JdbcImpl).qfc = function (searchQuery, accountPersonUid) {
    return new MessageDao_JdbcImpl$conversationsForUserAsPagingSource$1(this, accountPersonUid, searchQuery);
  };
  function MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function MessageDao_Repo$conversationsForUserAsPagingSource$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda(this$0, $accountPersonUid, $otherPersonUid, resultContinuation) {
    this.ufg_1 = this$0;
    this.vfg_1 = $accountPersonUid;
    this.wfg_1 = $otherPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.zfg_1 = this.ufg_1.ifh_1;
            var tmp_1 = this;
            tmp_1.afh_1 = 'MessageDao/messagesFromOtherUserAsPagingSource';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.bfh_1 = this.ufg_1.kfh_1;
            var tmp_3 = this;
            tmp_3.cfh_1 = this.bfh_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ufg_1.ifh_1.a3d(), 'MessageDao/messagesFromOtherUserAsPagingSource');
            doorNodeIdHeader(this_0, this.ufg_1.ifh_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.ufg_1.ifh_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.vfg_1));
            parameter(this_0, 'otherPersonUid', this.ufg_1.ifh_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.wfg_1));
            pagingSourceLoadParameters(this_0, this.ufg_1.ifh_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.xfg_1);
            tmp_4.dfh_1 = this_0;
            this.dfh_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.efh_1 = this.cfh_1;
            var tmp_6 = this;
            tmp_6.ffh_1 = this.dfh_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.ffh_1, this.efh_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.gfh_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ufg_1.hfh_1, this.gfh_1, this.ufg_1.ifh_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.yfg_1 = endOfPaginationReached(this.gfh_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda$lambda(this.zfg_1, this.afh_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.yfg_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda).d8c = function (_pagingParams, completion) {
    var i = new MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda(this.ufg_1, this.vfg_1, this.wfg_1, completion);
    i.xfg_1 = _pagingParams;
    return i;
  };
  function MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda_0(this$0, $accountPersonUid, $otherPersonUid, resultContinuation) {
    var i = new MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda(this$0, $accountPersonUid, $otherPersonUid, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function MessageDao_Repo$conversationsForUserAsPagingSource$slambda(this$0, $searchQuery, $accountPersonUid, resultContinuation) {
    this.vfh_1 = this$0;
    this.wfh_1 = $searchQuery;
    this.xfh_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_Repo$conversationsForUserAsPagingSource$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_Repo$conversationsForUserAsPagingSource$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(MessageDao_Repo$conversationsForUserAsPagingSource$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.afi_1 = this.vfh_1.ifh_1;
            var tmp_1 = this;
            tmp_1.bfi_1 = 'MessageDao/conversationsForUserAsPagingSource';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.cfi_1 = this.vfh_1.kfh_1;
            var tmp_3 = this;
            tmp_3.dfi_1 = this.cfi_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.vfh_1.ifh_1.a3d(), 'MessageDao/conversationsForUserAsPagingSource');
            doorNodeIdHeader(this_0, this.vfh_1.ifh_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'searchQuery', this.vfh_1.ifh_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.wfh_1));
            parameter(this_0, 'accountPersonUid', this.vfh_1.ifh_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.xfh_1));
            pagingSourceLoadParameters(this_0, this.vfh_1.ifh_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.yfh_1);
            tmp_4.efi_1 = this_0;
            this.efi_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ffi_1 = this.dfi_1;
            var tmp_6 = this;
            tmp_6.gfi_1 = this.efi_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.gfi_1, this.ffi_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.hfi_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.vfh_1.hfh_1, this.hfi_1, this.vfh_1.ifh_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.zfh_1 = endOfPaginationReached(this.hfi_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', MessageDao_Repo$conversationsForUserAsPagingSource$slambda$lambda(this.afi_1, this.bfi_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.zfh_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(MessageDao_Repo$conversationsForUserAsPagingSource$slambda).d8c = function (_pagingParams, completion) {
    var i = new MessageDao_Repo$conversationsForUserAsPagingSource$slambda(this.vfh_1, this.wfh_1, this.xfh_1, completion);
    i.yfh_1 = _pagingParams;
    return i;
  };
  function MessageDao_Repo$conversationsForUserAsPagingSource$slambda_0(this$0, $searchQuery, $accountPersonUid, resultContinuation) {
    var i = new MessageDao_Repo$conversationsForUserAsPagingSource$slambda(this$0, $searchQuery, $accountPersonUid, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function MessageDao_Repo$insert$slambda(this$0, $message, resultContinuation) {
    this.qfi_1 = this$0;
    this.rfi_1 = $message;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(MessageDao_Repo$insert$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(MessageDao_Repo$insert$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(MessageDao_Repo$insert$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qfi_1.jfh_1.rfc(this.rfi_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(MessageDao_Repo$insert$slambda).q7e = function (completion) {
    return new MessageDao_Repo$insert$slambda(this.qfi_1, this.rfi_1, completion);
  };
  function MessageDao_Repo$insert$slambda_0(this$0, $message, resultContinuation) {
    var i = new MessageDao_Repo$insert$slambda(this$0, $message, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function MessageDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    MessageDao.call(this);
    this.hfh_1 = _db;
    this.ifh_1 = _repo;
    this.jfh_1 = _dao;
    this.kfh_1 = _httpClient;
    this.lfh_1 = _clientId;
    this.mfh_1 = _endpoint;
  }
  protoOf(MessageDao_Repo).pfc = function (accountPersonUid, otherPersonUid) {
    var tmp = this.jfh_1.pfc(accountPersonUid, otherPersonUid);
    return new DoorRepositoryReplicatePullPagingSource(this.ifh_1, 'MessageDao/messagesFromOtherUserAsPagingSource', tmp, MessageDao_Repo$messagesFromOtherUserAsPagingSource$slambda_0(this, accountPersonUid, otherPersonUid, null));
  };
  protoOf(MessageDao_Repo).qfc = function (searchQuery, accountPersonUid) {
    var tmp = this.jfh_1.qfc(searchQuery, accountPersonUid);
    return new DoorRepositoryReplicatePullPagingSource(this.ifh_1, 'MessageDao/conversationsForUserAsPagingSource', tmp, MessageDao_Repo$conversationsForUserAsPagingSource$slambda_0(this, searchQuery, accountPersonUid, null));
  };
  protoOf(MessageDao_Repo).rfc = function (message, $completion) {
    return withRepoChangeMonitorAsync(this.ifh_1, 'Message', MessageDao_Repo$insert$slambda_0(this, message, null), $completion);
  };
  function OfflineItemDao() {
  }
  function OfflineItemDao_DoorWrapper(_db, _dao) {
    OfflineItemDao.call(this);
    this.tfi_1 = _db;
    this.ufi_1 = _dao;
  }
  protoOf(OfflineItemDao_DoorWrapper).sfi = function (contentEntryUid, nodeId) {
    return this.ufi_1.sfi(contentEntryUid, nodeId);
  };
  function OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda$lambda$lambda(_result));
  }
  function OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_readyForOffline = $_result.o6c('readyForOffline');
      var _tmp_OfflineItem_nullCount = 0;
      var _tmp_oiUid = $_result.d5t('oiUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_oiNodeId = $_result.d5t('oiNodeId');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_oiClazzUid = $_result.d5t('oiClazzUid');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_oiCourseBlockUid = $_result.d5t('oiCourseBlockUid');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_oiContentEntryUid = $_result.d5t('oiContentEntryUid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_oiActive = $_result.o6c('oiActive');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_oiLct = $_result.d5t('oiLct');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_OfflineItem_nullCount = _tmp_OfflineItem_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_OfflineItem_isAllNull = _tmp_OfflineItem_nullCount === 7;
      var _tmp_TransferJobAndTotals_nullCount = 0;
      var _tmp_totalSize = $_result.d5t('totalSize');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_TransferJobAndTotals_nullCount = _tmp_TransferJobAndTotals_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_transferred = $_result.d5t('transferred');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_TransferJobAndTotals_nullCount = _tmp_TransferJobAndTotals_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_latestErrorStr = $_result.rz('latestErrorStr');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_TransferJobAndTotals_nullCount = _tmp_TransferJobAndTotals_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_TransferJobAndTotals_isAllNull = _tmp_TransferJobAndTotals_nullCount === 3;
      var _tmp_TransferJob_nullCount = 0;
      var _tmp_tjUid = $_result.c5t('tjUid');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_tjType = $_result.c5t('tjType');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_tjStatus = $_result.c5t('tjStatus');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_tjName = $_result.rz('tjName');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_tjUuid = $_result.rz('tjUuid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_tjTableId = $_result.c5t('tjTableId');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_tjEntityUid = $_result.d5t('tjEntityUid');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_tjTimeCreated = $_result.d5t('tjTimeCreated');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_tjCreationType = $_result.c5t('tjCreationType');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_tjOiUid = $_result.d5t('tjOiUid');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_TransferJob_isAllNull = _tmp_TransferJob_nullCount === 10;
      // Inline function 'kotlin.apply' call
      var this_0 = new OfflineItemAndState();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.OfflineItemDao_JdbcImpl.findByContentEntryUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.xfi_1 = _tmp_readyForOffline;
      if (!_tmp_OfflineItem_isAllNull) {
        var tmp_19 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new OfflineItem();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.OfflineItemDao_JdbcImpl.findByContentEntryUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.yfi_1 = _tmp_oiUid;
        this_1.zfi_1 = _tmp_oiNodeId;
        this_1.afj_1 = _tmp_oiClazzUid;
        this_1.bfj_1 = _tmp_oiCourseBlockUid;
        this_1.cfj_1 = _tmp_oiContentEntryUid;
        this_1.dfj_1 = _tmp_oiActive;
        this_1.efj_1 = _tmp_oiLct;
        tmp_19.vfi_1 = this_1;
      }
      if (!_tmp_TransferJobAndTotals_isAllNull) {
        var tmp_20 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new TransferJobAndTotals();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.OfflineItemDao_JdbcImpl.findByContentEntryUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.gfj_1 = _tmp_totalSize;
        this_2.hfj_1 = _tmp_transferred;
        this_2.ifj_1 = _tmp_latestErrorStr;
        if (!_tmp_TransferJob_isAllNull) {
          var tmp_21 = this_2;
          // Inline function 'kotlin.apply' call
          var this_3 = new TransferJob();
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'com.ustadmobile.core.db.dao.OfflineItemDao_JdbcImpl.findByContentEntryUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
          this_3.jfj_1 = _tmp_tjUid;
          this_3.kfj_1 = _tmp_tjType;
          this_3.lfj_1 = _tmp_tjStatus;
          this_3.mfj_1 = _tmp_tjName;
          this_3.nfj_1 = _tmp_tjUuid;
          this_3.ofj_1 = _tmp_tjTableId;
          this_3.pfj_1 = _tmp_tjEntityUid;
          this_3.qfj_1 = _tmp_tjTimeCreated;
          this_3.rfj_1 = _tmp_tjCreationType;
          this_3.sfj_1 = _tmp_tjOiUid;
          tmp_21.ffj_1 = this_3;
        }
        tmp_20.wfi_1 = this_2;
      }
      return this_0;
    };
  }
  function OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda($contentEntryUid, $nodeId, resultContinuation) {
    this.bfk_1 = $contentEntryUid;
    this.cfk_1 = $nodeId;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda).efk = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda).he = function (p1, $completion) {
    return this.efk((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.dfk_1.a5o(1, this.bfk_1);
            this.dfk_1.a5o(2, this.bfk_1);
            this.dfk_1.a5o(3, this.cfk_1);
            this.dfk_1.a5o(4, this.bfk_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.dfk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda(this.bfk_1, this.cfk_1, completion);
    i.dfk_1 = _stmt;
    return i;
  };
  function OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda_0($contentEntryUid, $nodeId, resultContinuation) {
    var i = new OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda($contentEntryUid, $nodeId, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.efk(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function OfflineItemDao_JdbcImpl$_insertAdapterOfflineItem_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ffk_1);
  }
  protoOf(OfflineItemDao_JdbcImpl$_insertAdapterOfflineItem_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO OfflineItem (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(OfflineItemDao_JdbcImpl$_insertAdapterOfflineItem_abort$1).jfk = function (stmt, entity) {
    if (entity.yfi_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.yfi_1);
    }
    stmt.a5o(2, entity.zfi_1);
    stmt.a5o(3, entity.afj_1);
    stmt.a5o(4, entity.bfj_1);
    stmt.a5o(5, entity.cfj_1);
    stmt.n5n(6, entity.dfj_1);
    stmt.a5o(7, entity.efj_1);
  };
  protoOf(OfflineItemDao_JdbcImpl$_insertAdapterOfflineItem_abort$1).u5l = function (stmt, entity) {
    return this.jfk(stmt, entity instanceof OfflineItem ? entity : THROW_CCE());
  };
  function OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda(this$0, $contentEntryUid, $nodeId, resultContinuation) {
    this.sfk_1 = this$0;
    this.tfk_1 = $contentEntryUid;
    this.ufk_1 = $nodeId;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda).vfk = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda).r7e = function ($completion) {
    return this.vfk($completion);
  };
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT OfflineItem.*,\n               TransferJob.*,\n               \n        (SELECT SUM(TransferJobItem.tjTotalSize)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS totalSize,\n                (SELECT SUM(TransferJobItem.tjTransferred)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS transferred \n    ,\n               CAST(OfflineItem.oiActive AS INTEGER) = 1 AND (SELECT EXISTS(\n                       SELECT CompletedJob.tjUid\n                         FROM TransferJob CompletedJob\n                        WHERE CompletedJob.tjTableId = 738\n                          AND CompletedJob.tjEntityUid IN  \n                              \n        (SELECT ContentEntryVersion.cevUid\n                         FROM ContentEntryVersion\n                        WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT))\n    \n                          AND CompletedJob.tjStatus = 21\n                          AND CompletedJob.tjType = 2\n                          AND CompletedJob.tjTimeCreated >= OfflineItem.oiLct\n                        LIMIT 1      \n               )) AS readyForOffline,\n               NULL AS latestErrorStr\n          FROM OfflineItem\n               LEFT JOIN TransferJob \n                         ON TransferJob.tjUid = \n                         (SELECT TransferJob.tjUid\n                            FROM TransferJob\n                           WHERE TransferJob.tjTableId = 738\n                             AND TransferJob.tjEntityUid IN  \n                                 \n        (SELECT ContentEntryVersion.cevUid\n                         FROM ContentEntryVersion\n                        WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT))\n    \n                             AND TransferJob.tjStatus < 21\n                        ORDER BY TransferJob.tjTimeCreated DESC     \n                           LIMIT 1)\n         WHERE OfflineItem.oiNodeId = CAST(? AS BIGINT)\n           AND OfflineItem.oiContentEntryUid = CAST(? AS BIGINT)\n      ORDER BY OfflineItem.oiLct DESC\n         LIMIT 1     \n    ', VOID, VOID, VOID, '\n        SELECT OfflineItem.*,\n               TransferJob.*,\n               \n        (SELECT SUM(TransferJobItem.tjTotalSize)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS totalSize,\n                (SELECT SUM(TransferJobItem.tjTransferred)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS transferred \n    ,\n               CAST(OfflineItem.oiActive AS INTEGER) = 1 AND (SELECT EXISTS(\n                       SELECT CompletedJob.tjUid\n                         FROM TransferJob CompletedJob\n                        WHERE CompletedJob.tjTableId = 738\n                          AND CompletedJob.tjEntityUid IN  \n                              \n        (SELECT ContentEntryVersion.cevUid\n                         FROM ContentEntryVersion\n                        WHERE ContentEntryVersion.cevContentEntryUid = ?)\n    \n                          AND CompletedJob.tjStatus = 21\n                          AND CompletedJob.tjType = 2\n                          AND CompletedJob.tjTimeCreated >= OfflineItem.oiLct\n                        LIMIT 1      \n               )) AS readyForOffline,\n               NULL AS latestErrorStr\n          FROM OfflineItem\n               LEFT JOIN TransferJob \n                         ON TransferJob.tjUid = \n                         (SELECT TransferJob.tjUid\n                            FROM TransferJob\n                           WHERE TransferJob.tjTableId = 738\n                             AND TransferJob.tjEntityUid IN  \n                                 \n        (SELECT ContentEntryVersion.cevUid\n                         FROM ContentEntryVersion\n                        WHERE ContentEntryVersion.cevContentEntryUid = ?)\n    \n                             AND TransferJob.tjStatus < 21\n                        ORDER BY TransferJob.tjTimeCreated DESC     \n                           LIMIT 1)\n         WHERE OfflineItem.oiNodeId = ?\n           AND OfflineItem.oiContentEntryUid = ?\n      ORDER BY OfflineItem.oiLct DESC\n         LIMIT 1     \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.sfk_1.ffk_1, tmp_0, OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda$slambda_0(this.tfk_1, this.ufk_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda).q7e = function (completion) {
    return new OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda(this.sfk_1, this.tfk_1, this.ufk_1, completion);
  };
  function OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda_0(this$0, $contentEntryUid, $nodeId, resultContinuation) {
    var i = new OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda(this$0, $contentEntryUid, $nodeId, resultContinuation);
    var l = function ($completion) {
      return i.vfk($completion);
    };
    l.$arity = 0;
    return l;
  }
  function OfflineItemDao_JdbcImpl(_db) {
    OfflineItemDao.call(this);
    this.ffk_1 = _db;
    var tmp = this;
    tmp.gfk_1 = new OfflineItemDao_JdbcImpl$_insertAdapterOfflineItem_abort$1(this);
  }
  protoOf(OfflineItemDao_JdbcImpl).sfi = function (contentEntryUid, nodeId) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['OfflineItem', 'TransferJob', 'TransferJobItem'];
    return doorFlow(this.ffk_1, tmp, OfflineItemDao_JdbcImpl$findByContentEntryUid$slambda_0(this, contentEntryUid, nodeId, null));
  };
  function OfflineItemDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    OfflineItemDao.call(this);
    this.wfk_1 = _db;
    this.xfk_1 = _repo;
    this.yfk_1 = _dao;
    this.zfk_1 = _httpClient;
    this.afl_1 = _clientId;
    this.bfl_1 = _endpoint;
  }
  protoOf(OfflineItemDao_Repo).sfi = function (contentEntryUid, nodeId) {
    var _result = this.yfk_1.sfi(contentEntryUid, nodeId);
    return _result;
  };
  function OutgoingReplicationDao() {
  }
  function OutgoingReplicationDao_JdbcImpl$_insertAdapterOutgoingReplication_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.cfl_1);
  }
  protoOf(OutgoingReplicationDao_JdbcImpl$_insertAdapterOutgoingReplication_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO OutgoingReplication (destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(OutgoingReplicationDao_JdbcImpl$_insertAdapterOutgoingReplication_abort$1).gfl = function (stmt, entity) {
    stmt.a5o(1, entity.y6a_1);
    stmt.a5o(2, entity.a6b_1);
    stmt.a5o(3, entity.b6b_1);
    stmt.a5o(4, entity.c6b_1);
    stmt.a5o(5, entity.d6b_1);
    stmt.z5n(6, entity.z6a_1);
    if (entity.x6a_1.equals(new Long(0, 0))) {
      stmt.f5o(7, null);
    } else {
      stmt.a5o(7, entity.x6a_1);
    }
  };
  protoOf(OutgoingReplicationDao_JdbcImpl$_insertAdapterOutgoingReplication_abort$1).u5l = function (stmt, entity) {
    return this.gfl(stmt, entity instanceof OutgoingReplication ? entity : THROW_CCE());
  };
  function OutgoingReplicationDao_JdbcImpl(_db) {
    OutgoingReplicationDao.call(this);
    this.cfl_1 = _db;
    var tmp = this;
    tmp.dfl_1 = new OutgoingReplicationDao_JdbcImpl$_insertAdapterOutgoingReplication_abort$1(this);
  }
  function PeerReviewerAllocationDao() {
  }
  function $upsertListCOROUTINE$292(_this__u8e3s4, entityList, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rfl_1 = _this__u8e3s4;
    this.sfl_1 = entityList;
  }
  protoOf($upsertListCOROUTINE$292).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.tfl_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.rfl_1.afm_1));
            var tmp_0 = this;
            tmp_0.ufl_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.vfl_1 = this.sfl_1.w();
            var tmp_2 = this;
            tmp_2.wfl_1 = this.vfl_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.wfl_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.xfl_1 = this.wfl_1.e();
            var tmp_3 = this;
            tmp_3.yfl_1 = this.xfl_1;
            if (this.yfl_1.cfm_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.tfl_1.t68(140, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.zfl_1 = suspendResult;
            this.yfl_1.cfm_1 = this.zfl_1;
            var this_0 = this.ufl_1;
            var element = this.zfl_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.yfl_1.hfm_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.rfl_1.bfm_1.ifl(this.sfl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$293(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.qfm_1 = _this__u8e3s4;
    this.rfm_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$293).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.sfm_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.qfm_1.afm_1));
            if (this.rfm_1.cfm_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.sfm_1.t68(140, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.tfm_1 = suspendResult;
            this.rfm_1.cfm_1 = this.tfm_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.rfm_1.hfm_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.qfm_1.bfm_1.insertAsync(this.rfm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.rfm_1.cfm_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PeerReviewerAllocationDao_DoorWrapper(_db, _dao) {
    PeerReviewerAllocationDao.call(this);
    this.afm_1 = _db;
    this.bfm_1 = _dao;
  }
  protoOf(PeerReviewerAllocationDao_DoorWrapper).hfl = function (clazzUid, includeInactive, $completion) {
    return this.bfm_1.hfl(clazzUid, includeInactive, $completion);
  };
  protoOf(PeerReviewerAllocationDao_DoorWrapper).ycc = function (cbUid, active, changeTime, $completion) {
    return this.bfm_1.ycc(cbUid, active, changeTime, $completion);
  };
  protoOf(PeerReviewerAllocationDao_DoorWrapper).ifl = function (entityList, $completion) {
    var tmp = new $upsertListCOROUTINE$292(this, entityList, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_DoorWrapper).ufm = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$293(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.ufm(entity instanceof PeerReviewerAllocation ? entity : THROW_CCE(), $completion);
  };
  function PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda$lambda(_result) {
    return mapRows(_result, PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda$lambda$lambda(_result));
  }
  function PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_praUid = $_result.d5t('praUid');
      var _tmp_praMarkerSubmitterUid = $_result.d5t('praMarkerSubmitterUid');
      var _tmp_praToMarkerSubmitterUid = $_result.d5t('praToMarkerSubmitterUid');
      var _tmp_praAssignmentUid = $_result.d5t('praAssignmentUid');
      var _tmp_praActive = $_result.o6c('praActive');
      var _tmp_praLct = $_result.d5t('praLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new PeerReviewerAllocation();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PeerReviewerAllocationDao_JdbcImpl.getAllPeerReviewerAllocationsByClazzUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.cfm_1 = _tmp_praUid;
      this_0.dfm_1 = _tmp_praMarkerSubmitterUid;
      this_0.efm_1 = _tmp_praToMarkerSubmitterUid;
      this_0.ffm_1 = _tmp_praAssignmentUid;
      this_0.gfm_1 = _tmp_praActive;
      this_0.hfm_1 = _tmp_praLct;
      return this_0;
    };
  }
  function PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.vfm_1);
  }
  protoOf(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_upsert$1).afn = function (stmt, entity) {
    if (entity.cfm_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.cfm_1);
    }
    stmt.a5o(2, entity.dfm_1);
    stmt.a5o(3, entity.efm_1);
    stmt.a5o(4, entity.ffm_1);
    stmt.n5n(5, entity.gfm_1);
    stmt.a5o(6, entity.hfm_1);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_upsert$1).u5l = function (stmt, entity) {
    return this.afn(stmt, entity instanceof PeerReviewerAllocation ? entity : THROW_CCE());
  };
  function PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.vfm_1);
  }
  protoOf(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_abort$1).afn = function (stmt, entity) {
    if (entity.cfm_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.cfm_1);
    }
    stmt.a5o(2, entity.dfm_1);
    stmt.a5o(3, entity.efm_1);
    stmt.a5o(4, entity.ffm_1);
    stmt.n5n(5, entity.gfm_1);
    stmt.a5o(6, entity.hfm_1);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_abort$1).u5l = function (stmt, entity) {
    return this.afn(stmt, entity instanceof PeerReviewerAllocation ? entity : THROW_CCE());
  };
  function PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda($clazzUid, $includeInactive, resultContinuation) {
    this.lfn_1 = $clazzUid;
    this.mfn_1 = $includeInactive;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda).ofn = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda).he = function (p1, $completion) {
    return this.ofn((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.nfn_1.a5o(1, this.lfn_1);
            this.nfn_1.n5n(2, this.mfn_1);
            this.nfn_1.n5n(3, this.mfn_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.nfn_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda).r5l = function (_stmt, completion) {
    var i = new PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda(this.lfn_1, this.mfn_1, completion);
    i.nfn_1 = _stmt;
    return i;
  };
  function PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda_0($clazzUid, $includeInactive, resultContinuation) {
    var i = new PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda($clazzUid, $includeInactive, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ofn(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda($active, $changeTime, $cbUid, resultContinuation) {
    this.xfn_1 = $active;
    this.yfn_1 = $changeTime;
    this.zfn_1 = $cbUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.afo_1.n5n(1, this.xfn_1);
            this.afo_1.a5o(2, this.yfn_1);
            this.afo_1.a5o(3, this.zfn_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.afo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda).r5l = function (_stmt, completion) {
    var i = new PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda(this.xfn_1, this.yfn_1, this.zfn_1, completion);
    i.afo_1 = _stmt;
    return i;
  };
  function PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda_0($active, $changeTime, $cbUid, resultContinuation) {
    var i = new PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda($active, $changeTime, $cbUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$294(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.jfo_1 = _this__u8e3s4;
    this.kfo_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$294).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.jfo_1.xfm_1.b5n(this.kfo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateActiveByUidCOROUTINE$295(_this__u8e3s4, cbUid, active, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tfo_1 = _this__u8e3s4;
    this.ufo_1 = cbUid;
    this.vfo_1 = active;
    this.wfo_1 = changeTime;
  }
  protoOf($updateActiveByUidCOROUTINE$295).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE PeerReviewerAllocation \n           SET praActive = ?, \n               praLct = CAST(? AS BIGINT)\n         WHERE praUid = CAST(? AS BIGINT)', VOID, VOID, VOID, '\n        UPDATE PeerReviewerAllocation \n           SET praActive = ?, \n               praLct = ?\n         WHERE praUid = ?\n', false);
            suspendResult = prepareAndUseStatementAsync(this.tfo_1.vfm_1, tmp_0, PeerReviewerAllocationDao_JdbcImpl$updateActiveByUid$slambda_0(this.vfo_1, this.wfo_1, this.ufo_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PeerReviewerAllocationDao_JdbcImpl(_db) {
    PeerReviewerAllocationDao.call(this);
    this.vfm_1 = _db;
    var tmp = this;
    tmp.wfm_1 = new PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_upsert$1(this);
    var tmp_0 = this;
    tmp_0.xfm_1 = new PeerReviewerAllocationDao_JdbcImpl$_insertAdapterPeerReviewerAllocation_abort$1(this);
  }
  protoOf(PeerReviewerAllocationDao_JdbcImpl).ifl = function (entityList, $completion) {
    return this.wfm_1.e5n(entityList, $completion);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl).ufm = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$294(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.ufm(entity instanceof PeerReviewerAllocation ? entity : THROW_CCE(), $completion);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl).hfl = function (clazzUid, includeInactive, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT PeerReviewerAllocation.*\n          FROM PeerReviewerAllocation\n         WHERE PeerReviewerAllocation.praAssignmentUid IN\n               (SELECT CourseBlock.cbEntityUid\n                  FROM CourseBlock\n                 WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT)\n                   AND CourseBlock.cbType = 103\n                   AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive))\n           AND (CAST(? AS INTEGER) = 1 OR PeerReviewerAllocation.praActive)\n    ', VOID, VOID, VOID, '\n        SELECT PeerReviewerAllocation.*\n          FROM PeerReviewerAllocation\n         WHERE PeerReviewerAllocation.praAssignmentUid IN\n               (SELECT CourseBlock.cbEntityUid\n                  FROM CourseBlock\n                 WHERE CourseBlock.cbClazzUid = ?\n                   AND CourseBlock.cbType = 103\n                   AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive))\n           AND (CAST(? AS INTEGER) = 1 OR PeerReviewerAllocation.praActive)\n    \n', true);
    return prepareAndUseStatementAsync(this.vfm_1, tmp, PeerReviewerAllocationDao_JdbcImpl$getAllPeerReviewerAllocationsByClazzUid$slambda_0(clazzUid, includeInactive, null), $completion);
  };
  protoOf(PeerReviewerAllocationDao_JdbcImpl).ycc = function (cbUid, active, changeTime, $completion) {
    var tmp = new $updateActiveByUidCOROUTINE$295(this, cbUid, active, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function PeerReviewerAllocationDao_Repo$getAllPeerReviewerAllocationsByClazzUid$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda(this$0, $cbUid, $active, $changeTime, resultContinuation) {
    this.ffp_1 = this$0;
    this.gfp_1 = $cbUid;
    this.hfp_1 = $active;
    this.ifp_1 = $changeTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ffp_1.lfp_1.ycc(this.gfp_1, this.hfp_1, this.ifp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda).q7e = function (completion) {
    return new PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda(this.ffp_1, this.gfp_1, this.hfp_1, this.ifp_1, completion);
  };
  function PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda_0(this$0, $cbUid, $active, $changeTime, resultContinuation) {
    var i = new PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda(this$0, $cbUid, $active, $changeTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PeerReviewerAllocationDao_Repo$upsertList$slambda(this$0, $entityList, resultContinuation) {
    this.xfp_1 = this$0;
    this.yfp_1 = $entityList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PeerReviewerAllocationDao_Repo$upsertList$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_Repo$upsertList$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PeerReviewerAllocationDao_Repo$upsertList$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xfp_1.lfp_1.ifl(this.yfp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PeerReviewerAllocationDao_Repo$upsertList$slambda).q7e = function (completion) {
    return new PeerReviewerAllocationDao_Repo$upsertList$slambda(this.xfp_1, this.yfp_1, completion);
  };
  function PeerReviewerAllocationDao_Repo$upsertList$slambda_0(this$0, $entityList, resultContinuation) {
    var i = new PeerReviewerAllocationDao_Repo$upsertList$slambda(this$0, $entityList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PeerReviewerAllocationDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.hfq_1 = this$0;
    this.ifq_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PeerReviewerAllocationDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PeerReviewerAllocationDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.hfq_1.lfp_1.insertAsync(this.ifq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PeerReviewerAllocationDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new PeerReviewerAllocationDao_Repo$insertAsync$slambda(this.hfq_1, this.ifq_1, completion);
  };
  function PeerReviewerAllocationDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PeerReviewerAllocationDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $getAllPeerReviewerAllocationsByClazzUidCOROUTINE$297(_this__u8e3s4, clazzUid, includeInactive, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rfq_1 = _this__u8e3s4;
    this.sfq_1 = clazzUid;
    this.tfq_1 = includeInactive;
  }
  protoOf($getAllPeerReviewerAllocationsByClazzUidCOROUTINE$297).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.ufq_1 = this.rfq_1.kfp_1;
            var tmp_1 = this;
            tmp_1.vfq_1 = 'PeerReviewerAllocationDao/getAllPeerReviewerAllocationsByClazzUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.wfq_1 = this.rfq_1.mfp_1;
            var tmp_3 = this;
            tmp_3.xfq_1 = this.wfq_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.rfq_1.kfp_1.a3d(), 'PeerReviewerAllocationDao/getAllPeerReviewerAllocationsByClazzUid');
            doorNodeIdHeader(this_0, this.rfq_1.kfp_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.rfq_1.kfp_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.sfq_1));
            parameter(this_0, 'includeInactive', this.rfq_1.kfp_1.a3d().c6c_1.w4b(serializer_2(BooleanCompanionObject_instance), this.tfq_1));
            tmp_4.yfq_1 = this_0;
            this.yfq_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.zfq_1 = this.xfq_1;
            var tmp_6 = this;
            tmp_6.afr_1 = this.yfq_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.afr_1, this.zfq_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.bfr_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.rfq_1.jfp_1, this.bfr_1, this.rfq_1.kfp_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.cfr_1 = this.kd_1;
              Napier_getInstance().i5k(this.cfr_1, 'DoorLog', PeerReviewerAllocationDao_Repo$getAllPeerReviewerAllocationsByClazzUid$lambda(this.ufq_1, this.vfq_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.rfq_1.lfp_1.hfl(this.sfq_1, this.tfq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$298(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.lfr_1 = _this__u8e3s4;
    this.mfr_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$298).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.lfr_1.kfp_1, 'PeerReviewerAllocation', PeerReviewerAllocationDao_Repo$insertAsync$slambda_0(this.lfr_1, this.mfr_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PeerReviewerAllocationDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PeerReviewerAllocationDao.call(this);
    this.jfp_1 = _db;
    this.kfp_1 = _repo;
    this.lfp_1 = _dao;
    this.mfp_1 = _httpClient;
    this.nfp_1 = _clientId;
    this.ofp_1 = _endpoint;
  }
  protoOf(PeerReviewerAllocationDao_Repo).hfl = function (clazzUid, includeInactive, $completion) {
    var tmp = new $getAllPeerReviewerAllocationsByClazzUidCOROUTINE$297(this, clazzUid, includeInactive, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_Repo).ycc = function (cbUid, active, changeTime, $completion) {
    return withRepoChangeMonitorAsync(this.kfp_1, 'PeerReviewerAllocation', PeerReviewerAllocationDao_Repo$updateActiveByUid$slambda_0(this, cbUid, active, changeTime, null), $completion);
  };
  protoOf(PeerReviewerAllocationDao_Repo).ifl = function (entityList, $completion) {
    return withRepoChangeMonitorAsync(this.kfp_1, 'PeerReviewerAllocation', PeerReviewerAllocationDao_Repo$upsertList$slambda_0(this, entityList, null), $completion);
  };
  protoOf(PeerReviewerAllocationDao_Repo).ufm = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$298(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PeerReviewerAllocationDao_Repo).insertAsync = function (entity, $completion) {
    return this.ufm(entity instanceof PeerReviewerAllocation ? entity : THROW_CCE(), $completion);
  };
  function PersonAuth2Dao() {
  }
  function PersonAuth2Dao_DoorWrapper(_db, _dao) {
    PersonAuth2Dao.call(this);
    this.ofr_1 = _db;
    this.pfr_1 = _dao;
  }
  protoOf(PersonAuth2Dao_DoorWrapper).nfr = function (auth, $completion) {
    auth.wfr_1 = systemTimeInMillis();
    return this.pfr_1.nfr(auth, $completion);
  };
  function PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.xfr_1);
  }
  protoOf(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_abort$1).cfs = function (stmt, entity) {
    stmt.a5o(1, entity.qfr_1);
    stmt.d5o(2, entity.rfr_1);
    stmt.d5o(3, entity.sfr_1);
    stmt.a5o(4, entity.tfr_1);
    stmt.a5o(5, entity.ufr_1);
    stmt.a5o(6, entity.vfr_1);
    stmt.a5o(7, entity.wfr_1);
  };
  protoOf(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_abort$1).u5l = function (stmt, entity) {
    return this.cfs(stmt, entity instanceof PersonAuth2 ? entity : THROW_CCE());
  };
  function PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.xfr_1);
  }
  protoOf(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_upsert$1).cfs = function (stmt, entity) {
    stmt.a5o(1, entity.qfr_1);
    stmt.d5o(2, entity.rfr_1);
    stmt.d5o(3, entity.sfr_1);
    stmt.a5o(4, entity.tfr_1);
    stmt.a5o(5, entity.ufr_1);
    stmt.a5o(6, entity.vfr_1);
    stmt.a5o(7, entity.wfr_1);
  };
  protoOf(PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_upsert$1).u5l = function (stmt, entity) {
    return this.cfs(stmt, entity instanceof PersonAuth2 ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$299(_this__u8e3s4, auth, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nfs_1 = _this__u8e3s4;
    this.ofs_1 = auth;
  }
  protoOf($insertAsyncCOROUTINE$299).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.nfs_1.zfr_1.b5n(this.ofs_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonAuth2Dao_JdbcImpl(_db) {
    PersonAuth2Dao.call(this);
    this.xfr_1 = _db;
    var tmp = this;
    tmp.yfr_1 = new PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_abort$1(this);
    var tmp_0 = this;
    tmp_0.zfr_1 = new PersonAuth2Dao_JdbcImpl$_insertAdapterPersonAuth2_upsert$1(this);
  }
  protoOf(PersonAuth2Dao_JdbcImpl).nfr = function (auth, $completion) {
    var tmp = new $insertAsyncCOROUTINE$299(this, auth, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function PersonAuth2Dao_Repo$insertAsync$slambda(this$0, $auth, resultContinuation) {
    this.xfs_1 = this$0;
    this.yfs_1 = $auth;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonAuth2Dao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonAuth2Dao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PersonAuth2Dao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xfs_1.bft_1.nfr(this.yfs_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonAuth2Dao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new PersonAuth2Dao_Repo$insertAsync$slambda(this.xfs_1, this.yfs_1, completion);
  };
  function PersonAuth2Dao_Repo$insertAsync$slambda_0(this$0, $auth, resultContinuation) {
    var i = new PersonAuth2Dao_Repo$insertAsync$slambda(this$0, $auth, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$300(_this__u8e3s4, auth, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nft_1 = _this__u8e3s4;
    this.oft_1 = auth;
  }
  protoOf($insertAsyncCOROUTINE$300).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.nft_1.aft_1, 'PersonAuth2', PersonAuth2Dao_Repo$insertAsync$slambda_0(this.nft_1, this.oft_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonAuth2Dao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PersonAuth2Dao.call(this);
    this.zfs_1 = _db;
    this.aft_1 = _repo;
    this.bft_1 = _dao;
    this.cft_1 = _httpClient;
    this.dft_1 = _clientId;
    this.eft_1 = _endpoint;
  }
  protoOf(PersonAuth2Dao_Repo).nfr = function (auth, $completion) {
    var tmp = new $insertAsyncCOROUTINE$300(this, auth, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function PersonAuthDao() {
  }
  function PersonAuthDao_JdbcImpl$_insertAdapterPersonAuth_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.pft_1);
  }
  protoOf(PersonAuthDao_JdbcImpl$_insertAdapterPersonAuth_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonAuth (personAuthUid, passwordHash, personAuthStatus) VALUES(?, ?, ?)';
  };
  protoOf(PersonAuthDao_JdbcImpl$_insertAdapterPersonAuth_abort$1).tft = function (stmt, entity) {
    if (entity.uft_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.uft_1);
    }
    stmt.d5o(2, entity.vft_1);
    stmt.z5n(3, entity.wft_1);
  };
  protoOf(PersonAuthDao_JdbcImpl$_insertAdapterPersonAuth_abort$1).u5l = function (stmt, entity) {
    return this.tft(stmt, entity instanceof PersonAuth ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$303(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ffu_1 = _this__u8e3s4;
    this.gfu_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$303).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ffu_1.qft_1.b5n(this.gfu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonAuthDao_JdbcImpl(_db) {
    PersonAuthDao.call(this);
    this.pft_1 = _db;
    var tmp = this;
    tmp.qft_1 = new PersonAuthDao_JdbcImpl$_insertAdapterPersonAuth_abort$1(this);
  }
  protoOf(PersonAuthDao_JdbcImpl).hfu = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$303(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonAuthDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.hfu(entity instanceof PersonAuth ? entity : THROW_CCE(), $completion);
  };
  function PersonDao() {
  }
  function $insertAsyncCOROUTINE$309(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.zfu_1 = _this__u8e3s4;
    this.afv_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$309).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.bfv_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.zfu_1.dfv_1));
            if (this.afv_1.x9b_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.bfv_1.t68(9, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.cfv_1 = suspendResult;
            this.afv_1.x9b_1 = this.cfv_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.afv_1.j9c_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.zfu_1.efv_1.insertAsync(this.afv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.afv_1.x9b_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonDao_DoorWrapper(_db, _dao) {
    PersonDao.call(this);
    this.dfv_1 = _db;
    this.efv_1 = _dao;
  }
  protoOf(PersonDao_DoorWrapper).ifu = function (username, $completion) {
    return this.efv_1.ifu(username, $completion);
  };
  protoOf(PersonDao_DoorWrapper).jfu = function (accountPersonUid, $completion) {
    return this.efv_1.jfu(accountPersonUid, $completion);
  };
  protoOf(PersonDao_DoorWrapper).vcc = function (uid) {
    return this.efv_1.vcc(uid);
  };
  protoOf(PersonDao_DoorWrapper).kfu = function (uid, $completion) {
    return this.efv_1.kfu(uid, $completion);
  };
  protoOf(PersonDao_DoorWrapper).lfu = function (entity, $completion) {
    entity.j9c_1 = systemTimeInMillis();
    return this.efv_1.lfu(entity, $completion);
  };
  protoOf(PersonDao_DoorWrapper).mfu = function (timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText) {
    return this.efv_1.mfu(timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText);
  };
  protoOf(PersonDao_DoorWrapper).nfu = function (personUid, accountPersonUid) {
    return this.efv_1.nfu(personUid, accountPersonUid);
  };
  protoOf(PersonDao_DoorWrapper).ofu = function (uid) {
    return this.efv_1.ofu(uid);
  };
  protoOf(PersonDao_DoorWrapper).pfu = function (uid, $completion) {
    return this.efv_1.pfu(uid, $completion);
  };
  protoOf(PersonDao_DoorWrapper).qfu = function (personUid, username, currentTime, $completion) {
    return this.efv_1.qfu(personUid, username, currentTime, $completion);
  };
  protoOf(PersonDao_DoorWrapper).ffv = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$309(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.ffv(entity instanceof Person ? entity : THROW_CCE(), $completion);
  };
  function PersonDao_JdbcImpl$countUsername$slambda$lambda(_result) {
    return mapNextRow(_result, 0, PersonDao_JdbcImpl$countUsername$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$countUsername$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function PersonDao_JdbcImpl$findByUidWithPicture$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonDao_JdbcImpl$findByUidWithPicture$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$findByUidWithPicture$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndPicture();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithPicture.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_29 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithPicture.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_29.gfv_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_30 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithPicture.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_30.hfv_1 = this_2;
      }
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndPicture();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithPictureAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_29 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithPictureAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_29.gfv_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_30 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithPictureAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_30.hfv_1 = this_2;
      }
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda($uid, resultContinuation) {
    this.qfv_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).sfv = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.sfv((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rfv_1.a5o(1, this.qfv_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.rfv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda(this.qfv_1, completion);
    i.rfv_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda_0($uid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.sfv(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$findByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$findByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_personUid = $_result.d5t('personUid');
      var _tmp_username = $_result.rz('username');
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var _tmp_gender = $_result.c5t('gender');
      var _tmp_active = $_result.o6c('active');
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var _tmp_personAddress = $_result.rz('personAddress');
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var _tmp_personLct = $_result.d5t('personLct');
      var _tmp_personCountry = $_result.rz('personCountry');
      var _tmp_personType = $_result.c5t('personType');
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var _tmp_admin = $_result.o6c('admin');
      var _tmp_personNotes = $_result.rz('personNotes');
      var _tmp_fatherName = $_result.rz('fatherName');
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var _tmp_motherName = $_result.rz('motherName');
      var _tmp_motherNum = $_result.rz('motherNum');
      // Inline function 'kotlin.apply' call
      var this_0 = new Person();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.x9b_1 = _tmp_personUid;
      this_0.y9b_1 = _tmp_username;
      this_0.z9b_1 = _tmp_firstNames;
      this_0.a9c_1 = _tmp_lastName;
      this_0.b9c_1 = _tmp_emailAddr;
      this_0.c9c_1 = _tmp_phoneNum;
      this_0.d9c_1 = _tmp_gender;
      this_0.e9c_1 = _tmp_active;
      this_0.f9c_1 = _tmp_dateOfBirth;
      this_0.g9c_1 = _tmp_personAddress;
      this_0.h9c_1 = _tmp_personOrgId;
      this_0.i9c_1 = _tmp_personGroupUid;
      this_0.j9c_1 = _tmp_personLct;
      this_0.k9c_1 = _tmp_personCountry;
      this_0.l9c_1 = _tmp_personType;
      this_0.m9c_1 = _tmp_personMasterChangeSeqNum;
      this_0.n9c_1 = _tmp_personLocalChangeSeqNum;
      this_0.o9c_1 = _tmp_personLastChangedBy;
      this_0.p9c_1 = _tmp_admin;
      this_0.q9c_1 = _tmp_personNotes;
      this_0.r9c_1 = _tmp_fatherName;
      this_0.s9c_1 = _tmp_fatherNumber;
      this_0.t9c_1 = _tmp_motherName;
      this_0.u9c_1 = _tmp_motherNum;
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda$lambda(_result) {
    return mapRows(_result, PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndListDisplayDetails();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_29 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_29.tfv_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_30 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.<no name provided>.loadRows.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_30.ufv_1 = this_2;
      }
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda$lambda(_result) {
    return mapNextRow(_result, 0, PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda($accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    this.dfw_1 = $accountPersonUid;
    this.efw_1 = $excludeClazz;
    this.ffw_1 = $timestamp;
    this.gfw_1 = $excludeSelected;
    this.hfw_1 = $searchText;
    this.ifw_1 = $sortOrder;
    this.jfw_1 = $_limit;
    this.kfw_1 = $_offset;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda).mfw = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda).he = function (p1, $completion) {
    return this.mfw((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.lfw_1.a5o(1, this.dfw_1);
            this.lfw_1.a5o(2, this.dfw_1);
            this.lfw_1.a5o(3, this.dfw_1);
            this.lfw_1.a5o(4, this.dfw_1);
            this.lfw_1.a5o(5, this.dfw_1);
            this.lfw_1.a5o(6, this.dfw_1);
            this.lfw_1.a5o(7, this.dfw_1);
            this.lfw_1.a5o(8, this.efw_1);
            this.lfw_1.a5o(9, this.efw_1);
            this.lfw_1.a5o(10, this.ffw_1);
            var tmp_0 = this.lfw_1.w5m();
            var this_0 = this.gfw_1;
            this.lfw_1.e5o(11, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.lfw_1.d5o(12, this.hfw_1);
            this.lfw_1.d5o(13, this.hfw_1);
            this.lfw_1.z5n(14, this.ifw_1);
            this.lfw_1.z5n(15, this.ifw_1);
            this.lfw_1.z5n(16, this.jfw_1);
            this.lfw_1.z5n(17, this.kfw_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.lfw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda(this.dfw_1, this.efw_1, this.ffw_1, this.gfw_1, this.hfw_1, this.ifw_1, this.jfw_1, this.kfw_1, completion);
    i.lfw_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda_0($accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder, $_limit, $_offset, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda($accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder, $_limit, $_offset, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.mfw(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda($accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder, resultContinuation) {
    this.vfw_1 = $accountPersonUid;
    this.wfw_1 = $excludeClazz;
    this.xfw_1 = $timestamp;
    this.yfw_1 = $excludeSelected;
    this.zfw_1 = $searchText;
    this.afx_1 = $sortOrder;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.bfx_1.a5o(1, this.vfw_1);
            this.bfx_1.a5o(2, this.vfw_1);
            this.bfx_1.a5o(3, this.vfw_1);
            this.bfx_1.a5o(4, this.vfw_1);
            this.bfx_1.a5o(5, this.vfw_1);
            this.bfx_1.a5o(6, this.vfw_1);
            this.bfx_1.a5o(7, this.vfw_1);
            this.bfx_1.a5o(8, this.wfw_1);
            this.bfx_1.a5o(9, this.wfw_1);
            this.bfx_1.a5o(10, this.xfw_1);
            var tmp_0 = this.bfx_1.w5m();
            var this_0 = this.yfw_1;
            this.bfx_1.e5o(11, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.bfx_1.d5o(12, this.zfw_1);
            this.bfx_1.d5o(13, this.zfw_1);
            this.bfx_1.z5n(14, this.afx_1);
            this.bfx_1.z5n(15, this.afx_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.bfx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda(this.vfw_1, this.wfw_1, this.xfw_1, this.yfw_1, this.zfw_1, this.afx_1, completion);
    i.bfx_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda_0($accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda($accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonParentJoin_nullCount = 0;
      var _tmp_ppjUid = $_result.d5t('ppjUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_ppjPcsn = $_result.d5t('ppjPcsn');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_ppjLcsn = $_result.d5t('ppjLcsn');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_ppjLcb = $_result.c5t('ppjLcb');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_ppjLct = $_result.d5t('ppjLct');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_ppjParentPersonUid = $_result.d5t('ppjParentPersonUid');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_ppjMinorPersonUid = $_result.d5t('ppjMinorPersonUid');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_ppjRelationship = $_result.c5t('ppjRelationship');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_ppjEmail = $_result.rz('ppjEmail');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_ppjPhone = $_result.rz('ppjPhone');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_ppjInactive = $_result.o6c('ppjInactive');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_ppjStatus = $_result.c5t('ppjStatus');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_ppjApprovalTiemstamp = $_result.d5t('ppjApprovalTiemstamp');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_ppjApprovalIpAddr = $_result.rz('ppjApprovalIpAddr');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_PersonParentJoin_isAllNull = _tmp_PersonParentJoin_nullCount === 14;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_42;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_42 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      var _tmp_TransferJobItem_nullCount = 0;
      var _tmp_tjiUid = $_result.c5t('tjiUid');
      var tmp_43;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_43 = Unit_instance;
      }
      var _tmp_tjiTjUid = $_result.c5t('tjiTjUid');
      var tmp_44;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_44 = Unit_instance;
      }
      var _tmp_tjTotalSize = $_result.d5t('tjTotalSize');
      var tmp_45;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_45 = Unit_instance;
      }
      var _tmp_tjTransferred = $_result.d5t('tjTransferred');
      var tmp_46;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_46 = Unit_instance;
      }
      var _tmp_tjAttemptCount = $_result.c5t('tjAttemptCount');
      var tmp_47;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_47 = Unit_instance;
      }
      var _tmp_tjiSrc = $_result.rz('tjiSrc');
      var tmp_48;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_48 = Unit_instance;
      }
      var _tmp_tjiDest = $_result.rz('tjiDest');
      var tmp_49;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_49 = Unit_instance;
      }
      var _tmp_tjiType = $_result.c5t('tjiType');
      var tmp_50;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_50 = Unit_instance;
      }
      var _tmp_tjiStatus = $_result.c5t('tjiStatus');
      var tmp_51;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_51 = Unit_instance;
      }
      var _tmp_tjiTableId = $_result.c5t('tjiTableId');
      var tmp_52;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_52 = Unit_instance;
      }
      var _tmp_tjiEntityUid = $_result.d5t('tjiEntityUid');
      var tmp_53;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_53 = Unit_instance;
      }
      var _tmp_tjiEntityEtag = $_result.d5t('tjiEntityEtag');
      var tmp_54;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_54 = Unit_instance;
      }
      var _tmp_tjiLockIdToRelease = $_result.d5t('tjiLockIdToRelease');
      var tmp_55;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_55 = Unit_instance;
      }
      var _tmp_tjiPartialTmpFile = $_result.rz('tjiPartialTmpFile');
      var tmp_56;
      if ($_result.v6d()) {
        _tmp_TransferJobItem_nullCount = _tmp_TransferJobItem_nullCount + 1 | 0;
        tmp_56 = Unit_instance;
      }
      var _tmp_TransferJobItem_isAllNull = _tmp_TransferJobItem_nullCount === 14;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonAndDisplayDetail();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithDisplayDetailsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_57 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithDisplayDetailsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_57.cfx_1 = this_1;
      }
      if (!_tmp_PersonParentJoin_isAllNull) {
        var tmp_58 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonParentJoin();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithDisplayDetailsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.gfx_1 = _tmp_ppjUid;
        this_2.hfx_1 = _tmp_ppjPcsn;
        this_2.ifx_1 = _tmp_ppjLcsn;
        this_2.jfx_1 = _tmp_ppjLcb;
        this_2.kfx_1 = _tmp_ppjLct;
        this_2.lfx_1 = _tmp_ppjParentPersonUid;
        this_2.mfx_1 = _tmp_ppjMinorPersonUid;
        this_2.nfx_1 = _tmp_ppjRelationship;
        this_2.ofx_1 = _tmp_ppjEmail;
        this_2.pfx_1 = _tmp_ppjPhone;
        this_2.qfx_1 = _tmp_ppjInactive;
        this_2.rfx_1 = _tmp_ppjStatus;
        this_2.sfx_1 = _tmp_ppjApprovalTiemstamp;
        this_2.tfx_1 = _tmp_ppjApprovalIpAddr;
        tmp_58.dfx_1 = this_2;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_59 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithDisplayDetailsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.v9c_1 = _tmp_personPictureUid;
        this_3.w9c_1 = _tmp_personPictureLct;
        this_3.x9c_1 = _tmp_personPictureUri;
        this_3.y9c_1 = _tmp_personPictureThumbnailUri;
        this_3.z9c_1 = _tmp_fileSize;
        this_3.a9d_1 = _tmp_personPictureActive;
        tmp_59.efx_1 = this_3;
      }
      if (!_tmp_TransferJobItem_isAllNull) {
        var tmp_60 = this_0;
        // Inline function 'kotlin.apply' call
        var this_4 = new TransferJobItem();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.findByUidWithDisplayDetailsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_4.nc3_1 = _tmp_tjiUid;
        this_4.oc3_1 = _tmp_tjiTjUid;
        this_4.pc3_1 = _tmp_tjTotalSize;
        this_4.qc3_1 = _tmp_tjTransferred;
        this_4.rc3_1 = _tmp_tjAttemptCount;
        this_4.sc3_1 = _tmp_tjiSrc;
        this_4.tc3_1 = _tmp_tjiDest;
        this_4.uc3_1 = _tmp_tjiType;
        this_4.vc3_1 = _tmp_tjiStatus;
        this_4.wc3_1 = _tmp_tjiTableId;
        this_4.xc3_1 = _tmp_tjiEntityUid;
        this_4.yc3_1 = _tmp_tjiEntityEtag;
        this_4.zc3_1 = _tmp_tjiLockIdToRelease;
        this_4.ac4_1 = _tmp_tjiPartialTmpFile;
        tmp_60.ffx_1 = this_4;
      }
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda($personUid, $accountPersonUid, resultContinuation) {
    this.cfy_1 = $personUid;
    this.dfy_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda).ffy = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ffy((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.efy_1.a5o(1, this.cfy_1);
            this.efy_1.a5o(2, this.dfy_1);
            this.efy_1.a5o(3, this.cfy_1);
            this.efy_1.a5o(4, this.cfy_1);
            this.efy_1.a5o(5, this.cfy_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.efy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda(this.cfy_1, this.dfy_1, completion);
    i.efy_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda_0($personUid, $accountPersonUid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda($personUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ffy(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$getNamesByUid$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonDao_JdbcImpl$getNamesByUid$slambda$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$getNamesByUid$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonNames();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.getNamesByUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.gfy_1 = _tmp_firstNames;
      this_0.hfy_1 = _tmp_lastName;
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$getNamesByUid$slambda$slambda($uid, resultContinuation) {
    this.qfy_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda$slambda).sfy = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda$slambda).he = function (p1, $completion) {
    return this.sfy((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rfy_1.a5o(1, this.qfy_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.rfy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$getNamesByUid$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$getNamesByUid$slambda$slambda(this.qfy_1, completion);
    i.rfy_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$getNamesByUid$slambda$slambda_0($uid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$getNamesByUid$slambda$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.sfy(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$getNamesByUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonDao_JdbcImpl$getNamesByUidAsync$slambda$lambda$lambda(_result));
  }
  function PersonDao_JdbcImpl$getNamesByUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstNames = $_result.rz('firstNames');
      var _tmp_lastName = $_result.rz('lastName');
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonNames();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonDao_JdbcImpl.getNamesByUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.gfy_1 = _tmp_firstNames;
      this_0.hfy_1 = _tmp_lastName;
      return this_0;
    };
  }
  function PersonDao_JdbcImpl$_insertAdapterPerson_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tfy_1);
  }
  protoOf(PersonDao_JdbcImpl$_insertAdapterPerson_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPerson_abort$1).bfz = function (stmt, entity) {
    if (entity.x9b_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.x9b_1);
    }
    stmt.d5o(2, entity.y9b_1);
    stmt.d5o(3, entity.z9b_1);
    stmt.d5o(4, entity.a9c_1);
    stmt.d5o(5, entity.b9c_1);
    stmt.d5o(6, entity.c9c_1);
    stmt.z5n(7, entity.d9c_1);
    stmt.n5n(8, entity.e9c_1);
    stmt.a5o(9, entity.f9c_1);
    stmt.d5o(10, entity.g9c_1);
    stmt.d5o(11, entity.h9c_1);
    stmt.a5o(12, entity.i9c_1);
    stmt.a5o(13, entity.j9c_1);
    stmt.d5o(14, entity.k9c_1);
    stmt.z5n(15, entity.l9c_1);
    stmt.a5o(16, entity.m9c_1);
    stmt.a5o(17, entity.n9c_1);
    stmt.z5n(18, entity.o9c_1);
    stmt.n5n(19, entity.p9c_1);
    stmt.d5o(20, entity.q9c_1);
    stmt.d5o(21, entity.r9c_1);
    stmt.d5o(22, entity.s9c_1);
    stmt.d5o(23, entity.t9c_1);
    stmt.d5o(24, entity.u9c_1);
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPerson_abort$1).u5l = function (stmt, entity) {
    return this.bfz(stmt, entity instanceof Person ? entity : THROW_CCE());
  };
  function PersonDao_JdbcImpl$_insertAdapterPerson_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tfy_1);
  }
  protoOf(PersonDao_JdbcImpl$_insertAdapterPerson_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPerson_upsert$1).bfz = function (stmt, entity) {
    if (entity.x9b_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.x9b_1);
    }
    stmt.d5o(2, entity.y9b_1);
    stmt.d5o(3, entity.z9b_1);
    stmt.d5o(4, entity.a9c_1);
    stmt.d5o(5, entity.b9c_1);
    stmt.d5o(6, entity.c9c_1);
    stmt.z5n(7, entity.d9c_1);
    stmt.n5n(8, entity.e9c_1);
    stmt.a5o(9, entity.f9c_1);
    stmt.d5o(10, entity.g9c_1);
    stmt.d5o(11, entity.h9c_1);
    stmt.a5o(12, entity.i9c_1);
    stmt.a5o(13, entity.j9c_1);
    stmt.d5o(14, entity.k9c_1);
    stmt.z5n(15, entity.l9c_1);
    stmt.a5o(16, entity.m9c_1);
    stmt.a5o(17, entity.n9c_1);
    stmt.z5n(18, entity.o9c_1);
    stmt.n5n(19, entity.p9c_1);
    stmt.d5o(20, entity.q9c_1);
    stmt.d5o(21, entity.r9c_1);
    stmt.d5o(22, entity.s9c_1);
    stmt.d5o(23, entity.t9c_1);
    stmt.d5o(24, entity.u9c_1);
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPerson_upsert$1).u5l = function (stmt, entity) {
    return this.bfz(stmt, entity instanceof Person ? entity : THROW_CCE());
  };
  function PersonDao_JdbcImpl$_insertAdapterPersonAuth_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tfy_1);
  }
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonAuth_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonAuth (personAuthUid, passwordHash, personAuthStatus) VALUES(?, ?, ?)';
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonAuth_abort$1).tft = function (stmt, entity) {
    if (entity.uft_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.uft_1);
    }
    stmt.d5o(2, entity.vft_1);
    stmt.z5n(3, entity.wft_1);
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonAuth_abort$1).u5l = function (stmt, entity) {
    return this.tft(stmt, entity instanceof PersonAuth ? entity : THROW_CCE());
  };
  function PersonDao_JdbcImpl$_insertAdapterPersonGroup_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tfy_1);
  }
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonGroup_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonGroup_abort$1).ifz = function (stmt, entity) {
    if (entity.jfz_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.jfz_1);
    }
    stmt.a5o(2, entity.kfz_1);
    stmt.a5o(3, entity.lfz_1);
    stmt.z5n(4, entity.mfz_1);
    stmt.a5o(5, entity.nfz_1);
    stmt.d5o(6, entity.ofz_1);
    stmt.n5n(7, entity.pfz_1);
    stmt.z5n(8, entity.qfz_1);
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonGroup_abort$1).u5l = function (stmt, entity) {
    return this.ifz(stmt, entity instanceof PersonGroup ? entity : THROW_CCE());
  };
  function PersonDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tfy_1);
  }
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1).tfz = function (stmt, entity) {
    if (entity.ufz_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ufz_1);
    }
    stmt.n5n(2, entity.vfz_1);
    stmt.a5o(3, entity.wfz_1);
    stmt.a5o(4, entity.xfz_1);
    stmt.a5o(5, entity.yfz_1);
    stmt.a5o(6, entity.zfz_1);
    stmt.z5n(7, entity.ag0_1);
    stmt.a5o(8, entity.bg0_1);
  };
  protoOf(PersonDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1).u5l = function (stmt, entity) {
    return this.tfz(stmt, entity instanceof PersonGroupMember ? entity : THROW_CCE());
  };
  function PersonDao_JdbcImpl$updateAsync$slambda($entity, $_result, resultContinuation) {
    this.kg0_1 = $entity;
    this.lg0_1 = $_result;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$updateAsync$slambda).q5l = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$updateAsync$slambda).he = function (p1, $completion) {
    return this.q5l((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.mg0_1.d5o(1, this.kg0_1.y9b_1);
            this.mg0_1.d5o(2, this.kg0_1.z9b_1);
            this.mg0_1.d5o(3, this.kg0_1.a9c_1);
            this.mg0_1.d5o(4, this.kg0_1.b9c_1);
            this.mg0_1.d5o(5, this.kg0_1.c9c_1);
            this.mg0_1.z5n(6, this.kg0_1.d9c_1);
            this.mg0_1.n5n(7, this.kg0_1.e9c_1);
            this.mg0_1.a5o(8, this.kg0_1.f9c_1);
            this.mg0_1.d5o(9, this.kg0_1.g9c_1);
            this.mg0_1.d5o(10, this.kg0_1.h9c_1);
            this.mg0_1.a5o(11, this.kg0_1.i9c_1);
            this.mg0_1.a5o(12, this.kg0_1.j9c_1);
            this.mg0_1.d5o(13, this.kg0_1.k9c_1);
            this.mg0_1.z5n(14, this.kg0_1.l9c_1);
            this.mg0_1.a5o(15, this.kg0_1.m9c_1);
            this.mg0_1.a5o(16, this.kg0_1.n9c_1);
            this.mg0_1.z5n(17, this.kg0_1.o9c_1);
            this.mg0_1.n5n(18, this.kg0_1.p9c_1);
            this.mg0_1.d5o(19, this.kg0_1.q9c_1);
            this.mg0_1.d5o(20, this.kg0_1.r9c_1);
            this.mg0_1.d5o(21, this.kg0_1.s9c_1);
            this.mg0_1.d5o(22, this.kg0_1.t9c_1);
            this.mg0_1.d5o(23, this.kg0_1.u9c_1);
            this.mg0_1.a5o(24, this.kg0_1.x9b_1);
            this.ng0_1 = this.lg0_1._v;
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.mg0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = this.ng0_1 + ARGUMENT | 0;
            this.lg0_1._v = ARGUMENT_0;
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$updateAsync$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$updateAsync$slambda(this.kg0_1, this.lg0_1, completion);
    i.mg0_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$updateAsync$slambda_0($entity, $_result, resultContinuation) {
    var i = new PersonDao_JdbcImpl$updateAsync$slambda($entity, $_result, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.q5l(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$countUsername$slambda($username, resultContinuation) {
    this.wg0_1 = $username;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$countUsername$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$countUsername$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$countUsername$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.xg0_1.d5o(1, this.wg0_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.xg0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$countUsername$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$countUsername$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$countUsername$slambda(this.wg0_1, completion);
    i.xg0_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$countUsername$slambda_0($username, resultContinuation) {
    var i = new PersonDao_JdbcImpl$countUsername$slambda($username, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$findByUidWithPicture$slambda($accountPersonUid, resultContinuation) {
    this.gg1_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findByUidWithPicture$slambda).sfv = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPicture$slambda).he = function (p1, $completion) {
    return this.sfv((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPicture$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hg1_1.a5o(1, this.gg1_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.hg1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$findByUidWithPicture$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPicture$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$findByUidWithPicture$slambda(this.gg1_1, completion);
    i.hg1_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$findByUidWithPicture$slambda_0($accountPersonUid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findByUidWithPicture$slambda($accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.sfv(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda(this$0, $uid, resultContinuation) {
    this.qg1_1 = this$0;
    this.rg1_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).sg1 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).r7e = function ($completion) {
    return this.sg1($completion);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Person.*, PersonPicture.*\n          FROM Person\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Person.personUid\n         WHERE Person.personUid = CAST(? AS BIGINT)           \n    ', VOID, VOID, VOID, '\n        SELECT Person.*, PersonPicture.*\n          FROM Person\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Person.personUid\n         WHERE Person.personUid = ?           \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.qg1_1.tfy_1, tmp_0, PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda$slambda_0(this.rg1_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda).q7e = function (completion) {
    return new PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda(this.qg1_1, this.rg1_1, completion);
  };
  function PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda_0(this$0, $uid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.sg1($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation) {
    this.bg2_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findByUidAsync$slambda).dg2 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findByUidAsync$slambda).he = function (p1, $completion) {
    return this.dg2((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.cg2_1.a5o(1, this.bg2_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.cg2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$findByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$findByUidAsync$slambda(this.bg2_1, completion);
    i.cg2_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$findByUidAsync$slambda_0($uid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findByUidAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.dg2(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$1(this$0, $accountPersonUid, $excludeClazz, $timestamp, $excludeSelected, $searchText, $sortOrder) {
    this.kg2_1 = this$0;
    this.lg2_1 = $accountPersonUid;
    this.mg2_1 = $excludeClazz;
    this.ng2_1 = $timestamp;
    this.og2_1 = $excludeSelected;
    this.pg2_1 = $searchText;
    this.qg2_1 = $sortOrder;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp$ret$2 = ['SystemPermission', 'ClazzEnrolment', 'Person', 'PersonPicture', 'CoursePermission'];
    DoorLimitOffsetPagingSource.call(this, this$0.tfy_1, tmp$ret$2);
  }
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$1).rg2 = function (_limit, _offset, $completion) {
    var tmp = new PreparedStatementConfig("SELECT * FROM (\n         WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given the active user \n                 for their enrolments \n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE CAST(? AS BIGINT) != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE CAST(? AS BIGINT) != 0\n                  AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT))\n               \n         SELECT Person.*, PersonPicture.*\n           FROM Person\n                LEFT JOIN PersonPicture\n                     ON PersonPicture.personPictureUid = Person.personUid\n          WHERE /* Begin permission check */ \n                (         \n                      (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                       8192\n                       \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                    OR (Person.personUid IN \n                               (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                  FROM CanViewPersonUidsViaCoursePermission))\n                    OR (Person.personUid = CAST(? AS BIGINT))\n                )\n                /* End permission check */\n           AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) NOT IN\n                    (SELECT clazzEnrolmentClazzUid \n                       FROM ClazzEnrolment \n                      WHERE clazzEnrolmentPersonUid = Person.personUid \n                            AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                AND ClazzEnrolment.clazzEnrolmentDateLeft\n                        AND ClazzEnrolment.clazzEnrolmentActive))\n           AND Person.personType = 0                  \n           AND (Person.personUid NOT IN (?))\n           AND (? = '%' \n               OR Person.firstNames || ' ' || Person.lastName LIKE ?)\n      GROUP BY Person.personUid, PersonPicture.personPictureUid\n      ORDER BY CASE(?)\n               WHEN 1 THEN Person.firstNames\n               WHEN 3 THEN Person.lastName\n               ELSE ''\n               END ASC,\n               CASE(?)\n               WHEN 2 THEN Person.firstNames\n               WHEN 4 THEN Person.lastName\n               ELSE ''\n               END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?", true, VOID, VOID, "SELECT * FROM (\n         WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given the active user \n                 for their enrolments \n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE ? != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ?\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE ? != 0\n                  AND CoursePermission.cpToPersonUid = ?)\n               \n         SELECT Person.*, PersonPicture.*\n           FROM Person\n                LEFT JOIN PersonPicture\n                     ON PersonPicture.personPictureUid = Person.personUid\n          WHERE /* Begin permission check */ \n                (         \n                      (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                       8192\n                       \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                    OR (Person.personUid IN \n                               (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                  FROM CanViewPersonUidsViaCoursePermission))\n                    OR (Person.personUid = ?)\n                )\n                /* End permission check */\n           AND (? = 0 OR ? NOT IN\n                    (SELECT clazzEnrolmentClazzUid \n                       FROM ClazzEnrolment \n                      WHERE clazzEnrolmentPersonUid = Person.personUid \n                            AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                AND ClazzEnrolment.clazzEnrolmentDateLeft\n                        AND ClazzEnrolment.clazzEnrolmentActive))\n           AND Person.personType = 0                  \n           AND (Person.personUid NOT IN (?))\n           AND (? = '%' \n               OR Person.firstNames || ' ' || Person.lastName LIKE ?)\n      GROUP BY Person.personUid, PersonPicture.personPictureUid\n      ORDER BY CASE(?)\n               WHEN 1 THEN Person.firstNames\n               WHEN 3 THEN Person.lastName\n               ELSE ''\n               END ASC,\n               CASE(?)\n               WHEN 2 THEN Person.firstNames\n               WHEN 4 THEN Person.lastName\n               ELSE ''\n               END DESC\n    ) AS _PagingData LIMIT ? OFFSET ?\n", true);
    return prepareAndUseStatementAsync(this.kg2_1.tfy_1, tmp, PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$loadRows$slambda_0(this.lg2_1, this.mg2_1, this.ng2_1, this.og2_1, this.pg2_1, this.qg2_1, _limit, _offset, null), $completion);
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$1).b5w = function (_limit, _offset, $completion) {
    return this.rg2(_limit, _offset, $completion);
  };
  protoOf(PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$1).v5x = function ($completion) {
    var tmp = new PreparedStatementConfig("SELECT COUNT(*) FROM (\n         WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given the active user \n                 for their enrolments \n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE CAST(? AS BIGINT) != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE CAST(? AS BIGINT) != 0\n                  AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT))\n               \n         SELECT Person.*, PersonPicture.*\n           FROM Person\n                LEFT JOIN PersonPicture\n                     ON PersonPicture.personPictureUid = Person.personUid\n          WHERE /* Begin permission check */ \n                (         \n                      (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                       8192\n                       \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                    OR (Person.personUid IN \n                               (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                  FROM CanViewPersonUidsViaCoursePermission))\n                    OR (Person.personUid = CAST(? AS BIGINT))\n                )\n                /* End permission check */\n           AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) NOT IN\n                    (SELECT clazzEnrolmentClazzUid \n                       FROM ClazzEnrolment \n                      WHERE clazzEnrolmentPersonUid = Person.personUid \n                            AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                AND ClazzEnrolment.clazzEnrolmentDateLeft\n                        AND ClazzEnrolment.clazzEnrolmentActive))\n           AND Person.personType = 0                  \n           AND (Person.personUid NOT IN (?))\n           AND (? = '%' \n               OR Person.firstNames || ' ' || Person.lastName LIKE ?)\n      GROUP BY Person.personUid, PersonPicture.personPictureUid\n      ORDER BY CASE(?)\n               WHEN 1 THEN Person.firstNames\n               WHEN 3 THEN Person.lastName\n               ELSE ''\n               END ASC,\n               CASE(?)\n               WHEN 2 THEN Person.firstNames\n               WHEN 4 THEN Person.lastName\n               ELSE ''\n               END DESC\n    ) AS _PagingCount", true, VOID, VOID, "SELECT COUNT(*) FROM (\n         WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given the active user \n                 for their enrolments \n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE ? != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ?\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE ? != 0\n                  AND CoursePermission.cpToPersonUid = ?)\n               \n         SELECT Person.*, PersonPicture.*\n           FROM Person\n                LEFT JOIN PersonPicture\n                     ON PersonPicture.personPictureUid = Person.personUid\n          WHERE /* Begin permission check */ \n                (         \n                      (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                       8192\n                       \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                    OR (Person.personUid IN \n                               (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                  FROM CanViewPersonUidsViaCoursePermission))\n                    OR (Person.personUid = ?)\n                )\n                /* End permission check */\n           AND (? = 0 OR ? NOT IN\n                    (SELECT clazzEnrolmentClazzUid \n                       FROM ClazzEnrolment \n                      WHERE clazzEnrolmentPersonUid = Person.personUid \n                            AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                AND ClazzEnrolment.clazzEnrolmentDateLeft\n                        AND ClazzEnrolment.clazzEnrolmentActive))\n           AND Person.personType = 0                  \n           AND (Person.personUid NOT IN (?))\n           AND (? = '%' \n               OR Person.firstNames || ' ' || Person.lastName LIKE ?)\n      GROUP BY Person.personUid, PersonPicture.personPictureUid\n      ORDER BY CASE(?)\n               WHEN 1 THEN Person.firstNames\n               WHEN 3 THEN Person.lastName\n               ELSE ''\n               END ASC,\n               CASE(?)\n               WHEN 2 THEN Person.firstNames\n               WHEN 4 THEN Person.lastName\n               ELSE ''\n               END DESC\n    ) AS _PagingCount\n", true);
    return prepareAndUseStatementAsync(this.kg2_1.tfy_1, tmp, PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$o$countRows$slambda_0(this.lg2_1, this.mg2_1, this.ng2_1, this.og2_1, this.pg2_1, this.qg2_1, null), $completion);
  };
  function PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda(this$0, $personUid, $accountPersonUid, resultContinuation) {
    this.ag3_1 = this$0;
    this.bg3_1 = $personUid;
    this.cg3_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda).dg3 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda).r7e = function ($completion) {
    return this.dg3($completion);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Person.*, PersonParentJoin.* , PersonPicture.*, TransferJobItem.*\n          FROM Person\n               LEFT JOIN PersonParentJoin \n                    ON ppjUid =\n                    (SELECT ppjUid \n                       FROM PersonParentJoin\n                      WHERE ppjMinorPersonUid = CAST(? AS BIGINT) \n                        AND ppjParentPersonUid = CAST(? AS BIGINT) \n                      LIMIT 1)  \n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = CAST(? AS BIGINT)\n               LEFT JOIN TransferJobItem\n                    ON TransferJobItem.tjiUid = \n                       (SELECT TransferJobItem.tjiUid\n                          FROM TransferJobItem\n                         WHERE TransferJobItem.tjiEntityUid = CAST(? AS BIGINT)\n                           AND TransferJobItem.tjiTableId = 50\n                           AND TransferJobItem.tjiEntityEtag = PersonPicture.personPictureLct\n                           AND TransferJobItem.tjiStatus != 21\n                         LIMIT 1)\n                          \n         WHERE Person.personUid = CAST(? AS BIGINT)\n        ', VOID, VOID, VOID, '\n        SELECT Person.*, PersonParentJoin.* , PersonPicture.*, TransferJobItem.*\n          FROM Person\n               LEFT JOIN PersonParentJoin \n                    ON ppjUid =\n                    (SELECT ppjUid \n                       FROM PersonParentJoin\n                      WHERE ppjMinorPersonUid = ? \n                        AND ppjParentPersonUid = ? \n                      LIMIT 1)  \n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = ?\n               LEFT JOIN TransferJobItem\n                    ON TransferJobItem.tjiUid = \n                       (SELECT TransferJobItem.tjiUid\n                          FROM TransferJobItem\n                         WHERE TransferJobItem.tjiEntityUid = ?\n                           AND TransferJobItem.tjiTableId = 50\n                           AND TransferJobItem.tjiEntityEtag = PersonPicture.personPictureLct\n                           AND TransferJobItem.tjiStatus != 21\n                         LIMIT 1)\n                          \n         WHERE Person.personUid = ?\n        \n', true);
            suspendResult = prepareAndUseStatementAsync(this.ag3_1.tfy_1, tmp_0, PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda$slambda_0(this.bg3_1, this.cg3_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda).q7e = function (completion) {
    return new PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda(this.ag3_1, this.bg3_1, this.cg3_1, completion);
  };
  function PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda_0(this$0, $personUid, $accountPersonUid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda(this$0, $personUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.dg3($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_JdbcImpl$getNamesByUid$slambda(this$0, $uid, resultContinuation) {
    this.mg3_1 = this$0;
    this.ng3_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda).og3 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda).r7e = function ($completion) {
    return this.og3($completion);
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT Person.firstNames, Person.lastName\n          FROM Person\n         WHERE Person.personUid = CAST(? AS BIGINT)  \n    ', VOID, VOID, VOID, '\n        SELECT Person.firstNames, Person.lastName\n          FROM Person\n         WHERE Person.personUid = ?  \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.mg3_1.tfy_1, tmp_0, PersonDao_JdbcImpl$getNamesByUid$slambda$slambda_0(this.ng3_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUid$slambda).q7e = function (completion) {
    return new PersonDao_JdbcImpl$getNamesByUid$slambda(this.mg3_1, this.ng3_1, completion);
  };
  function PersonDao_JdbcImpl$getNamesByUid$slambda_0(this$0, $uid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$getNamesByUid$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.og3($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_JdbcImpl$getNamesByUidAsync$slambda($uid, resultContinuation) {
    this.xg3_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$getNamesByUidAsync$slambda).sfy = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUidAsync$slambda).he = function (p1, $completion) {
    return this.sfy((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.yg3_1.a5o(1, this.xg3_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.yg3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonDao_JdbcImpl$getNamesByUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$getNamesByUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$getNamesByUidAsync$slambda(this.xg3_1, completion);
    i.yg3_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$getNamesByUidAsync$slambda_0($uid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$getNamesByUidAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.sfy(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_JdbcImpl$updateUsername$slambda($username, $currentTime, $personUid, resultContinuation) {
    this.hg4_1 = $username;
    this.ig4_1 = $currentTime;
    this.jg4_1 = $personUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_JdbcImpl$updateUsername$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl$updateUsername$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl$updateUsername$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.kg4_1.d5o(1, this.hg4_1);
            this.kg4_1.a5o(2, this.ig4_1);
            this.kg4_1.a5o(3, this.jg4_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.kg4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_JdbcImpl$updateUsername$slambda).r5l = function (_stmt, completion) {
    var i = new PersonDao_JdbcImpl$updateUsername$slambda(this.hg4_1, this.ig4_1, this.jg4_1, completion);
    i.kg4_1 = _stmt;
    return i;
  };
  function PersonDao_JdbcImpl$updateUsername$slambda_0($username, $currentTime, $personUid, resultContinuation) {
    var i = new PersonDao_JdbcImpl$updateUsername$slambda($username, $currentTime, $personUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$312(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tg4_1 = _this__u8e3s4;
    this.ug4_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$312).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.tg4_1.ufy_1.b5n(this.ug4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$313(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.dg5_1 = _this__u8e3s4;
    this.eg5_1 = entity;
  }
  protoOf($updateAsyncCOROUTINE$313).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fg5_1 = {_v: 0};
            this.gg5_1 = 'UPDATE Person SET username = ?, firstNames = ?, lastName = ?, emailAddr = ?, phoneNum = ?, gender = ?, active = ?, dateOfBirth = ?, personAddress = ?, personOrgId = ?, personGroupUid = ?, personLct = ?, personCountry = ?, personType = ?, personMasterChangeSeqNum = ?, personLocalChangeSeqNum = ?, personLastChangedBy = ?, admin = ?, personNotes = ?, fatherName = ?, fatherNumber = ?, motherName = ?, motherNum = ? WHERE personUid = ?';
            this.hd_1 = 1;
            suspendResult = prepareAndUseStatementAsync_0(this.dg5_1.tfy_1, this.gg5_1, VOID, PersonDao_JdbcImpl$updateAsync$slambda_0(this.eg5_1, this.fg5_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return this.fg5_1._v;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonDao_JdbcImpl(_db) {
    PersonDao.call(this);
    this.tfy_1 = _db;
    var tmp = this;
    tmp.ufy_1 = new PersonDao_JdbcImpl$_insertAdapterPerson_abort$1(this);
    var tmp_0 = this;
    tmp_0.vfy_1 = new PersonDao_JdbcImpl$_insertAdapterPerson_upsert$1(this);
    var tmp_1 = this;
    tmp_1.wfy_1 = new PersonDao_JdbcImpl$_insertAdapterPersonAuth_abort$1(this);
    var tmp_2 = this;
    tmp_2.xfy_1 = new PersonDao_JdbcImpl$_insertAdapterPersonGroup_abort$1(this);
    var tmp_3 = this;
    tmp_3.yfy_1 = new PersonDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1(this);
  }
  protoOf(PersonDao_JdbcImpl).ffv = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$312(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.ffv(entity instanceof Person ? entity : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_JdbcImpl).lfu = function (entity, $completion) {
    var tmp = new $updateAsyncCOROUTINE$313(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_JdbcImpl).ifu = function (username, $completion) {
    var tmp = new PreparedStatementConfig('SELECT COUNT(*) FROM Person where Person.username = ?', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.tfy_1, tmp, PersonDao_JdbcImpl$countUsername$slambda_0(username, null), $completion);
  };
  protoOf(PersonDao_JdbcImpl).jfu = function (accountPersonUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT Person.*, PersonPicture.*\n          FROM Person\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Person.personUid\n         WHERE Person.personUid = CAST(? AS BIGINT)           \n    ', VOID, VOID, VOID, '\n        SELECT Person.*, PersonPicture.*\n          FROM Person\n               LEFT JOIN PersonPicture\n                    ON PersonPicture.personPictureUid = Person.personUid\n         WHERE Person.personUid = ?           \n    \n', true);
    return prepareAndUseStatementAsync(this.tfy_1, tmp, PersonDao_JdbcImpl$findByUidWithPicture$slambda_0(accountPersonUid, null), $completion);
  };
  protoOf(PersonDao_JdbcImpl).vcc = function (uid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Person', 'PersonPicture'];
    return doorFlow(this.tfy_1, tmp, PersonDao_JdbcImpl$findByUidWithPictureAsFlow$slambda_0(this, uid, null));
  };
  protoOf(PersonDao_JdbcImpl).kfu = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM Person WHERE personUid = CAST(? AS BIGINT)', VOID, VOID, VOID, 'SELECT * FROM Person WHERE personUid = ?\n', true);
    return prepareAndUseStatementAsync(this.tfy_1, tmp, PersonDao_JdbcImpl$findByUidAsync$slambda_0(uid, null), $completion);
  };
  protoOf(PersonDao_JdbcImpl).mfu = function (timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText) {
    return new PersonDao_JdbcImpl$findPersonsWithPermissionAsPagingSource$1(this, accountPersonUid, excludeClazz, timestamp, excludeSelected, searchText, sortOrder);
  };
  protoOf(PersonDao_JdbcImpl).nfu = function (personUid, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Person', 'PersonPicture', 'PersonParentJoin', 'TransferJobItem'];
    return doorFlow(this.tfy_1, tmp, PersonDao_JdbcImpl$findByUidWithDisplayDetailsFlow$slambda_0(this, personUid, accountPersonUid, null));
  };
  protoOf(PersonDao_JdbcImpl).ofu = function (uid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Person'];
    return doorFlow(this.tfy_1, tmp, PersonDao_JdbcImpl$getNamesByUid$slambda_0(this, uid, null));
  };
  protoOf(PersonDao_JdbcImpl).pfu = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT Person.firstNames, Person.lastName\n          FROM Person\n         WHERE Person.personUid = CAST(? AS BIGINT)  \n    ', VOID, VOID, VOID, '\n        SELECT Person.firstNames, Person.lastName\n          FROM Person\n         WHERE Person.personUid = ?  \n    \n', true);
    return prepareAndUseStatementAsync(this.tfy_1, tmp, PersonDao_JdbcImpl$getNamesByUidAsync$slambda_0(uid, null), $completion);
  };
  protoOf(PersonDao_JdbcImpl).qfu = function (personUid, username, currentTime, $completion) {
    var tmp = new PreparedStatementConfig('\n        UPDATE Person\n           SET username = ?,\n               personLct = CAST(? AS BIGINT)\n         WHERE Person.personUid = CAST(? AS BIGINT)  \n    ', VOID, VOID, VOID, '\n        UPDATE Person\n           SET username = ?,\n               personLct = ?\n         WHERE Person.personUid = ?  \n    \n', false);
    return prepareAndUseStatementAsync(this.tfy_1, tmp, PersonDao_JdbcImpl$updateUsername$slambda_0(username, currentTime, personUid, null), $completion);
  };
  function PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$getNamesByUid$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$countUsername$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequest: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$findByUidWithPicture$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$findByUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$updateAsync$slambda(this$0, $entity, resultContinuation) {
    this.pg5_1 = this$0;
    this.qg5_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_Repo$updateAsync$slambda).a90 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo$updateAsync$slambda).r7e = function ($completion) {
    return this.a90($completion);
  };
  protoOf(PersonDao_Repo$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.pg5_1.tg5_1.lfu(this.qg5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_Repo$updateAsync$slambda).q7e = function (completion) {
    return new PersonDao_Repo$updateAsync$slambda(this.pg5_1, this.qg5_1, completion);
  };
  function PersonDao_Repo$updateAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PersonDao_Repo$updateAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.a90($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda(this$0, $timestamp, $excludeClazz, $excludeSelected, $accountPersonUid, $sortOrder, $searchText, resultContinuation) {
    this.gg6_1 = this$0;
    this.hg6_1 = $timestamp;
    this.ig6_1 = $excludeClazz;
    this.jg6_1 = $excludeSelected;
    this.kg6_1 = $accountPersonUid;
    this.lg6_1 = $sortOrder;
    this.mg6_1 = $searchText;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda).c8c = function (_pagingParams, $completion) {
    var tmp = this.d8c(_pagingParams, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda).he = function (p1, $completion) {
    return this.c8c(p1 instanceof LoadParams ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.pg6_1 = this.gg6_1.sg5_1;
            var tmp_1 = this;
            tmp_1.qg6_1 = 'PersonDao/findPersonsWithPermissionAsPagingSource';
            this.id_1 = 4;
            var tmp_2 = this;
            tmp_2.rg6_1 = this.gg6_1.ug5_1;
            var tmp_3 = this;
            tmp_3.sg6_1 = this.rg6_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.gg6_1.sg5_1.a3d(), 'PersonDao/findPersonsWithPermissionAsPagingSource');
            doorNodeIdHeader(this_0, this.gg6_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'timestamp', this.gg6_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.hg6_1));
            parameter(this_0, 'excludeClazz', this.gg6_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.ig6_1));
            parameter(this_0, 'excludeSelected', this.gg6_1.sg5_1.a3d().c6c_1.w4b(ListSerializer(serializer(Companion_getInstance())), this.jg6_1));
            parameter(this_0, 'accountPersonUid', this.gg6_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.kg6_1));
            parameter(this_0, 'sortOrder', this.gg6_1.sg5_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.lg6_1));
            parameter(this_0, 'searchText', this.gg6_1.sg5_1.a3d().c6c_1.w4b(get_nullable(serializer_0(StringCompanionObject_instance)), this.mg6_1));
            pagingSourceLoadParameters(this_0, this.gg6_1.sg5_1.a3d().c6c_1, get_nullable(serializer_1(IntCompanionObject_instance)), this.ng6_1);
            tmp_4.tg6_1 = this_0;
            this.tg6_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ug6_1 = this.sg6_1;
            var tmp_6 = this;
            tmp_6.vg6_1 = this.tg6_1;
            this.hd_1 = 2;
            suspendResult = (new HttpStatement(this.vg6_1, this.ug6_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.wg6_1 = suspendResult;
            this.hd_1 = 3;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.gg6_1.rg5_1, this.wg6_1, this.gg6_1.sg5_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.og6_1 = endOfPaginationReached(this.wg6_1);
            this.id_1 = 5;
            this.hd_1 = 7;
            continue $sm;
          case 4:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda$lambda(this.pg6_1, this.qg6_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 5:
            throw this.kd_1;
          case 6:
            this.id_1 = 5;
            if (false) {
              this.hd_1 = 1;
              continue $sm;
            }

            this.hd_1 = 7;
            continue $sm;
          case 7:
            return this.og6_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda).d8c = function (_pagingParams, completion) {
    var i = new PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda(this.gg6_1, this.hg6_1, this.ig6_1, this.jg6_1, this.kg6_1, this.lg6_1, this.mg6_1, completion);
    i.ng6_1 = _pagingParams;
    return i;
  };
  function PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda_0(this$0, $timestamp, $excludeClazz, $excludeSelected, $accountPersonUid, $sortOrder, $searchText, resultContinuation) {
    var i = new PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda(this$0, $timestamp, $excludeClazz, $excludeSelected, $accountPersonUid, $sortOrder, $searchText, resultContinuation);
    var l = function (_pagingParams, $completion) {
      return i.c8c(_pagingParams, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda(this$0, $personUid, $accountPersonUid, resultContinuation) {
    this.fg7_1 = this$0;
    this.gg7_1 = $personUid;
    this.hg7_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ig7_1 = this.fg7_1.sg5_1;
            var tmp_1 = this;
            tmp_1.jg7_1 = 'PersonDao/findByUidWithDisplayDetailsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.kg7_1 = this.fg7_1.ug5_1;
            var tmp_3 = this;
            tmp_3.lg7_1 = this.kg7_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.fg7_1.sg5_1.a3d(), 'PersonDao/findByUidWithDisplayDetailsFlow');
            doorNodeIdHeader(this_0, this.fg7_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'personUid', this.fg7_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.gg7_1));
            parameter(this_0, 'accountPersonUid', this.fg7_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.hg7_1));
            tmp_4.mg7_1 = this_0;
            this.mg7_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ng7_1 = this.lg7_1;
            var tmp_6 = this;
            tmp_6.og7_1 = this.mg7_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.og7_1, this.ng7_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.pg7_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.fg7_1.rg5_1, this.pg7_1, this.fg7_1.sg5_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda$lambda(this.ig7_1, this.jg7_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda).q7e = function (completion) {
    return new PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda(this.fg7_1, this.gg7_1, this.hg7_1, completion);
  };
  function PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda_0(this$0, $personUid, $accountPersonUid, resultContinuation) {
    var i = new PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda(this$0, $personUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_Repo$getNamesByUid$slambda(this$0, $uid, resultContinuation) {
    this.yg7_1 = this$0;
    this.zg7_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_Repo$getNamesByUid$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo$getNamesByUid$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PersonDao_Repo$getNamesByUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.ag8_1 = this.yg7_1.sg5_1;
            var tmp_1 = this;
            tmp_1.bg8_1 = 'PersonDao/getNamesByUid';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.cg8_1 = this.yg7_1.ug5_1;
            var tmp_3 = this;
            tmp_3.dg8_1 = this.cg8_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.yg7_1.sg5_1.a3d(), 'PersonDao/getNamesByUid');
            doorNodeIdHeader(this_0, this.yg7_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.yg7_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.zg7_1));
            tmp_4.eg8_1 = this_0;
            this.eg8_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.fg8_1 = this.dg8_1;
            var tmp_6 = this;
            tmp_6.gg8_1 = this.eg8_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.gg8_1, this.fg8_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.hg8_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.yg7_1.rg5_1, this.hg8_1, this.yg7_1.sg5_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', PersonDao_Repo$getNamesByUid$slambda$lambda(this.ag8_1, this.bg8_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(PersonDao_Repo$getNamesByUid$slambda).q7e = function (completion) {
    return new PersonDao_Repo$getNamesByUid$slambda(this.yg7_1, this.zg7_1, completion);
  };
  function PersonDao_Repo$getNamesByUid$slambda_0(this$0, $uid, resultContinuation) {
    var i = new PersonDao_Repo$getNamesByUid$slambda(this$0, $uid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_Repo$getNamesByUidAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonDao_Repo$updateUsername$slambda(this$0, $personUid, $username, $currentTime, resultContinuation) {
    this.qg8_1 = this$0;
    this.rg8_1 = $personUid;
    this.sg8_1 = $username;
    this.tg8_1 = $currentTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_Repo$updateUsername$slambda).a90 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo$updateUsername$slambda).r7e = function ($completion) {
    return this.a90($completion);
  };
  protoOf(PersonDao_Repo$updateUsername$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qg8_1.tg5_1.qfu(this.rg8_1, this.sg8_1, this.tg8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_Repo$updateUsername$slambda).q7e = function (completion) {
    return new PersonDao_Repo$updateUsername$slambda(this.qg8_1, this.rg8_1, this.sg8_1, this.tg8_1, completion);
  };
  function PersonDao_Repo$updateUsername$slambda_0(this$0, $personUid, $username, $currentTime, resultContinuation) {
    var i = new PersonDao_Repo$updateUsername$slambda(this$0, $personUid, $username, $currentTime, resultContinuation);
    var l = function ($completion) {
      return i.a90($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.cg9_1 = this$0;
    this.dg9_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PersonDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cg9_1.tg5_1.insertAsync(this.dg9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new PersonDao_Repo$insertAsync$slambda(this.cg9_1, this.dg9_1, completion);
  };
  function PersonDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PersonDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $countUsernameCOROUTINE$314(_this__u8e3s4, username, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mg9_1 = _this__u8e3s4;
    this.ng9_1 = username;
  }
  protoOf($countUsernameCOROUTINE$314).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 5;
            this.og9_1 = this.mg9_1.sg5_1.a3d().c6c_1;
            this.pg9_1 = serializer_1(IntCompanionObject_instance);
            var tmp_0 = this;
            tmp_0.qg9_1 = this.mg9_1.sg5_1;
            var tmp_1 = this;
            tmp_1.rg9_1 = 'PersonDao/countUsername';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.tg9_1 = this.mg9_1.sg5_1.a3d().b6c_1;
            var tmp_3 = this;
            tmp_3.ug9_1 = this.tg9_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.mg9_1.sg5_1.a3d(), 'PersonDao/countUsername');
            doorNodeIdHeader(this_0, this.mg9_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'username', this.mg9_1.sg5_1.a3d().c6c_1.w4b(serializer_0(StringCompanionObject_instance), this.ng9_1));
            tmp_4.vg9_1 = this_0;
            this.vg9_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.wg9_1 = this.ug9_1;
            var tmp_6 = this;
            tmp_6.xg9_1 = this.vg9_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.xg9_1, this.wg9_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.yg9_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = bodyAsText(this.yg9_1, VOID, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.sg9_1 = suspendResult;
            this.id_1 = 5;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 5;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              var tmp_8 = this;
              Napier_getInstance().s5k(e, 'DoorLog', PersonDao_Repo$countUsername$lambda(this.qg9_1, this.rg9_1));
              throw e;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 5;
            var ARGUMENT = this.sg9_1;
            return this.og9_1.x4b(this.pg9_1, ARGUMENT);
          case 5:
            throw this.kd_1;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 5) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  function $findByUidWithPictureCOROUTINE$319(_this__u8e3s4, accountPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.hga_1 = _this__u8e3s4;
    this.iga_1 = accountPersonUid;
  }
  protoOf($findByUidWithPictureCOROUTINE$319).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.jga_1 = this.hga_1.sg5_1;
            var tmp_1 = this;
            tmp_1.kga_1 = 'PersonDao/findByUidWithPicture';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.lga_1 = this.hga_1.ug5_1;
            var tmp_3 = this;
            tmp_3.mga_1 = this.lga_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.hga_1.sg5_1.a3d(), 'PersonDao/findByUidWithPicture');
            doorNodeIdHeader(this_0, this.hga_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.hga_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.iga_1));
            tmp_4.nga_1 = this_0;
            this.nga_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.oga_1 = this.mga_1;
            var tmp_6 = this;
            tmp_6.pga_1 = this.nga_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.pga_1, this.oga_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.qga_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.hga_1.rg5_1, this.qga_1, this.hga_1.sg5_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.rga_1 = this.kd_1;
              Napier_getInstance().i5k(this.rga_1, 'DoorLog', PersonDao_Repo$findByUidWithPicture$lambda(this.jga_1, this.kga_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.hga_1.tg5_1.jfu(this.iga_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidAsyncCOROUTINE$320(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.agb_1 = _this__u8e3s4;
    this.bgb_1 = uid;
  }
  protoOf($findByUidAsyncCOROUTINE$320).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.cgb_1 = this.agb_1.sg5_1;
            var tmp_1 = this;
            tmp_1.dgb_1 = 'PersonDao/findByUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.egb_1 = this.agb_1.ug5_1;
            var tmp_3 = this;
            tmp_3.fgb_1 = this.egb_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.agb_1.sg5_1.a3d(), 'PersonDao/findByUidAsync');
            doorNodeIdHeader(this_0, this.agb_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.agb_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.bgb_1));
            tmp_4.ggb_1 = this_0;
            this.ggb_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.hgb_1 = this.fgb_1;
            var tmp_6 = this;
            tmp_6.igb_1 = this.ggb_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.igb_1, this.hgb_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.jgb_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.agb_1.rg5_1, this.jgb_1, this.agb_1.sg5_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.kgb_1 = this.kd_1;
              Napier_getInstance().i5k(this.kgb_1, 'DoorLog', PersonDao_Repo$findByUidAsync$lambda(this.cgb_1, this.dgb_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.agb_1.tg5_1.kfu(this.bgb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$321(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.tgb_1 = _this__u8e3s4;
    this.ugb_1 = entity;
  }
  protoOf($updateAsyncCOROUTINE$321).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.tgb_1.sg5_1, 'Person', PersonDao_Repo$updateAsync$slambda_0(this.tgb_1, this.ugb_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $getNamesByUidAsyncCOROUTINE$324(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.dgc_1 = _this__u8e3s4;
    this.egc_1 = uid;
  }
  protoOf($getNamesByUidAsyncCOROUTINE$324).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.fgc_1 = this.dgc_1.sg5_1;
            var tmp_1 = this;
            tmp_1.ggc_1 = 'PersonDao/getNamesByUidAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.hgc_1 = this.dgc_1.ug5_1;
            var tmp_3 = this;
            tmp_3.igc_1 = this.hgc_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.dgc_1.sg5_1.a3d(), 'PersonDao/getNamesByUidAsync');
            doorNodeIdHeader(this_0, this.dgc_1.sg5_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.dgc_1.sg5_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.egc_1));
            tmp_4.jgc_1 = this_0;
            this.jgc_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.kgc_1 = this.igc_1;
            var tmp_6 = this;
            tmp_6.lgc_1 = this.jgc_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.lgc_1, this.kgc_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.mgc_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.dgc_1.rg5_1, this.mgc_1, this.dgc_1.sg5_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.ngc_1 = this.kd_1;
              Napier_getInstance().i5k(this.ngc_1, 'DoorLog', PersonDao_Repo$getNamesByUidAsync$lambda(this.fgc_1, this.ggc_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.dgc_1.tg5_1.pfu(this.egc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateUsernameCOROUTINE$325(_this__u8e3s4, personUid, username, currentTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wgc_1 = _this__u8e3s4;
    this.xgc_1 = personUid;
    this.ygc_1 = username;
    this.zgc_1 = currentTime;
  }
  protoOf($updateUsernameCOROUTINE$325).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.wgc_1.sg5_1, 'Person', PersonDao_Repo$updateUsername$slambda_0(this.wgc_1, this.xgc_1, this.ygc_1, this.zgc_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$327(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.igd_1 = _this__u8e3s4;
    this.jgd_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$327).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.igd_1.sg5_1, 'Person', PersonDao_Repo$insertAsync$slambda_0(this.igd_1, this.jgd_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PersonDao.call(this);
    this.rg5_1 = _db;
    this.sg5_1 = _repo;
    this.tg5_1 = _dao;
    this.ug5_1 = _httpClient;
    this.vg5_1 = _clientId;
    this.wg5_1 = _endpoint;
    this.xg5_1 = new RepoDaoFlowHelper(this.sg5_1);
  }
  protoOf(PersonDao_Repo).ifu = function (username, $completion) {
    var tmp = new $countUsernameCOROUTINE$314(this, username, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).jfu = function (accountPersonUid, $completion) {
    var tmp = new $findByUidWithPictureCOROUTINE$319(this, accountPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).vcc = function (uid) {
    var _result = this.tg5_1.vcc(uid);
    return _result;
  };
  protoOf(PersonDao_Repo).kfu = function (uid, $completion) {
    var tmp = new $findByUidAsyncCOROUTINE$320(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).lfu = function (entity, $completion) {
    var tmp = new $updateAsyncCOROUTINE$321(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).mfu = function (timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText) {
    var tmp = this.tg5_1.mfu(timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText);
    return new DoorRepositoryReplicatePullPagingSource(this.sg5_1, 'PersonDao/findPersonsWithPermissionAsPagingSource', tmp, PersonDao_Repo$findPersonsWithPermissionAsPagingSource$slambda_0(this, timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText, null));
  };
  protoOf(PersonDao_Repo).nfu = function (personUid, accountPersonUid) {
    var tmp = this.tg5_1.nfu(personUid, accountPersonUid);
    return this.xg5_1.t6d(tmp, PersonDao_Repo$findByUidWithDisplayDetailsFlow$slambda_0(this, personUid, accountPersonUid, null));
  };
  protoOf(PersonDao_Repo).ofu = function (uid) {
    var tmp = this.tg5_1.ofu(uid);
    return this.xg5_1.t6d(tmp, PersonDao_Repo$getNamesByUid$slambda_0(this, uid, null));
  };
  protoOf(PersonDao_Repo).pfu = function (uid, $completion) {
    var tmp = new $getNamesByUidAsyncCOROUTINE$324(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).qfu = function (personUid, username, currentTime, $completion) {
    var tmp = new $updateUsernameCOROUTINE$325(this, personUid, username, currentTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).ffv = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$327(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonDao_Repo).insertAsync = function (entity, $completion) {
    return this.ffv(entity instanceof Person ? entity : THROW_CCE(), $completion);
  };
  function PersonGroupDao() {
  }
  function $insertAsyncCOROUTINE$328(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.sgd_1 = _this__u8e3s4;
    this.tgd_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$328).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.ugd_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.sgd_1.wgd_1));
            if (this.tgd_1.jfz_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.ugd_1.t68(43, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.vgd_1 = suspendResult;
            this.tgd_1.jfz_1 = this.vgd_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.tgd_1.nfz_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.sgd_1.xgd_1.insertAsync(this.tgd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.tgd_1.jfz_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonGroupDao_DoorWrapper(_db, _dao) {
    PersonGroupDao.call(this);
    this.wgd_1 = _db;
    this.xgd_1 = _dao;
  }
  protoOf(PersonGroupDao_DoorWrapper).ygd = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$328(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.ygd(entity instanceof PersonGroup ? entity : THROW_CCE(), $completion);
  };
  function PersonGroupDao_JdbcImpl$_insertAdapterPersonGroup_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.zgd_1);
  }
  protoOf(PersonGroupDao_JdbcImpl$_insertAdapterPersonGroup_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonGroupDao_JdbcImpl$_insertAdapterPersonGroup_abort$1).ifz = function (stmt, entity) {
    if (entity.jfz_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.jfz_1);
    }
    stmt.a5o(2, entity.kfz_1);
    stmt.a5o(3, entity.lfz_1);
    stmt.z5n(4, entity.mfz_1);
    stmt.a5o(5, entity.nfz_1);
    stmt.d5o(6, entity.ofz_1);
    stmt.n5n(7, entity.pfz_1);
    stmt.z5n(8, entity.qfz_1);
  };
  protoOf(PersonGroupDao_JdbcImpl$_insertAdapterPersonGroup_abort$1).u5l = function (stmt, entity) {
    return this.ifz(stmt, entity instanceof PersonGroup ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$329(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.lge_1 = _this__u8e3s4;
    this.mge_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$329).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.lge_1.age_1.b5n(this.mge_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonGroupDao_JdbcImpl(_db) {
    PersonGroupDao.call(this);
    this.zgd_1 = _db;
    var tmp = this;
    tmp.age_1 = new PersonGroupDao_JdbcImpl$_insertAdapterPersonGroup_abort$1(this);
  }
  protoOf(PersonGroupDao_JdbcImpl).ygd = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$329(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.ygd(entity instanceof PersonGroup ? entity : THROW_CCE(), $completion);
  };
  function PersonGroupDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.vge_1 = this$0;
    this.wge_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonGroupDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PersonGroupDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.vge_1.zge_1.insertAsync(this.wge_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonGroupDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new PersonGroupDao_Repo$insertAsync$slambda(this.vge_1, this.wge_1, completion);
  };
  function PersonGroupDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PersonGroupDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$334(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.lgf_1 = _this__u8e3s4;
    this.mgf_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$334).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.lgf_1.yge_1, 'PersonGroup', PersonGroupDao_Repo$insertAsync$slambda_0(this.lgf_1, this.mgf_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonGroupDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PersonGroupDao.call(this);
    this.xge_1 = _db;
    this.yge_1 = _repo;
    this.zge_1 = _dao;
    this.agf_1 = _httpClient;
    this.bgf_1 = _clientId;
    this.cgf_1 = _endpoint;
  }
  protoOf(PersonGroupDao_Repo).ygd = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$334(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupDao_Repo).insertAsync = function (entity, $completion) {
    return this.ygd(entity instanceof PersonGroup ? entity : THROW_CCE(), $completion);
  };
  function PersonGroupMemberDao() {
  }
  function $insertAsyncCOROUTINE$335(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.vgf_1 = _this__u8e3s4;
    this.wgf_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$335).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.xgf_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.vgf_1.zgf_1));
            if (this.wgf_1.ufz_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.xgf_1.t68(44, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ygf_1 = suspendResult;
            this.wgf_1.ufz_1 = this.ygf_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.wgf_1.bg0_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.vgf_1.agg_1.insertAsync(this.wgf_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.wgf_1.ufz_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonGroupMemberDao_DoorWrapper(_db, _dao) {
    PersonGroupMemberDao.call(this);
    this.zgf_1 = _db;
    this.agg_1 = _dao;
  }
  protoOf(PersonGroupMemberDao_DoorWrapper).bgg = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$335(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupMemberDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.bgg(entity instanceof PersonGroupMember ? entity : THROW_CCE(), $completion);
  };
  function PersonGroupMemberDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.cgg_1);
  }
  protoOf(PersonGroupMemberDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonGroupMemberDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1).tfz = function (stmt, entity) {
    if (entity.ufz_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ufz_1);
    }
    stmt.n5n(2, entity.vfz_1);
    stmt.a5o(3, entity.wfz_1);
    stmt.a5o(4, entity.xfz_1);
    stmt.a5o(5, entity.yfz_1);
    stmt.a5o(6, entity.zfz_1);
    stmt.z5n(7, entity.ag0_1);
    stmt.a5o(8, entity.bg0_1);
  };
  protoOf(PersonGroupMemberDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1).u5l = function (stmt, entity) {
    return this.tfz(stmt, entity instanceof PersonGroupMember ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$336(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ogg_1 = _this__u8e3s4;
    this.pgg_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$336).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ogg_1.dgg_1.b5n(this.pgg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonGroupMemberDao_JdbcImpl(_db) {
    PersonGroupMemberDao.call(this);
    this.cgg_1 = _db;
    var tmp = this;
    tmp.dgg_1 = new PersonGroupMemberDao_JdbcImpl$_insertAdapterPersonGroupMember_abort$1(this);
  }
  protoOf(PersonGroupMemberDao_JdbcImpl).bgg = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$336(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupMemberDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.bgg(entity instanceof PersonGroupMember ? entity : THROW_CCE(), $completion);
  };
  function PersonGroupMemberDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.ygg_1 = this$0;
    this.zgg_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonGroupMemberDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupMemberDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PersonGroupMemberDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ygg_1.cgh_1.insertAsync(this.zgg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonGroupMemberDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new PersonGroupMemberDao_Repo$insertAsync$slambda(this.ygg_1, this.zgg_1, completion);
  };
  function PersonGroupMemberDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PersonGroupMemberDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$342(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ogh_1 = _this__u8e3s4;
    this.pgh_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$342).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.ogh_1.bgh_1, 'PersonGroupMember', PersonGroupMemberDao_Repo$insertAsync$slambda_0(this.ogh_1, this.pgh_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonGroupMemberDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PersonGroupMemberDao.call(this);
    this.agh_1 = _db;
    this.bgh_1 = _repo;
    this.cgh_1 = _dao;
    this.dgh_1 = _httpClient;
    this.egh_1 = _clientId;
    this.fgh_1 = _endpoint;
  }
  protoOf(PersonGroupMemberDao_Repo).bgg = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$342(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonGroupMemberDao_Repo).insertAsync = function (entity, $completion) {
    return this.bgg(entity instanceof PersonGroupMember ? entity : THROW_CCE(), $completion);
  };
  function PersonParentJoinDao() {
  }
  function $upsertAsyncCOROUTINE$343(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cgi_1 = _this__u8e3s4;
    this.dgi_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$343).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.egi_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.cgi_1.ggi_1));
            if (this.dgi_1.gfx_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.egi_1.t68(512, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.fgi_1 = suspendResult;
            this.dgi_1.gfx_1 = this.fgi_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.dgi_1.kfx_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.cgi_1.hgi_1.qgh(this.dgi_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.dgi_1.gfx_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonParentJoinDao_DoorWrapper(_db, _dao) {
    PersonParentJoinDao.call(this);
    this.ggi_1 = _db;
    this.hgi_1 = _dao;
  }
  protoOf(PersonParentJoinDao_DoorWrapper).qgh = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$343(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_DoorWrapper).rgh = function (uid, $completion) {
    return this.hgi_1.rgh(uid, $completion);
  };
  protoOf(PersonParentJoinDao_DoorWrapper).sgh = function (personParentJoin, $completion) {
    personParentJoin.kfx_1 = systemTimeInMillis();
    return this.hgi_1.sgh(personParentJoin, $completion);
  };
  protoOf(PersonParentJoinDao_DoorWrapper).tgh = function (minorPersonUid, $completion) {
    return this.hgi_1.tgh(minorPersonUid, $completion);
  };
  function PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda$lambda$lambda(_result));
  }
  function PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_PersonParentJoin_nullCount = 0;
      var _tmp_ppjUid = $_result.d5t('ppjUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_ppjPcsn = $_result.d5t('ppjPcsn');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_ppjLcsn = $_result.d5t('ppjLcsn');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_ppjLcb = $_result.c5t('ppjLcb');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_ppjLct = $_result.d5t('ppjLct');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_ppjParentPersonUid = $_result.d5t('ppjParentPersonUid');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_ppjMinorPersonUid = $_result.d5t('ppjMinorPersonUid');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_ppjRelationship = $_result.c5t('ppjRelationship');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_ppjEmail = $_result.rz('ppjEmail');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_ppjPhone = $_result.rz('ppjPhone');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_ppjInactive = $_result.o6c('ppjInactive');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_ppjStatus = $_result.c5t('ppjStatus');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_ppjApprovalTiemstamp = $_result.d5t('ppjApprovalTiemstamp');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_ppjApprovalIpAddr = $_result.rz('ppjApprovalIpAddr');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_PersonParentJoin_nullCount = _tmp_PersonParentJoin_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_PersonParentJoin_isAllNull = _tmp_PersonParentJoin_nullCount === 14;
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonParentJoinAndMinorPerson();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonParentJoinDao_JdbcImpl.findByUidWithMinorAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_PersonParentJoin_isAllNull) {
        var tmp_37 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new PersonParentJoin();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonParentJoinDao_JdbcImpl.findByUidWithMinorAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.gfx_1 = _tmp_ppjUid;
        this_1.hfx_1 = _tmp_ppjPcsn;
        this_1.ifx_1 = _tmp_ppjLcsn;
        this_1.jfx_1 = _tmp_ppjLcb;
        this_1.kfx_1 = _tmp_ppjLct;
        this_1.lfx_1 = _tmp_ppjParentPersonUid;
        this_1.mfx_1 = _tmp_ppjMinorPersonUid;
        this_1.nfx_1 = _tmp_ppjRelationship;
        this_1.ofx_1 = _tmp_ppjEmail;
        this_1.pfx_1 = _tmp_ppjPhone;
        this_1.qfx_1 = _tmp_ppjInactive;
        this_1.rfx_1 = _tmp_ppjStatus;
        this_1.sfx_1 = _tmp_ppjApprovalTiemstamp;
        this_1.tfx_1 = _tmp_ppjApprovalIpAddr;
        tmp_37.igi_1 = this_1;
      }
      if (!_tmp_Person_isAllNull) {
        var tmp_38 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.PersonParentJoinDao_JdbcImpl.findByUidWithMinorAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.x9b_1 = _tmp_personUid;
        this_2.y9b_1 = _tmp_username;
        this_2.z9b_1 = _tmp_firstNames;
        this_2.a9c_1 = _tmp_lastName;
        this_2.b9c_1 = _tmp_emailAddr;
        this_2.c9c_1 = _tmp_phoneNum;
        this_2.d9c_1 = _tmp_gender;
        this_2.e9c_1 = _tmp_active;
        this_2.f9c_1 = _tmp_dateOfBirth;
        this_2.g9c_1 = _tmp_personAddress;
        this_2.h9c_1 = _tmp_personOrgId;
        this_2.i9c_1 = _tmp_personGroupUid;
        this_2.j9c_1 = _tmp_personLct;
        this_2.k9c_1 = _tmp_personCountry;
        this_2.l9c_1 = _tmp_personType;
        this_2.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_2.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_2.o9c_1 = _tmp_personLastChangedBy;
        this_2.p9c_1 = _tmp_admin;
        this_2.q9c_1 = _tmp_personNotes;
        this_2.r9c_1 = _tmp_fatherName;
        this_2.s9c_1 = _tmp_fatherNumber;
        this_2.t9c_1 = _tmp_motherName;
        this_2.u9c_1 = _tmp_motherNum;
        tmp_38.jgi_1 = this_2;
      }
      return this_0;
    };
  }
  function PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda$lambda(_result) {
    return mapNextRow(_result, false, PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda$lambda$lambda(_result));
  }
  function PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function PersonParentJoinDao_JdbcImpl$_insertAdapterPersonParentJoin_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.kgi_1);
  }
  protoOf(PersonParentJoinDao_JdbcImpl$_insertAdapterPersonParentJoin_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO PersonParentJoin (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonParentJoinDao_JdbcImpl$_insertAdapterPersonParentJoin_upsert$1).ogi = function (stmt, entity) {
    if (entity.gfx_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.gfx_1);
    }
    stmt.a5o(2, entity.hfx_1);
    stmt.a5o(3, entity.ifx_1);
    stmt.z5n(4, entity.jfx_1);
    stmt.a5o(5, entity.kfx_1);
    stmt.a5o(6, entity.lfx_1);
    stmt.a5o(7, entity.mfx_1);
    stmt.z5n(8, entity.nfx_1);
    stmt.d5o(9, entity.ofx_1);
    stmt.d5o(10, entity.pfx_1);
    stmt.n5n(11, entity.qfx_1);
    stmt.z5n(12, entity.rfx_1);
    stmt.a5o(13, entity.sfx_1);
    stmt.d5o(14, entity.tfx_1);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$_insertAdapterPersonParentJoin_upsert$1).u5l = function (stmt, entity) {
    return this.ogi(stmt, entity instanceof PersonParentJoin ? entity : THROW_CCE());
  };
  function PersonParentJoinDao_JdbcImpl$updateAsync$slambda($personParentJoin, resultContinuation) {
    this.xgi_1 = $personParentJoin;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonParentJoinDao_JdbcImpl$updateAsync$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_JdbcImpl$updateAsync$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ygi_1.a5o(1, this.xgi_1.hfx_1);
            this.ygi_1.a5o(2, this.xgi_1.ifx_1);
            this.ygi_1.z5n(3, this.xgi_1.jfx_1);
            this.ygi_1.a5o(4, this.xgi_1.kfx_1);
            this.ygi_1.a5o(5, this.xgi_1.lfx_1);
            this.ygi_1.a5o(6, this.xgi_1.mfx_1);
            this.ygi_1.z5n(7, this.xgi_1.nfx_1);
            this.ygi_1.d5o(8, this.xgi_1.ofx_1);
            this.ygi_1.d5o(9, this.xgi_1.pfx_1);
            this.ygi_1.n5n(10, this.xgi_1.qfx_1);
            this.ygi_1.z5n(11, this.xgi_1.rfx_1);
            this.ygi_1.a5o(12, this.xgi_1.sfx_1);
            this.ygi_1.d5o(13, this.xgi_1.tfx_1);
            this.ygi_1.a5o(14, this.xgi_1.gfx_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.ygi_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$updateAsync$slambda).r5l = function (_stmt, completion) {
    var i = new PersonParentJoinDao_JdbcImpl$updateAsync$slambda(this.xgi_1, completion);
    i.ygi_1 = _stmt;
    return i;
  };
  function PersonParentJoinDao_JdbcImpl$updateAsync$slambda_0($personParentJoin, resultContinuation) {
    var i = new PersonParentJoinDao_JdbcImpl$updateAsync$slambda($personParentJoin, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda($uid, resultContinuation) {
    this.hgj_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda).jgj = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda).he = function (p1, $completion) {
    return this.jgj((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.igj_1.a5o(1, this.hgj_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.igj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda).r5l = function (_stmt, completion) {
    var i = new PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda(this.hgj_1, completion);
    i.igj_1 = _stmt;
    return i;
  };
  function PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda_0($uid, resultContinuation) {
    var i = new PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda($uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.jgj(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda($minorPersonUid, resultContinuation) {
    this.sgj_1 = $minorPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.tgj_1.a5o(1, this.sgj_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.tgj_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda).r5l = function (_stmt, completion) {
    var i = new PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda(this.sgj_1, completion);
    i.tgj_1 = _stmt;
    return i;
  };
  function PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda_0($minorPersonUid, resultContinuation) {
    var i = new PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda($minorPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $upsertAsyncCOROUTINE$344(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cgk_1 = _this__u8e3s4;
    this.dgk_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$344).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cgk_1.lgi_1.b5n(this.dgk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateAsyncCOROUTINE$345(_this__u8e3s4, personParentJoin, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mgk_1 = _this__u8e3s4;
    this.ngk_1 = personParentJoin;
  }
  protoOf($updateAsyncCOROUTINE$345).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ogk_1 = 'UPDATE PersonParentJoin SET ppjPcsn = ?, ppjLcsn = ?, ppjLcb = ?, ppjLct = ?, ppjParentPersonUid = ?, ppjMinorPersonUid = ?, ppjRelationship = ?, ppjEmail = ?, ppjPhone = ?, ppjInactive = ?, ppjStatus = ?, ppjApprovalTiemstamp = ?, ppjApprovalIpAddr = ? WHERE ppjUid = ?';
            this.hd_1 = 1;
            suspendResult = prepareAndUseStatementAsync_0(this.mgk_1.kgi_1, this.ogk_1, VOID, PersonParentJoinDao_JdbcImpl$updateAsync$slambda_0(this.ngk_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonParentJoinDao_JdbcImpl(_db) {
    PersonParentJoinDao.call(this);
    this.kgi_1 = _db;
    var tmp = this;
    tmp.lgi_1 = new PersonParentJoinDao_JdbcImpl$_insertAdapterPersonParentJoin_upsert$1(this);
  }
  protoOf(PersonParentJoinDao_JdbcImpl).qgh = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$344(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_JdbcImpl).sgh = function (personParentJoin, $completion) {
    var tmp = new $updateAsyncCOROUTINE$345(this, personParentJoin, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_JdbcImpl).rgh = function (uid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT PersonParentJoin.*, Person.*\n          FROM PersonParentJoin\n     LEFT JOIN Person ON Person.personUid = PersonParentJoin.ppjMinorPersonUid    \n         WHERE PersonParentJoin.ppjUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        SELECT PersonParentJoin.*, Person.*\n          FROM PersonParentJoin\n     LEFT JOIN Person ON Person.personUid = PersonParentJoin.ppjMinorPersonUid    \n         WHERE PersonParentJoin.ppjUid = ?\n    \n', true);
    return prepareAndUseStatementAsync(this.kgi_1, tmp, PersonParentJoinDao_JdbcImpl$findByUidWithMinorAsync$slambda_0(uid, null), $completion);
  };
  protoOf(PersonParentJoinDao_JdbcImpl).tgh = function (minorPersonUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT EXISTS(\n               SELECT ppjUid\n                 FROM PersonParentJoin\n                WHERE ppjMinorPersonUid = CAST(? AS BIGINT)\n                  AND CAST(ppjInactive AS INTEGER) = 0\n                  AND ppjStatus = 1)\n    ', VOID, VOID, VOID, '\n        SELECT EXISTS(\n               SELECT ppjUid\n                 FROM PersonParentJoin\n                WHERE ppjMinorPersonUid = ?\n                  AND CAST(ppjInactive AS INTEGER) = 0\n                  AND ppjStatus = 1)\n    \n', true);
    return prepareAndUseStatementAsync(this.kgi_1, tmp, PersonParentJoinDao_JdbcImpl$isMinorApproved$slambda_0(minorPersonUid, null), $completion);
  };
  function PersonParentJoinDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation) {
    this.xgk_1 = this$0;
    this.ygk_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonParentJoinDao_Repo$upsertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PersonParentJoinDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.xgk_1.bgl_1.qgh(this.ygk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonParentJoinDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new PersonParentJoinDao_Repo$upsertAsync$slambda(this.xgk_1, this.ygk_1, completion);
  };
  function PersonParentJoinDao_Repo$upsertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PersonParentJoinDao_Repo$upsertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonParentJoinDao_Repo$findByUidWithMinorAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function PersonParentJoinDao_Repo$updateAsync$slambda(this$0, $personParentJoin, resultContinuation) {
    this.ngl_1 = this$0;
    this.ogl_1 = $personParentJoin;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonParentJoinDao_Repo$updateAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_Repo$updateAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PersonParentJoinDao_Repo$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ngl_1.bgl_1.sgh(this.ogl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonParentJoinDao_Repo$updateAsync$slambda).q7e = function (completion) {
    return new PersonParentJoinDao_Repo$updateAsync$slambda(this.ngl_1, this.ogl_1, completion);
  };
  function PersonParentJoinDao_Repo$updateAsync$slambda_0(this$0, $personParentJoin, resultContinuation) {
    var i = new PersonParentJoinDao_Repo$updateAsync$slambda(this$0, $personParentJoin, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonParentJoinDao_Repo$isMinorApproved$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function $upsertAsyncCOROUTINE$346(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.xgl_1 = _this__u8e3s4;
    this.ygl_1 = entity;
  }
  protoOf($upsertAsyncCOROUTINE$346).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.xgl_1.agl_1, 'PersonParentJoin', PersonParentJoinDao_Repo$upsertAsync$slambda_0(this.xgl_1, this.ygl_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findByUidWithMinorAsyncCOROUTINE$347(_this__u8e3s4, uid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.hgm_1 = _this__u8e3s4;
    this.igm_1 = uid;
  }
  protoOf($findByUidWithMinorAsyncCOROUTINE$347).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.jgm_1 = this.hgm_1.agl_1;
            var tmp_1 = this;
            tmp_1.kgm_1 = 'PersonParentJoinDao/findByUidWithMinorAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.lgm_1 = this.hgm_1.cgl_1;
            var tmp_3 = this;
            tmp_3.mgm_1 = this.lgm_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.hgm_1.agl_1.a3d(), 'PersonParentJoinDao/findByUidWithMinorAsync');
            doorNodeIdHeader(this_0, this.hgm_1.agl_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'uid', this.hgm_1.agl_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.igm_1));
            tmp_4.ngm_1 = this_0;
            this.ngm_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.ogm_1 = this.mgm_1;
            var tmp_6 = this;
            tmp_6.pgm_1 = this.ngm_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.pgm_1, this.ogm_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.qgm_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.hgm_1.zgk_1, this.qgm_1, this.hgm_1.agl_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.rgm_1 = this.kd_1;
              Napier_getInstance().i5k(this.rgm_1, 'DoorLog', PersonParentJoinDao_Repo$findByUidWithMinorAsync$lambda(this.jgm_1, this.kgm_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.hgm_1.bgl_1.rgh(this.igm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $isMinorApprovedCOROUTINE$352(_this__u8e3s4, minorPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.agn_1 = _this__u8e3s4;
    this.bgn_1 = minorPersonUid;
  }
  protoOf($isMinorApprovedCOROUTINE$352).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.cgn_1 = this.agn_1.agl_1;
            var tmp_1 = this;
            tmp_1.dgn_1 = 'PersonParentJoinDao/isMinorApproved';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.egn_1 = this.agn_1.cgl_1;
            var tmp_3 = this;
            tmp_3.fgn_1 = this.egn_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.agn_1.agl_1.a3d(), 'PersonParentJoinDao/isMinorApproved');
            doorNodeIdHeader(this_0, this.agn_1.agl_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'minorPersonUid', this.agn_1.agl_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.bgn_1));
            tmp_4.ggn_1 = this_0;
            this.ggn_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.hgn_1 = this.fgn_1;
            var tmp_6 = this;
            tmp_6.ign_1 = this.ggn_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ign_1, this.hgn_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.jgn_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.agn_1.zgk_1, this.jgn_1, this.agn_1.agl_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.kgn_1 = this.kd_1;
              Napier_getInstance().i5k(this.kgn_1, 'DoorLog', PersonParentJoinDao_Repo$isMinorApproved$lambda(this.cgn_1, this.dgn_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.agn_1.bgl_1.tgh(this.bgn_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonParentJoinDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PersonParentJoinDao.call(this);
    this.zgk_1 = _db;
    this.agl_1 = _repo;
    this.bgl_1 = _dao;
    this.cgl_1 = _httpClient;
    this.dgl_1 = _clientId;
    this.egl_1 = _endpoint;
  }
  protoOf(PersonParentJoinDao_Repo).qgh = function (entity, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$346(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_Repo).rgh = function (uid, $completion) {
    var tmp = new $findByUidWithMinorAsyncCOROUTINE$347(this, uid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonParentJoinDao_Repo).sgh = function (personParentJoin, $completion) {
    return withRepoChangeMonitorAsync(this.agl_1, 'PersonParentJoin', PersonParentJoinDao_Repo$updateAsync$slambda_0(this, personParentJoin, null), $completion);
  };
  protoOf(PersonParentJoinDao_Repo).tgh = function (minorPersonUid, $completion) {
    var tmp = new $isMinorApprovedCOROUTINE$352(this, minorPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function PersonPictureDao() {
  }
  function $upsertCOROUTINE$353(_this__u8e3s4, personPicture, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.vgn_1 = _this__u8e3s4;
    this.wgn_1 = personPicture;
  }
  protoOf($upsertCOROUTINE$353).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.xgn_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.vgn_1.zgn_1));
            if (this.wgn_1.v9c_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.xgn_1.t68(50, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ygn_1 = suspendResult;
            this.wgn_1.v9c_1 = this.ygn_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.wgn_1.w9c_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.vgn_1.ago_1.lgn(this.wgn_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$354(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.jgo_1 = _this__u8e3s4;
    this.kgo_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$354).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.lgo_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.jgo_1.zgn_1));
            if (this.kgo_1.v9c_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.lgo_1.t68(50, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.mgo_1 = suspendResult;
            this.kgo_1.v9c_1 = this.mgo_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.kgo_1.w9c_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.jgo_1.ago_1.insertAsync(this.kgo_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.kgo_1.v9c_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonPictureDao_DoorWrapper(_db, _dao) {
    PersonPictureDao.call(this);
    this.zgn_1 = _db;
    this.ago_1 = _dao;
  }
  protoOf(PersonPictureDao_DoorWrapper).lgn = function (personPicture, $completion) {
    var tmp = new $upsertCOROUTINE$353(this, personPicture, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_DoorWrapper).mgn = function (personUid, $completion) {
    return this.ago_1.mgn(personUid, $completion);
  };
  protoOf(PersonPictureDao_DoorWrapper).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return this.ago_1.jba(uid, uri, thumbnailUri, time, $completion);
  };
  protoOf(PersonPictureDao_DoorWrapper).xbh = function (entityUid, transferJobItemUid, $completion) {
    return this.ago_1.xbh(entityUid, transferJobItemUid, $completion);
  };
  protoOf(PersonPictureDao_DoorWrapper).ngo = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$354(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.ngo(entity instanceof PersonPicture ? entity : THROW_CCE(), $completion);
  };
  function PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda$lambda$lambda(_result));
  }
  function PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var _tmp_fileSize = $_result.c5t('fileSize');
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      // Inline function 'kotlin.apply' call
      var this_0 = new PersonPicture();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.PersonPictureDao_JdbcImpl.findByPersonUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.v9c_1 = _tmp_personPictureUid;
      this_0.w9c_1 = _tmp_personPictureLct;
      this_0.x9c_1 = _tmp_personPictureUri;
      this_0.y9c_1 = _tmp_personPictureThumbnailUri;
      this_0.z9c_1 = _tmp_fileSize;
      this_0.a9d_1 = _tmp_personPictureActive;
      return this_0;
    };
  }
  function PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ogo_1);
  }
  protoOf(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_upsert$1).tgo = function (stmt, entity) {
    if (entity.v9c_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.v9c_1);
    }
    stmt.a5o(2, entity.w9c_1);
    stmt.d5o(3, entity.x9c_1);
    stmt.d5o(4, entity.y9c_1);
    stmt.z5n(5, entity.z9c_1);
    stmt.n5n(6, entity.a9d_1);
  };
  protoOf(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_upsert$1).u5l = function (stmt, entity) {
    return this.tgo(stmt, entity instanceof PersonPicture ? entity : THROW_CCE());
  };
  function PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ogo_1);
  }
  protoOf(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_abort$1).tgo = function (stmt, entity) {
    if (entity.v9c_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.v9c_1);
    }
    stmt.a5o(2, entity.w9c_1);
    stmt.d5o(3, entity.x9c_1);
    stmt.d5o(4, entity.y9c_1);
    stmt.z5n(5, entity.z9c_1);
    stmt.n5n(6, entity.a9d_1);
  };
  protoOf(PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_abort$1).u5l = function (stmt, entity) {
    return this.tgo(stmt, entity instanceof PersonPicture ? entity : THROW_CCE());
  };
  function PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda($personUid, resultContinuation) {
    this.egp_1 = $personUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda).ggp = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda).he = function (p1, $completion) {
    return this.ggp((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fgp_1.a5o(1, this.egp_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.fgp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda(this.egp_1, completion);
    i.fgp_1 = _stmt;
    return i;
  };
  function PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda_0($personUid, resultContinuation) {
    var i = new PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda($personUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ggp(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonPictureDao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    this.pgp_1 = $uri;
    this.qgp_1 = $thumbnailUri;
    this.rgp_1 = $time;
    this.sgp_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_JdbcImpl$updateUri$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_JdbcImpl$updateUri$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonPictureDao_JdbcImpl$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.tgp_1.d5o(1, this.pgp_1);
            this.tgp_1.d5o(2, this.qgp_1);
            this.tgp_1.a5o(3, this.rgp_1);
            this.tgp_1.a5o(4, this.sgp_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.tgp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_JdbcImpl$updateUri$slambda).r5l = function (_stmt, completion) {
    var i = new PersonPictureDao_JdbcImpl$updateUri$slambda(this.pgp_1, this.qgp_1, this.rgp_1, this.sgp_1, completion);
    i.tgp_1 = _stmt;
    return i;
  };
  function PersonPictureDao_JdbcImpl$updateUri$slambda_0($uri, $thumbnailUri, $time, $uid, resultContinuation) {
    var i = new PersonPictureDao_JdbcImpl$updateUri$slambda($uri, $thumbnailUri, $time, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda($entityUid, $transferJobItemUid, resultContinuation) {
    this.cgq_1 = $entityUid;
    this.dgq_1 = $transferJobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.egq_1.a5o(1, this.cgq_1);
            this.egq_1.z5n(2, this.dgq_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.egq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda).r5l = function (_stmt, completion) {
    var i = new PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda(this.cgq_1, this.dgq_1, completion);
    i.egq_1 = _stmt;
    return i;
  };
  function PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda_0($entityUid, $transferJobItemUid, resultContinuation) {
    var i = new PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda($entityUid, $transferJobItemUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$355(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ngq_1 = _this__u8e3s4;
    this.ogq_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$355).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ngq_1.qgo_1.b5n(this.ogq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateUriCOROUTINE$358(_this__u8e3s4, uid, uri, thumbnailUri, time, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.xgq_1 = _this__u8e3s4;
    this.ygq_1 = uid;
    this.zgq_1 = uri;
    this.agr_1 = thumbnailUri;
    this.bgr_1 = time;
  }
  protoOf($updateUriCOROUTINE$358).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE PersonPicture\n           SET personPictureUri = ?,\n               personPictureThumbnailUri = ?,\n               personPictureLct = CAST(? AS BIGINT)\n         WHERE personPictureUid = CAST(? AS BIGINT)      \n    ', VOID, VOID, VOID, '\n        UPDATE PersonPicture\n           SET personPictureUri = ?,\n               personPictureThumbnailUri = ?,\n               personPictureLct = ?\n         WHERE personPictureUid = ?      \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.xgq_1.ogo_1, tmp_0, PersonPictureDao_JdbcImpl$updateUri$slambda_0(this.zgq_1, this.agr_1, this.bgr_1, this.ygq_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateTransferJobItemEtagCOROUTINE$359(_this__u8e3s4, entityUid, transferJobItemUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.kgr_1 = _this__u8e3s4;
    this.lgr_1 = entityUid;
    this.mgr_1 = transferJobItemUid;
  }
  protoOf($updateTransferJobItemEtagCOROUTINE$359).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE TransferJobItem\n           SET tjiEntityEtag = \n               (SELECT personPictureLct\n                  FROM PersonPicture\n                 WHERE personPictureUid = CAST(? AS BIGINT))\n         WHERE tjiUid = ?      \n    ', VOID, VOID, VOID, '\n        UPDATE TransferJobItem\n           SET tjiEntityEtag = \n               (SELECT personPictureLct\n                  FROM PersonPicture\n                 WHERE personPictureUid = ?)\n         WHERE tjiUid = ?      \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.kgr_1.ogo_1, tmp_0, PersonPictureDao_JdbcImpl$updateTransferJobItemEtag$slambda_0(this.lgr_1, this.mgr_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonPictureDao_JdbcImpl(_db) {
    PersonPictureDao.call(this);
    this.ogo_1 = _db;
    var tmp = this;
    tmp.pgo_1 = new PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_upsert$1(this);
    var tmp_0 = this;
    tmp_0.qgo_1 = new PersonPictureDao_JdbcImpl$_insertAdapterPersonPicture_abort$1(this);
  }
  protoOf(PersonPictureDao_JdbcImpl).lgn = function (personPicture, $completion) {
    return this.pgo_1.a5n(personPicture, $completion);
  };
  protoOf(PersonPictureDao_JdbcImpl).ngo = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$355(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.ngo(entity instanceof PersonPicture ? entity : THROW_CCE(), $completion);
  };
  protoOf(PersonPictureDao_JdbcImpl).mgn = function (personUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT * \n          FROM PersonPicture \n         WHERE personPictureUid = CAST(? AS BIGINT)\n           AND CAST(personPictureActive AS INTEGER) = 1\n         ', VOID, VOID, VOID, '\n        SELECT * \n          FROM PersonPicture \n         WHERE personPictureUid = ?\n           AND CAST(personPictureActive AS INTEGER) = 1\n         \n', true);
    return prepareAndUseStatementAsync(this.ogo_1, tmp, PersonPictureDao_JdbcImpl$findByPersonUidAsync$slambda_0(personUid, null), $completion);
  };
  protoOf(PersonPictureDao_JdbcImpl).jba = function (uid, uri, thumbnailUri, time, $completion) {
    var tmp = new $updateUriCOROUTINE$358(this, uid, uri, thumbnailUri, time, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_JdbcImpl).xbh = function (entityUid, transferJobItemUid, $completion) {
    var tmp = new $updateTransferJobItemEtagCOROUTINE$359(this, entityUid, transferJobItemUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function PersonPictureDao_Repo$upsert$slambda(this$0, $personPicture, resultContinuation) {
    this.vgr_1 = this$0;
    this.wgr_1 = $personPicture;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_Repo$upsert$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_Repo$upsert$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PersonPictureDao_Repo$upsert$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.vgr_1.zgr_1.lgn(this.wgr_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_Repo$upsert$slambda).q7e = function (completion) {
    return new PersonPictureDao_Repo$upsert$slambda(this.vgr_1, this.wgr_1, completion);
  };
  function PersonPictureDao_Repo$upsert$slambda_0(this$0, $personPicture, resultContinuation) {
    var i = new PersonPictureDao_Repo$upsert$slambda(this$0, $personPicture, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonPictureDao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    this.mgs_1 = this$0;
    this.ngs_1 = $uid;
    this.ogs_1 = $uri;
    this.pgs_1 = $thumbnailUri;
    this.qgs_1 = $time;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_Repo$updateUri$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_Repo$updateUri$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PersonPictureDao_Repo$updateUri$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.mgs_1.zgr_1.jba(this.ngs_1, this.ogs_1, this.pgs_1, this.qgs_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_Repo$updateUri$slambda).q7e = function (completion) {
    return new PersonPictureDao_Repo$updateUri$slambda(this.mgs_1, this.ngs_1, this.ogs_1, this.pgs_1, this.qgs_1, completion);
  };
  function PersonPictureDao_Repo$updateUri$slambda_0(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation) {
    var i = new PersonPictureDao_Repo$updateUri$slambda(this$0, $uid, $uri, $thumbnailUri, $time, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonPictureDao_Repo$updateTransferJobItemEtag$slambda(this$0, $entityUid, $transferJobItemUid, resultContinuation) {
    this.zgs_1 = this$0;
    this.agt_1 = $entityUid;
    this.bgt_1 = $transferJobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_Repo$updateTransferJobItemEtag$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_Repo$updateTransferJobItemEtag$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(PersonPictureDao_Repo$updateTransferJobItemEtag$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.zgs_1.zgr_1.xbh(this.agt_1, this.bgt_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_Repo$updateTransferJobItemEtag$slambda).q7e = function (completion) {
    return new PersonPictureDao_Repo$updateTransferJobItemEtag$slambda(this.zgs_1, this.agt_1, this.bgt_1, completion);
  };
  function PersonPictureDao_Repo$updateTransferJobItemEtag$slambda_0(this$0, $entityUid, $transferJobItemUid, resultContinuation) {
    var i = new PersonPictureDao_Repo$updateTransferJobItemEtag$slambda(this$0, $entityUid, $transferJobItemUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function PersonPictureDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.kgt_1 = this$0;
    this.lgt_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(PersonPictureDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(PersonPictureDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kgt_1.zgr_1.insertAsync(this.lgt_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(PersonPictureDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new PersonPictureDao_Repo$insertAsync$slambda(this.kgt_1, this.lgt_1, completion);
  };
  function PersonPictureDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new PersonPictureDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByPersonUidAsyncCOROUTINE$360(_this__u8e3s4, personUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ugt_1 = _this__u8e3s4;
    this.vgt_1 = personUid;
  }
  protoOf($findByPersonUidAsyncCOROUTINE$360).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ugt_1.zgr_1.mgn(this.vgt_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$361(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.egu_1 = _this__u8e3s4;
    this.fgu_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$361).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.egu_1.ygr_1, 'PersonPicture', PersonPictureDao_Repo$insertAsync$slambda_0(this.egu_1, this.fgu_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonPictureDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    PersonPictureDao.call(this);
    this.xgr_1 = _db;
    this.ygr_1 = _repo;
    this.zgr_1 = _dao;
    this.ags_1 = _httpClient;
    this.bgs_1 = _clientId;
    this.cgs_1 = _endpoint;
    this.dgs_1 = new RepoDaoFlowHelper(this.ygr_1);
  }
  protoOf(PersonPictureDao_Repo).lgn = function (personPicture, $completion) {
    return withRepoChangeMonitorAsync(this.ygr_1, 'PersonPicture', PersonPictureDao_Repo$upsert$slambda_0(this, personPicture, null), $completion);
  };
  protoOf(PersonPictureDao_Repo).mgn = function (personUid, $completion) {
    var tmp = new $findByPersonUidAsyncCOROUTINE$360(this, personUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_Repo).jba = function (uid, uri, thumbnailUri, time, $completion) {
    return withRepoChangeMonitorAsync(this.ygr_1, 'PersonPicture', PersonPictureDao_Repo$updateUri$slambda_0(this, uid, uri, thumbnailUri, time, null), $completion);
  };
  protoOf(PersonPictureDao_Repo).xbh = function (entityUid, transferJobItemUid, $completion) {
    return withRepoChangeMonitorAsync(this.ygr_1, 'TransferJobItem', PersonPictureDao_Repo$updateTransferJobItemEtag$slambda_0(this, entityUid, transferJobItemUid, null), $completion);
  };
  protoOf(PersonPictureDao_Repo).ngo = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$361(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(PersonPictureDao_Repo).insertAsync = function (entity, $completion) {
    return this.ngo(entity instanceof PersonPicture ? entity : THROW_CCE(), $completion);
  };
  function ReportDao() {
  }
  function $insertAsyncCOROUTINE$362(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ogu_1 = _this__u8e3s4;
    this.pgu_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$362).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.qgu_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.ogu_1.sgu_1));
            if (this.pgu_1.ugu_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.qgu_1.t68(101, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.rgu_1 = suspendResult;
            this.pgu_1.ugu_1 = this.rgu_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.pgu_1.rgv_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.ogu_1.tgu_1.insertAsync(this.pgu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.pgu_1.ugu_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ReportDao_DoorWrapper(_db, _dao) {
    ReportDao.call(this);
    this.sgu_1 = _db;
    this.tgu_1 = _dao;
  }
  protoOf(ReportDao_DoorWrapper).sgv = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$362(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ReportDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.sgv(entity instanceof Report ? entity : THROW_CCE(), $completion);
  };
  function ReportDao_JdbcImpl$_insertAdapterReport_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tgv_1);
  }
  protoOf(ReportDao_JdbcImpl$_insertAdapterReport_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ReportDao_JdbcImpl$_insertAdapterReport_upsert$1).ygv = function (stmt, entity) {
    if (entity.ugu_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ugu_1);
    }
    stmt.a5o(2, entity.vgu_1);
    stmt.z5n(3, entity.wgu_1);
    stmt.z5n(4, entity.xgu_1);
    stmt.a5o(5, entity.ygu_1);
    stmt.z5n(6, entity.zgu_1);
    stmt.z5n(7, entity.agv_1);
    stmt.z5n(8, entity.bgv_1);
    stmt.a5o(9, entity.cgv_1);
    stmt.z5n(10, entity.dgv_1);
    stmt.z5n(11, entity.egv_1);
    stmt.z5n(12, entity.fgv_1);
    stmt.d5o(13, entity.ggv_1);
    stmt.d5o(14, entity.hgv_1);
    stmt.d5o(15, entity.igv_1);
    stmt.n5n(16, entity.jgv_1);
    stmt.n5n(17, entity.kgv_1);
    stmt.z5n(18, entity.lgv_1);
    stmt.z5n(19, entity.mgv_1);
    stmt.z5n(20, entity.ngv_1);
    stmt.a5o(21, entity.ogv_1);
    stmt.a5o(22, entity.pgv_1);
    stmt.z5n(23, entity.qgv_1);
    stmt.a5o(24, entity.rgv_1);
  };
  protoOf(ReportDao_JdbcImpl$_insertAdapterReport_upsert$1).u5l = function (stmt, entity) {
    return this.ygv(stmt, entity instanceof Report ? entity : THROW_CCE());
  };
  function ReportDao_JdbcImpl$_insertAdapterReport_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.tgv_1);
  }
  protoOf(ReportDao_JdbcImpl$_insertAdapterReport_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ReportDao_JdbcImpl$_insertAdapterReport_abort$1).ygv = function (stmt, entity) {
    if (entity.ugu_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ugu_1);
    }
    stmt.a5o(2, entity.vgu_1);
    stmt.z5n(3, entity.wgu_1);
    stmt.z5n(4, entity.xgu_1);
    stmt.a5o(5, entity.ygu_1);
    stmt.z5n(6, entity.zgu_1);
    stmt.z5n(7, entity.agv_1);
    stmt.z5n(8, entity.bgv_1);
    stmt.a5o(9, entity.cgv_1);
    stmt.z5n(10, entity.dgv_1);
    stmt.z5n(11, entity.egv_1);
    stmt.z5n(12, entity.fgv_1);
    stmt.d5o(13, entity.ggv_1);
    stmt.d5o(14, entity.hgv_1);
    stmt.d5o(15, entity.igv_1);
    stmt.n5n(16, entity.jgv_1);
    stmt.n5n(17, entity.kgv_1);
    stmt.z5n(18, entity.lgv_1);
    stmt.z5n(19, entity.mgv_1);
    stmt.z5n(20, entity.ngv_1);
    stmt.a5o(21, entity.ogv_1);
    stmt.a5o(22, entity.pgv_1);
    stmt.z5n(23, entity.qgv_1);
    stmt.a5o(24, entity.rgv_1);
  };
  protoOf(ReportDao_JdbcImpl$_insertAdapterReport_abort$1).u5l = function (stmt, entity) {
    return this.ygv(stmt, entity instanceof Report ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$363(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.jgw_1 = _this__u8e3s4;
    this.kgw_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$363).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.jgw_1.vgv_1.b5n(this.kgw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ReportDao_JdbcImpl(_db) {
    ReportDao.call(this);
    this.tgv_1 = _db;
    var tmp = this;
    tmp.ugv_1 = new ReportDao_JdbcImpl$_insertAdapterReport_upsert$1(this);
    var tmp_0 = this;
    tmp_0.vgv_1 = new ReportDao_JdbcImpl$_insertAdapterReport_abort$1(this);
  }
  protoOf(ReportDao_JdbcImpl).sgv = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$363(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ReportDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.sgv(entity instanceof Report ? entity : THROW_CCE(), $completion);
  };
  function ReportDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.tgw_1 = this$0;
    this.ugw_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ReportDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ReportDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ReportDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.tgw_1.xgw_1.insertAsync(this.ugw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ReportDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ReportDao_Repo$insertAsync$slambda(this.tgw_1, this.ugw_1, completion);
  };
  function ReportDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ReportDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$367(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.jgx_1 = _this__u8e3s4;
    this.kgx_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$367).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.jgx_1.wgw_1, 'Report', ReportDao_Repo$insertAsync$slambda_0(this.jgx_1, this.kgx_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ReportDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ReportDao.call(this);
    this.vgw_1 = _db;
    this.wgw_1 = _repo;
    this.xgw_1 = _dao;
    this.ygw_1 = _httpClient;
    this.zgw_1 = _clientId;
    this.agx_1 = _endpoint;
  }
  protoOf(ReportDao_Repo).sgv = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$367(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ReportDao_Repo).insertAsync = function (entity, $completion) {
    return this.sgv(entity instanceof Report ? entity : THROW_CCE(), $completion);
  };
  function ScheduleDao() {
  }
  function $upsertListAsyncCOROUTINE$368(_this__u8e3s4, entities, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wgx_1 = _this__u8e3s4;
    this.xgx_1 = entities;
  }
  protoOf($upsertListAsyncCOROUTINE$368).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.ygx_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.wgx_1.fgy_1));
            var tmp_0 = this;
            tmp_0.zgx_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.agy_1 = this.xgx_1.w();
            var tmp_2 = this;
            tmp_2.bgy_1 = this.agy_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.bgy_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.cgy_1 = this.bgy_1.e();
            var tmp_3 = this;
            tmp_3.dgy_1 = this.cgy_1;
            if (this.dgy_1.hgy_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.ygx_1.t68(21, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.egy_1 = suspendResult;
            this.dgy_1.hgy_1 = this.egy_1;
            var this_0 = this.zgx_1;
            var element = this.egy_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.dgy_1.sgy_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.wgx_1.ggy_1.lgx(this.xgx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$369(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cgz_1 = _this__u8e3s4;
    this.dgz_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$369).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.egz_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.cgz_1.fgy_1));
            if (this.dgz_1.hgy_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.egz_1.t68(21, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.fgz_1 = suspendResult;
            this.dgz_1.hgy_1 = this.fgz_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.dgz_1.sgy_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.cgz_1.ggy_1.insertAsync(this.dgz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.dgz_1.hgy_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ScheduleDao_DoorWrapper(_db, _dao) {
    ScheduleDao.call(this);
    this.fgy_1 = _db;
    this.ggy_1 = _dao;
  }
  protoOf(ScheduleDao_DoorWrapper).lgx = function (entities, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$368(this, entities, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_DoorWrapper).mgx = function (scheduleUid, active, changeTime, $completion) {
    return this.ggy_1.mgx(scheduleUid, active, changeTime, $completion);
  };
  protoOf(ScheduleDao_DoorWrapper).ngx = function (clazzUid, $completion) {
    return this.ggy_1.ngx(clazzUid, $completion);
  };
  protoOf(ScheduleDao_DoorWrapper).ggz = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$369(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_DoorWrapper).insertAsync = function (entity, $completion) {
    return this.ggz(entity instanceof Schedule ? entity : THROW_CCE(), $completion);
  };
  function ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda$lambda(_result) {
    return mapRows(_result, ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda$lambda$lambda(_result));
  }
  function ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_scheduleUid = $_result.d5t('scheduleUid');
      var _tmp_sceduleStartTime = $_result.d5t('sceduleStartTime');
      var _tmp_scheduleEndTime = $_result.d5t('scheduleEndTime');
      var _tmp_scheduleDay = $_result.c5t('scheduleDay');
      var _tmp_scheduleMonth = $_result.c5t('scheduleMonth');
      var _tmp_scheduleFrequency = $_result.c5t('scheduleFrequency');
      var _tmp_umCalendarUid = $_result.d5t('umCalendarUid');
      var _tmp_scheduleClazzUid = $_result.d5t('scheduleClazzUid');
      var _tmp_scheduleMasterChangeSeqNum = $_result.d5t('scheduleMasterChangeSeqNum');
      var _tmp_scheduleLocalChangeSeqNum = $_result.d5t('scheduleLocalChangeSeqNum');
      var _tmp_scheduleLastChangedBy = $_result.c5t('scheduleLastChangedBy');
      var _tmp_scheduleLastChangedTime = $_result.d5t('scheduleLastChangedTime');
      var _tmp_scheduleActive = $_result.o6c('scheduleActive');
      // Inline function 'kotlin.apply' call
      var this_0 = new Schedule();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.ScheduleDao_JdbcImpl.findAllSchedulesByClazzUidAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.hgy_1 = _tmp_scheduleUid;
      this_0.igy_1 = _tmp_sceduleStartTime;
      this_0.jgy_1 = _tmp_scheduleEndTime;
      this_0.kgy_1 = _tmp_scheduleDay;
      this_0.lgy_1 = _tmp_scheduleMonth;
      this_0.mgy_1 = _tmp_scheduleFrequency;
      this_0.ngy_1 = _tmp_umCalendarUid;
      this_0.ogy_1 = _tmp_scheduleClazzUid;
      this_0.pgy_1 = _tmp_scheduleMasterChangeSeqNum;
      this_0.qgy_1 = _tmp_scheduleLocalChangeSeqNum;
      this_0.rgy_1 = _tmp_scheduleLastChangedBy;
      this_0.sgy_1 = _tmp_scheduleLastChangedTime;
      this_0.tgy_1 = _tmp_scheduleActive;
      return this_0;
    };
  }
  function ScheduleDao_JdbcImpl$_insertAdapterSchedule_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.hgz_1);
  }
  protoOf(ScheduleDao_JdbcImpl$_insertAdapterSchedule_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ScheduleDao_JdbcImpl$_insertAdapterSchedule_abort$1).mgz = function (stmt, entity) {
    if (entity.hgy_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.hgy_1);
    }
    stmt.a5o(2, entity.igy_1);
    stmt.a5o(3, entity.jgy_1);
    stmt.z5n(4, entity.kgy_1);
    stmt.z5n(5, entity.lgy_1);
    stmt.z5n(6, entity.mgy_1);
    stmt.a5o(7, entity.ngy_1);
    stmt.a5o(8, entity.ogy_1);
    stmt.a5o(9, entity.pgy_1);
    stmt.a5o(10, entity.qgy_1);
    stmt.z5n(11, entity.rgy_1);
    stmt.a5o(12, entity.sgy_1);
    stmt.n5n(13, entity.tgy_1);
  };
  protoOf(ScheduleDao_JdbcImpl$_insertAdapterSchedule_abort$1).u5l = function (stmt, entity) {
    return this.mgz(stmt, entity instanceof Schedule ? entity : THROW_CCE());
  };
  function ScheduleDao_JdbcImpl$_insertAdapterSchedule_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.hgz_1);
  }
  protoOf(ScheduleDao_JdbcImpl$_insertAdapterSchedule_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ScheduleDao_JdbcImpl$_insertAdapterSchedule_upsert$1).mgz = function (stmt, entity) {
    if (entity.hgy_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.hgy_1);
    }
    stmt.a5o(2, entity.igy_1);
    stmt.a5o(3, entity.jgy_1);
    stmt.z5n(4, entity.kgy_1);
    stmt.z5n(5, entity.lgy_1);
    stmt.z5n(6, entity.mgy_1);
    stmt.a5o(7, entity.ngy_1);
    stmt.a5o(8, entity.ogy_1);
    stmt.a5o(9, entity.pgy_1);
    stmt.a5o(10, entity.qgy_1);
    stmt.z5n(11, entity.rgy_1);
    stmt.a5o(12, entity.sgy_1);
    stmt.n5n(13, entity.tgy_1);
  };
  protoOf(ScheduleDao_JdbcImpl$_insertAdapterSchedule_upsert$1).u5l = function (stmt, entity) {
    return this.mgz(stmt, entity instanceof Schedule ? entity : THROW_CCE());
  };
  function ScheduleDao_JdbcImpl$updateScheduleActivated$slambda($active, $changeTime, $scheduleUid, resultContinuation) {
    this.xgz_1 = $active;
    this.ygz_1 = $changeTime;
    this.zgz_1 = $scheduleUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ScheduleDao_JdbcImpl$updateScheduleActivated$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_JdbcImpl$updateScheduleActivated$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ScheduleDao_JdbcImpl$updateScheduleActivated$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ah0_1.n5n(1, this.xgz_1);
            this.ah0_1.a5o(2, this.ygz_1);
            this.ah0_1.a5o(3, this.zgz_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.ah0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ScheduleDao_JdbcImpl$updateScheduleActivated$slambda).r5l = function (_stmt, completion) {
    var i = new ScheduleDao_JdbcImpl$updateScheduleActivated$slambda(this.xgz_1, this.ygz_1, this.zgz_1, completion);
    i.ah0_1 = _stmt;
    return i;
  };
  function ScheduleDao_JdbcImpl$updateScheduleActivated$slambda_0($active, $changeTime, $scheduleUid, resultContinuation) {
    var i = new ScheduleDao_JdbcImpl$updateScheduleActivated$slambda($active, $changeTime, $scheduleUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda($clazzUid, resultContinuation) {
    this.jh0_1 = $clazzUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda).lh0 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda).he = function (p1, $completion) {
    return this.lh0((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.kh0_1.a5o(1, this.jh0_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.kh0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda(this.jh0_1, completion);
    i.kh0_1 = _stmt;
    return i;
  };
  function ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda_0($clazzUid, resultContinuation) {
    var i = new ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda($clazzUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.lh0(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertAsyncCOROUTINE$370(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.uh0_1 = _this__u8e3s4;
    this.vh0_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$370).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.uh0_1.igz_1.b5n(this.vh0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateScheduleActivatedCOROUTINE$372(_this__u8e3s4, scheduleUid, active, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.eh1_1 = _this__u8e3s4;
    this.fh1_1 = scheduleUid;
    this.gh1_1 = active;
    this.hh1_1 = changeTime;
  }
  protoOf($updateScheduleActivatedCOROUTINE$372).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE Schedule \n           SET scheduleActive = ?,\n               scheduleLastChangedTime = CAST(? AS BIGINT)\n         WHERE scheduleUid = CAST(? AS BIGINT)\n            ', VOID, VOID, VOID, '\n        UPDATE Schedule \n           SET scheduleActive = ?,\n               scheduleLastChangedTime = ?\n         WHERE scheduleUid = ?\n            \n', false);
            suspendResult = prepareAndUseStatementAsync(this.eh1_1.hgz_1, tmp_0, ScheduleDao_JdbcImpl$updateScheduleActivated$slambda_0(this.gh1_1, this.hh1_1, this.fh1_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ScheduleDao_JdbcImpl(_db) {
    ScheduleDao.call(this);
    this.hgz_1 = _db;
    var tmp = this;
    tmp.igz_1 = new ScheduleDao_JdbcImpl$_insertAdapterSchedule_abort$1(this);
    var tmp_0 = this;
    tmp_0.jgz_1 = new ScheduleDao_JdbcImpl$_insertAdapterSchedule_upsert$1(this);
  }
  protoOf(ScheduleDao_JdbcImpl).lgx = function (entities, $completion) {
    return this.jgz_1.e5n(entities, $completion);
  };
  protoOf(ScheduleDao_JdbcImpl).ggz = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$370(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_JdbcImpl).insertAsync = function (entity, $completion) {
    return this.ggz(entity instanceof Schedule ? entity : THROW_CCE(), $completion);
  };
  protoOf(ScheduleDao_JdbcImpl).mgx = function (scheduleUid, active, changeTime, $completion) {
    var tmp = new $updateScheduleActivatedCOROUTINE$372(this, scheduleUid, active, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_JdbcImpl).ngx = function (clazzUid, $completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM Schedule WHERE scheduleClazzUid = CAST(? AS BIGINT) AND CAST(scheduleActive AS INTEGER) = 1 ', VOID, VOID, VOID, 'SELECT * FROM Schedule WHERE scheduleClazzUid = ? AND CAST(scheduleActive AS INTEGER) = 1 \n', true);
    return prepareAndUseStatementAsync(this.hgz_1, tmp, ScheduleDao_JdbcImpl$findAllSchedulesByClazzUidAsync$slambda_0(clazzUid, null), $completion);
  };
  function ScheduleDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.qh1_1 = this$0;
    this.rh1_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ScheduleDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ScheduleDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qh1_1.uh1_1.lgx(this.rh1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ScheduleDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ScheduleDao_Repo$upsertListAsync$slambda(this.qh1_1, this.rh1_1, completion);
  };
  function ScheduleDao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ScheduleDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ScheduleDao_Repo$updateScheduleActivated$slambda(this$0, $scheduleUid, $active, $changeTime, resultContinuation) {
    this.gh2_1 = this$0;
    this.hh2_1 = $scheduleUid;
    this.ih2_1 = $active;
    this.jh2_1 = $changeTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ScheduleDao_Repo$updateScheduleActivated$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_Repo$updateScheduleActivated$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ScheduleDao_Repo$updateScheduleActivated$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.gh2_1.uh1_1.mgx(this.hh2_1, this.ih2_1, this.jh2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ScheduleDao_Repo$updateScheduleActivated$slambda).q7e = function (completion) {
    return new ScheduleDao_Repo$updateScheduleActivated$slambda(this.gh2_1, this.hh2_1, this.ih2_1, this.jh2_1, completion);
  };
  function ScheduleDao_Repo$updateScheduleActivated$slambda_0(this$0, $scheduleUid, $active, $changeTime, resultContinuation) {
    var i = new ScheduleDao_Repo$updateScheduleActivated$slambda(this$0, $scheduleUid, $active, $changeTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ScheduleDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation) {
    this.sh2_1 = this$0;
    this.th2_1 = $entity;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ScheduleDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ScheduleDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.sh2_1.uh1_1.insertAsync(this.th2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ScheduleDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ScheduleDao_Repo$insertAsync$slambda(this.sh2_1, this.th2_1, completion);
  };
  function ScheduleDao_Repo$insertAsync$slambda_0(this$0, $entity, resultContinuation) {
    var i = new ScheduleDao_Repo$insertAsync$slambda(this$0, $entity, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findAllSchedulesByClazzUidAsyncCOROUTINE$375(_this__u8e3s4, clazzUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ch3_1 = _this__u8e3s4;
    this.dh3_1 = clazzUid;
  }
  protoOf($findAllSchedulesByClazzUidAsyncCOROUTINE$375).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ch3_1.uh1_1.ngx(this.dh3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertAsyncCOROUTINE$376(_this__u8e3s4, entity, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mh3_1 = _this__u8e3s4;
    this.nh3_1 = entity;
  }
  protoOf($insertAsyncCOROUTINE$376).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.mh3_1.th1_1, 'Schedule', ScheduleDao_Repo$insertAsync$slambda_0(this.mh3_1, this.nh3_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ScheduleDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ScheduleDao.call(this);
    this.sh1_1 = _db;
    this.th1_1 = _repo;
    this.uh1_1 = _dao;
    this.vh1_1 = _httpClient;
    this.wh1_1 = _clientId;
    this.xh1_1 = _endpoint;
  }
  protoOf(ScheduleDao_Repo).lgx = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.th1_1, 'Schedule', ScheduleDao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ScheduleDao_Repo).mgx = function (scheduleUid, active, changeTime, $completion) {
    return withRepoChangeMonitorAsync(this.th1_1, 'Schedule', ScheduleDao_Repo$updateScheduleActivated$slambda_0(this, scheduleUid, active, changeTime, null), $completion);
  };
  protoOf(ScheduleDao_Repo).ngx = function (clazzUid, $completion) {
    var tmp = new $findAllSchedulesByClazzUidAsyncCOROUTINE$375(this, clazzUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_Repo).ggz = function (entity, $completion) {
    var tmp = new $insertAsyncCOROUTINE$376(this, entity, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScheduleDao_Repo).insertAsync = function (entity, $completion) {
    return this.ggz(entity instanceof Schedule ? entity : THROW_CCE(), $completion);
  };
  function ScopedGrantDao() {
  }
  function $insertAsyncCOROUTINE$377(_this__u8e3s4, scopedGrant, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.xh3_1 = _this__u8e3s4;
    this.yh3_1 = scopedGrant;
  }
  protoOf($insertAsyncCOROUTINE$377).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.zh3_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.xh3_1.bh4_1));
            if (this.yh3_1.dh4_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.zh3_1.t68(48, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.ah4_1 = suspendResult;
            this.yh3_1.dh4_1 = this.ah4_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.yh3_1.hh4_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.xh3_1.ch4_1.oh3(this.yh3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.yh3_1.dh4_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ScopedGrantDao_DoorWrapper(_db, _dao) {
    ScopedGrantDao.call(this);
    this.bh4_1 = _db;
    this.ch4_1 = _dao;
  }
  protoOf(ScopedGrantDao_DoorWrapper).oh3 = function (scopedGrant, $completion) {
    var tmp = new $insertAsyncCOROUTINE$377(this, scopedGrant, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ScopedGrantDao_JdbcImpl$_insertAdapterScopedGrant_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.oh4_1);
  }
  protoOf(ScopedGrantDao_JdbcImpl$_insertAdapterScopedGrant_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO ScopedGrant (sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ScopedGrantDao_JdbcImpl$_insertAdapterScopedGrant_abort$1).sh4 = function (stmt, entity) {
    if (entity.dh4_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.dh4_1);
    }
    stmt.a5o(2, entity.eh4_1);
    stmt.a5o(3, entity.fh4_1);
    stmt.z5n(4, entity.gh4_1);
    stmt.a5o(5, entity.hh4_1);
    stmt.z5n(6, entity.ih4_1);
    stmt.a5o(7, entity.jh4_1);
    stmt.a5o(8, entity.kh4_1);
    stmt.a5o(9, entity.lh4_1);
    stmt.z5n(10, entity.mh4_1);
    stmt.z5n(11, entity.nh4_1);
  };
  protoOf(ScopedGrantDao_JdbcImpl$_insertAdapterScopedGrant_abort$1).u5l = function (stmt, entity) {
    return this.sh4(stmt, entity instanceof ScopedGrant ? entity : THROW_CCE());
  };
  function $insertAsyncCOROUTINE$379(_this__u8e3s4, scopedGrant, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bh5_1 = _this__u8e3s4;
    this.ch5_1 = scopedGrant;
  }
  protoOf($insertAsyncCOROUTINE$379).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.bh5_1.ph4_1.b5n(this.ch5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ScopedGrantDao_JdbcImpl(_db) {
    ScopedGrantDao.call(this);
    this.oh4_1 = _db;
    var tmp = this;
    tmp.ph4_1 = new ScopedGrantDao_JdbcImpl$_insertAdapterScopedGrant_abort$1(this);
  }
  protoOf(ScopedGrantDao_JdbcImpl).oh3 = function (scopedGrant, $completion) {
    var tmp = new $insertAsyncCOROUTINE$379(this, scopedGrant, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ScopedGrantDao_Repo$insertAsync$slambda(this$0, $scopedGrant, resultContinuation) {
    this.lh5_1 = this$0;
    this.mh5_1 = $scopedGrant;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ScopedGrantDao_Repo$insertAsync$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ScopedGrantDao_Repo$insertAsync$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(ScopedGrantDao_Repo$insertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.lh5_1.ph5_1.oh3(this.mh5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ScopedGrantDao_Repo$insertAsync$slambda).q7e = function (completion) {
    return new ScopedGrantDao_Repo$insertAsync$slambda(this.lh5_1, this.mh5_1, completion);
  };
  function ScopedGrantDao_Repo$insertAsync$slambda_0(this$0, $scopedGrant, resultContinuation) {
    var i = new ScopedGrantDao_Repo$insertAsync$slambda(this$0, $scopedGrant, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertAsyncCOROUTINE$380(_this__u8e3s4, scopedGrant, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bh6_1 = _this__u8e3s4;
    this.ch6_1 = scopedGrant;
  }
  protoOf($insertAsyncCOROUTINE$380).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.bh6_1.oh5_1, 'ScopedGrant', ScopedGrantDao_Repo$insertAsync$slambda_0(this.bh6_1, this.ch6_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ScopedGrantDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ScopedGrantDao.call(this);
    this.nh5_1 = _db;
    this.oh5_1 = _repo;
    this.ph5_1 = _dao;
    this.qh5_1 = _httpClient;
    this.rh5_1 = _clientId;
    this.sh5_1 = _endpoint;
  }
  protoOf(ScopedGrantDao_Repo).oh3 = function (scopedGrant, $completion) {
    var tmp = new $insertAsyncCOROUTINE$380(this, scopedGrant, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function SiteDao() {
  }
  function SiteDao_DoorWrapper(_db, _dao) {
    SiteDao.call(this);
    this.gh6_1 = _db;
    this.hh6_1 = _dao;
  }
  protoOf(SiteDao_DoorWrapper).dh6 = function ($completion) {
    return this.hh6_1.dh6($completion);
  };
  protoOf(SiteDao_DoorWrapper).eh6 = function () {
    return this.hh6_1.eh6();
  };
  protoOf(SiteDao_DoorWrapper).fh6 = function (workspace, $completion) {
    workspace.mh6_1 = systemTimeInMillis();
    return this.hh6_1.fh6(workspace, $completion);
  };
  function SiteDao_JdbcImpl$getSiteAsync$slambda$lambda(_result) {
    return mapNextRow(_result, null, SiteDao_JdbcImpl$getSiteAsync$slambda$lambda$lambda(_result));
  }
  function SiteDao_JdbcImpl$getSiteAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_siteUid = $_result.d5t('siteUid');
      var _tmp_sitePcsn = $_result.d5t('sitePcsn');
      var _tmp_siteLcsn = $_result.d5t('siteLcsn');
      var _tmp_siteLcb = $_result.c5t('siteLcb');
      var _tmp_siteLct = $_result.d5t('siteLct');
      var _tmp_siteName = $_result.rz('siteName');
      var _tmp_guestLogin = $_result.o6c('guestLogin');
      var _tmp_registrationAllowed = $_result.o6c('registrationAllowed');
      var _tmp_authSalt = $_result.rz('authSalt');
      // Inline function 'kotlin.apply' call
      var this_0 = new Site();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SiteDao_JdbcImpl.getSiteAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ih6_1 = _tmp_siteUid;
      this_0.jh6_1 = _tmp_sitePcsn;
      this_0.kh6_1 = _tmp_siteLcsn;
      this_0.lh6_1 = _tmp_siteLcb;
      this_0.mh6_1 = _tmp_siteLct;
      this_0.nh6_1 = _tmp_siteName;
      this_0.oh6_1 = _tmp_guestLogin;
      this_0.ph6_1 = _tmp_registrationAllowed;
      this_0.qh6_1 = _tmp_authSalt;
      return this_0;
    };
  }
  function SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_siteUid = $_result.d5t('siteUid');
      var _tmp_sitePcsn = $_result.d5t('sitePcsn');
      var _tmp_siteLcsn = $_result.d5t('siteLcsn');
      var _tmp_siteLcb = $_result.c5t('siteLcb');
      var _tmp_siteLct = $_result.d5t('siteLct');
      var _tmp_siteName = $_result.rz('siteName');
      var _tmp_guestLogin = $_result.o6c('guestLogin');
      var _tmp_registrationAllowed = $_result.o6c('registrationAllowed');
      var _tmp_authSalt = $_result.rz('authSalt');
      // Inline function 'kotlin.apply' call
      var this_0 = new Site();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SiteDao_JdbcImpl.getSiteAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.ih6_1 = _tmp_siteUid;
      this_0.jh6_1 = _tmp_sitePcsn;
      this_0.kh6_1 = _tmp_siteLcsn;
      this_0.lh6_1 = _tmp_siteLcb;
      this_0.mh6_1 = _tmp_siteLct;
      this_0.nh6_1 = _tmp_siteName;
      this_0.oh6_1 = _tmp_guestLogin;
      this_0.ph6_1 = _tmp_registrationAllowed;
      this_0.qh6_1 = _tmp_authSalt;
      return this_0;
    };
  }
  function SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda(resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda).ah7 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ah7((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.zh6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda(completion);
    i.zh6_1 = _stmt;
    return i;
  };
  function SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda_0(resultContinuation) {
    var i = new SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda(resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ah7(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteDao_JdbcImpl$_insertAdapterSite_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.bh7_1);
  }
  protoOf(SiteDao_JdbcImpl$_insertAdapterSite_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(SiteDao_JdbcImpl$_insertAdapterSite_upsert$1).gh7 = function (stmt, entity) {
    if (entity.ih6_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ih6_1);
    }
    stmt.a5o(2, entity.jh6_1);
    stmt.a5o(3, entity.kh6_1);
    stmt.z5n(4, entity.lh6_1);
    stmt.a5o(5, entity.mh6_1);
    stmt.d5o(6, entity.nh6_1);
    stmt.n5n(7, entity.oh6_1);
    stmt.n5n(8, entity.ph6_1);
    stmt.d5o(9, entity.qh6_1);
  };
  protoOf(SiteDao_JdbcImpl$_insertAdapterSite_upsert$1).u5l = function (stmt, entity) {
    return this.gh7(stmt, entity instanceof Site ? entity : THROW_CCE());
  };
  function SiteDao_JdbcImpl$_insertAdapterSite_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.bh7_1);
  }
  protoOf(SiteDao_JdbcImpl$_insertAdapterSite_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(SiteDao_JdbcImpl$_insertAdapterSite_abort$1).gh7 = function (stmt, entity) {
    if (entity.ih6_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ih6_1);
    }
    stmt.a5o(2, entity.jh6_1);
    stmt.a5o(3, entity.kh6_1);
    stmt.z5n(4, entity.lh6_1);
    stmt.a5o(5, entity.mh6_1);
    stmt.d5o(6, entity.nh6_1);
    stmt.n5n(7, entity.oh6_1);
    stmt.n5n(8, entity.ph6_1);
    stmt.d5o(9, entity.qh6_1);
  };
  protoOf(SiteDao_JdbcImpl$_insertAdapterSite_abort$1).u5l = function (stmt, entity) {
    return this.gh7(stmt, entity instanceof Site ? entity : THROW_CCE());
  };
  function SiteDao_JdbcImpl$updateAsync$slambda($workspace, resultContinuation) {
    this.rh7_1 = $workspace;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteDao_JdbcImpl$updateAsync$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_JdbcImpl$updateAsync$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteDao_JdbcImpl$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.sh7_1.a5o(1, this.rh7_1.jh6_1);
            this.sh7_1.a5o(2, this.rh7_1.kh6_1);
            this.sh7_1.z5n(3, this.rh7_1.lh6_1);
            this.sh7_1.a5o(4, this.rh7_1.mh6_1);
            this.sh7_1.d5o(5, this.rh7_1.nh6_1);
            this.sh7_1.n5n(6, this.rh7_1.oh6_1);
            this.sh7_1.n5n(7, this.rh7_1.ph6_1);
            this.sh7_1.d5o(8, this.rh7_1.qh6_1);
            this.sh7_1.a5o(9, this.rh7_1.ih6_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.sh7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteDao_JdbcImpl$updateAsync$slambda).r5l = function (_stmt, completion) {
    var i = new SiteDao_JdbcImpl$updateAsync$slambda(this.rh7_1, completion);
    i.sh7_1 = _stmt;
    return i;
  };
  function SiteDao_JdbcImpl$updateAsync$slambda_0($workspace, resultContinuation) {
    var i = new SiteDao_JdbcImpl$updateAsync$slambda($workspace, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteDao_JdbcImpl$getSiteAsync$slambda(resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteDao_JdbcImpl$getSiteAsync$slambda).ah7 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsync$slambda).he = function (p1, $completion) {
    return this.ah7((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.bh8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SiteDao_JdbcImpl$getSiteAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsync$slambda).r5l = function (_stmt, completion) {
    var i = new SiteDao_JdbcImpl$getSiteAsync$slambda(completion);
    i.bh8_1 = _stmt;
    return i;
  };
  function SiteDao_JdbcImpl$getSiteAsync$slambda_0(resultContinuation) {
    var i = new SiteDao_JdbcImpl$getSiteAsync$slambda(resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ah7(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteDao_JdbcImpl$getSiteAsFlow$slambda(this$0, resultContinuation) {
    this.kh8_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda).lh8 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda).r7e = function ($completion) {
    return this.lh8($completion);
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('SELECT * FROM Site LIMIT 1', VOID, VOID, VOID, VOID, true);
            suspendResult = prepareAndUseStatementAsync(this.kh8_1.bh7_1, tmp_0, SiteDao_JdbcImpl$getSiteAsFlow$slambda$slambda_0(null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteDao_JdbcImpl$getSiteAsFlow$slambda).q7e = function (completion) {
    return new SiteDao_JdbcImpl$getSiteAsFlow$slambda(this.kh8_1, completion);
  };
  function SiteDao_JdbcImpl$getSiteAsFlow$slambda_0(this$0, resultContinuation) {
    var i = new SiteDao_JdbcImpl$getSiteAsFlow$slambda(this$0, resultContinuation);
    var l = function ($completion) {
      return i.lh8($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $updateAsyncCOROUTINE$383(_this__u8e3s4, workspace, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.uh8_1 = _this__u8e3s4;
    this.vh8_1 = workspace;
  }
  protoOf($updateAsyncCOROUTINE$383).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.wh8_1 = 'UPDATE Site SET sitePcsn = ?, siteLcsn = ?, siteLcb = ?, siteLct = ?, siteName = ?, guestLogin = ?, registrationAllowed = ?, authSalt = ? WHERE siteUid = ?';
            this.hd_1 = 1;
            suspendResult = prepareAndUseStatementAsync_0(this.uh8_1.bh7_1, this.wh8_1, VOID, SiteDao_JdbcImpl$updateAsync$slambda_0(this.vh8_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function SiteDao_JdbcImpl(_db) {
    SiteDao.call(this);
    this.bh7_1 = _db;
    var tmp = this;
    tmp.ch7_1 = new SiteDao_JdbcImpl$_insertAdapterSite_upsert$1(this);
    var tmp_0 = this;
    tmp_0.dh7_1 = new SiteDao_JdbcImpl$_insertAdapterSite_abort$1(this);
  }
  protoOf(SiteDao_JdbcImpl).fh6 = function (workspace, $completion) {
    var tmp = new $updateAsyncCOROUTINE$383(this, workspace, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_JdbcImpl).dh6 = function ($completion) {
    var tmp = new PreparedStatementConfig('SELECT * FROM Site LIMIT 1', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.bh7_1, tmp, SiteDao_JdbcImpl$getSiteAsync$slambda_0(null), $completion);
  };
  protoOf(SiteDao_JdbcImpl).eh6 = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['Site'];
    return doorFlow(this.bh7_1, tmp, SiteDao_JdbcImpl$getSiteAsFlow$slambda_0(this, null));
  };
  function SiteDao_Repo$getSiteAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SiteDao_Repo$getSiteAsync$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SiteDao_Repo$getSiteAsFlow$slambda(this$0, resultContinuation) {
    this.fh9_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteDao_Repo$getSiteAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_Repo$getSiteAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SiteDao_Repo$getSiteAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.gh9_1 = this.fh9_1.ph9_1;
            var tmp_1 = this;
            tmp_1.hh9_1 = 'SiteDao/getSiteAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ih9_1 = this.fh9_1.rh9_1;
            var tmp_3 = this;
            tmp_3.jh9_1 = this.ih9_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.fh9_1.ph9_1.a3d(), 'SiteDao/getSiteAsFlow');
            doorNodeIdHeader(this_0, this.fh9_1.ph9_1);
            header(this_0, 'cache-control', 'no-store');
            tmp_4.kh9_1 = this_0;
            this.kh9_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.lh9_1 = this.jh9_1;
            var tmp_6 = this;
            tmp_6.mh9_1 = this.kh9_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.mh9_1, this.lh9_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.nh9_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.fh9_1.oh9_1, this.nh9_1, this.fh9_1.ph9_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', SiteDao_Repo$getSiteAsFlow$slambda$lambda(this.gh9_1, this.hh9_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(SiteDao_Repo$getSiteAsFlow$slambda).q7e = function (completion) {
    return new SiteDao_Repo$getSiteAsFlow$slambda(this.fh9_1, completion);
  };
  function SiteDao_Repo$getSiteAsFlow$slambda_0(this$0, resultContinuation) {
    var i = new SiteDao_Repo$getSiteAsFlow$slambda(this$0, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SiteDao_Repo$updateAsync$slambda(this$0, $workspace, resultContinuation) {
    this.dha_1 = this$0;
    this.eha_1 = $workspace;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteDao_Repo$updateAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_Repo$updateAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SiteDao_Repo$updateAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.dha_1.qh9_1.fh6(this.eha_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteDao_Repo$updateAsync$slambda).q7e = function (completion) {
    return new SiteDao_Repo$updateAsync$slambda(this.dha_1, this.eha_1, completion);
  };
  function SiteDao_Repo$updateAsync$slambda_0(this$0, $workspace, resultContinuation) {
    var i = new SiteDao_Repo$updateAsync$slambda(this$0, $workspace, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $getSiteAsyncCOROUTINE$384(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.nha_1 = _this__u8e3s4;
  }
  protoOf($getSiteAsyncCOROUTINE$384).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.oha_1 = this.nha_1.ph9_1;
            var tmp_1 = this;
            tmp_1.pha_1 = 'SiteDao/getSiteAsync';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.qha_1 = this.nha_1.rh9_1;
            var tmp_3 = this;
            tmp_3.rha_1 = this.qha_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.nha_1.ph9_1.a3d(), 'SiteDao/getSiteAsync');
            doorNodeIdHeader(this_0, this.nha_1.ph9_1);
            header(this_0, 'cache-control', 'no-store');
            tmp_4.sha_1 = this_0;
            this.sha_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.tha_1 = this.rha_1;
            var tmp_6 = this;
            tmp_6.uha_1 = this.sha_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.uha_1, this.tha_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.vha_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.nha_1.oh9_1, this.vha_1, this.nha_1.ph9_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.wha_1 = this.kd_1;
              Napier_getInstance().i5k(this.wha_1, 'DoorLog', SiteDao_Repo$getSiteAsync$lambda(this.oha_1, this.pha_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.nha_1.qh9_1.dh6(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function SiteDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    SiteDao.call(this);
    this.oh9_1 = _db;
    this.ph9_1 = _repo;
    this.qh9_1 = _dao;
    this.rh9_1 = _httpClient;
    this.sh9_1 = _clientId;
    this.th9_1 = _endpoint;
    this.uh9_1 = new RepoDaoFlowHelper(this.ph9_1);
  }
  protoOf(SiteDao_Repo).dh6 = function ($completion) {
    var tmp = new $getSiteAsyncCOROUTINE$384(this, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteDao_Repo).eh6 = function () {
    var tmp = this.qh9_1.eh6();
    return this.uh9_1.t6d(tmp, SiteDao_Repo$getSiteAsFlow$slambda_0(this, null));
  };
  protoOf(SiteDao_Repo).fh6 = function (workspace, $completion) {
    return withRepoChangeMonitorAsync(this.ph9_1, 'Site', SiteDao_Repo$updateAsync$slambda_0(this, workspace, null), $completion);
  };
  function SiteTermsDao() {
  }
  function $upsertListCOROUTINE$388(_this__u8e3s4, termList, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.khb_1 = _this__u8e3s4;
    this.lhb_1 = termList;
  }
  protoOf($upsertListCOROUTINE$388).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.mhb_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.khb_1.thb_1));
            var tmp_0 = this;
            tmp_0.nhb_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.ohb_1 = this.lhb_1.w();
            var tmp_2 = this;
            tmp_2.phb_1 = this.ohb_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.phb_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.qhb_1 = this.phb_1.e();
            var tmp_3 = this;
            tmp_3.rhb_1 = this.qhb_1;
            if (this.rhb_1.vhb_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.mhb_1.t68(272, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.shb_1 = suspendResult;
            this.rhb_1.vhb_1 = this.shb_1;
            var this_0 = this.nhb_1;
            var element = this.shb_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.rhb_1.dhc_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.khb_1.uhb_1.zha(this.lhb_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function SiteTermsDao_DoorWrapper(_db, _dao) {
    SiteTermsDao.call(this);
    this.thb_1 = _db;
    this.uhb_1 = _dao;
  }
  protoOf(SiteTermsDao_DoorWrapper).xha = function (activeOnly) {
    return this.uhb_1.xha(activeOnly);
  };
  protoOf(SiteTermsDao_DoorWrapper).yha = function (activeOnly, $completion) {
    return this.uhb_1.yha(activeOnly, $completion);
  };
  protoOf(SiteTermsDao_DoorWrapper).zha = function (termList, $completion) {
    var tmp = new $upsertListCOROUTINE$388(this, termList, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_DoorWrapper).ahb = function (active, $completion) {
    return this.uhb_1.ahb(active, $completion);
  };
  protoOf(SiteTermsDao_DoorWrapper).bhb = function (lang, $completion) {
    return this.uhb_1.bhb(lang, $completion);
  };
  function SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda$lambda$lambda(_result));
  }
  function SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_sTermsUid = $_result.d5t('sTermsUid');
      var _tmp_termsHtml = $_result.rz('termsHtml');
      var _tmp_sTermsLang = $_result.rz('sTermsLang');
      var _tmp_sTermsLangUid = $_result.d5t('sTermsLangUid');
      var _tmp_sTermsActive = $_result.o6c('sTermsActive');
      var _tmp_sTermsLastChangedBy = $_result.c5t('sTermsLastChangedBy');
      var _tmp_sTermsPrimaryCsn = $_result.d5t('sTermsPrimaryCsn');
      var _tmp_sTermsLocalCsn = $_result.d5t('sTermsLocalCsn');
      var _tmp_sTermsLct = $_result.d5t('sTermsLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new SiteTerms();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SiteTermsDao_JdbcImpl.findAllTermsAsListFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.vhb_1 = _tmp_sTermsUid;
      this_0.whb_1 = _tmp_termsHtml;
      this_0.xhb_1 = _tmp_sTermsLang;
      this_0.yhb_1 = _tmp_sTermsLangUid;
      this_0.zhb_1 = _tmp_sTermsActive;
      this_0.ahc_1 = _tmp_sTermsLastChangedBy;
      this_0.bhc_1 = _tmp_sTermsPrimaryCsn;
      this_0.chc_1 = _tmp_sTermsLocalCsn;
      this_0.dhc_1 = _tmp_sTermsLct;
      return this_0;
    };
  }
  function SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda($activeOnly, resultContinuation) {
    this.mhc_1 = $activeOnly;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda).ohc = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ohc((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.nhc_1.z5n(1, this.mhc_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.nhc_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda(this.mhc_1, completion);
    i.nhc_1 = _stmt;
    return i;
  };
  function SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda_0($activeOnly, resultContinuation) {
    var i = new SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda($activeOnly, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ohc(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteTermsDao_JdbcImpl$findAllTerms$slambda$lambda(_result) {
    return mapRows(_result, SiteTermsDao_JdbcImpl$findAllTerms$slambda$lambda$lambda(_result));
  }
  function SiteTermsDao_JdbcImpl$findAllTerms$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_sTermsUid = $_result.d5t('sTermsUid');
      var _tmp_termsHtml = $_result.rz('termsHtml');
      var _tmp_sTermsLang = $_result.rz('sTermsLang');
      var _tmp_sTermsLangUid = $_result.d5t('sTermsLangUid');
      var _tmp_sTermsActive = $_result.o6c('sTermsActive');
      var _tmp_sTermsLastChangedBy = $_result.c5t('sTermsLastChangedBy');
      var _tmp_sTermsPrimaryCsn = $_result.d5t('sTermsPrimaryCsn');
      var _tmp_sTermsLocalCsn = $_result.d5t('sTermsLocalCsn');
      var _tmp_sTermsLct = $_result.d5t('sTermsLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new SiteTerms();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SiteTermsDao_JdbcImpl.findAllTerms.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.vhb_1 = _tmp_sTermsUid;
      this_0.whb_1 = _tmp_termsHtml;
      this_0.xhb_1 = _tmp_sTermsLang;
      this_0.yhb_1 = _tmp_sTermsLangUid;
      this_0.zhb_1 = _tmp_sTermsActive;
      this_0.ahc_1 = _tmp_sTermsLastChangedBy;
      this_0.bhc_1 = _tmp_sTermsPrimaryCsn;
      this_0.chc_1 = _tmp_sTermsLocalCsn;
      this_0.dhc_1 = _tmp_sTermsLct;
      return this_0;
    };
  }
  function SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda$lambda(_result) {
    return mapRows(_result, SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda$lambda$lambda(_result));
  }
  function SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.c67(1);
    };
  }
  function SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda$lambda(_result) {
    return mapNextRow(_result, null, SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda$lambda$lambda(_result));
  }
  function SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_sTermsUid = $_result.d5t('sTermsUid');
      var _tmp_termsHtml = $_result.rz('termsHtml');
      var _tmp_sTermsLang = $_result.rz('sTermsLang');
      var _tmp_sTermsLangUid = $_result.d5t('sTermsLangUid');
      var _tmp_sTermsActive = $_result.o6c('sTermsActive');
      var _tmp_sTermsLastChangedBy = $_result.c5t('sTermsLastChangedBy');
      var _tmp_sTermsPrimaryCsn = $_result.d5t('sTermsPrimaryCsn');
      var _tmp_sTermsLocalCsn = $_result.d5t('sTermsLocalCsn');
      var _tmp_sTermsLct = $_result.d5t('sTermsLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new SiteTerms();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SiteTermsDao_JdbcImpl.findLatestByLanguage.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.vhb_1 = _tmp_sTermsUid;
      this_0.whb_1 = _tmp_termsHtml;
      this_0.xhb_1 = _tmp_sTermsLang;
      this_0.yhb_1 = _tmp_sTermsLangUid;
      this_0.zhb_1 = _tmp_sTermsActive;
      this_0.ahc_1 = _tmp_sTermsLastChangedBy;
      this_0.bhc_1 = _tmp_sTermsPrimaryCsn;
      this_0.chc_1 = _tmp_sTermsLocalCsn;
      this_0.dhc_1 = _tmp_sTermsLct;
      return this_0;
    };
  }
  function SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.phc_1);
  }
  protoOf(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_abort$1).uhc = function (stmt, entity) {
    if (entity.vhb_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.vhb_1);
    }
    stmt.d5o(2, entity.whb_1);
    stmt.d5o(3, entity.xhb_1);
    stmt.a5o(4, entity.yhb_1);
    stmt.n5n(5, entity.zhb_1);
    stmt.z5n(6, entity.ahc_1);
    stmt.a5o(7, entity.bhc_1);
    stmt.a5o(8, entity.chc_1);
    stmt.a5o(9, entity.dhc_1);
  };
  protoOf(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_abort$1).u5l = function (stmt, entity) {
    return this.uhc(stmt, entity instanceof SiteTerms ? entity : THROW_CCE());
  };
  function SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.phc_1);
  }
  protoOf(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_upsert$1).uhc = function (stmt, entity) {
    if (entity.vhb_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.vhb_1);
    }
    stmt.d5o(2, entity.whb_1);
    stmt.d5o(3, entity.xhb_1);
    stmt.a5o(4, entity.yhb_1);
    stmt.n5n(5, entity.zhb_1);
    stmt.z5n(6, entity.ahc_1);
    stmt.a5o(7, entity.bhc_1);
    stmt.a5o(8, entity.chc_1);
    stmt.a5o(9, entity.dhc_1);
  };
  protoOf(SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_upsert$1).u5l = function (stmt, entity) {
    return this.uhc(stmt, entity instanceof SiteTerms ? entity : THROW_CCE());
  };
  function SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda(this$0, $activeOnly, resultContinuation) {
    this.fhd_1 = this$0;
    this.ghd_1 = $activeOnly;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda).hhd = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda).r7e = function ($completion) {
    return this.hhd($completion);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT SiteTerms.*\n          FROM SiteTerms\n         WHERE ? = 0 \n            OR CAST(sTermsActive AS INTEGER) = 1\n    ', VOID, VOID, VOID, VOID, true);
            suspendResult = prepareAndUseStatementAsync(this.fhd_1.phc_1, tmp_0, SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda$slambda_0(this.ghd_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda).q7e = function (completion) {
    return new SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda(this.fhd_1, this.ghd_1, completion);
  };
  function SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda_0(this$0, $activeOnly, resultContinuation) {
    var i = new SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda(this$0, $activeOnly, resultContinuation);
    var l = function ($completion) {
      return i.hhd($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SiteTermsDao_JdbcImpl$findAllTerms$slambda($activeOnly, resultContinuation) {
    this.qhd_1 = $activeOnly;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_JdbcImpl$findAllTerms$slambda).ohc = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTerms$slambda).he = function (p1, $completion) {
    return this.ohc((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTerms$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rhd_1.z5n(1, this.qhd_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.rhd_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SiteTermsDao_JdbcImpl$findAllTerms$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAllTerms$slambda).r5l = function (_stmt, completion) {
    var i = new SiteTermsDao_JdbcImpl$findAllTerms$slambda(this.qhd_1, completion);
    i.rhd_1 = _stmt;
    return i;
  };
  function SiteTermsDao_JdbcImpl$findAllTerms$slambda_0($activeOnly, resultContinuation) {
    var i = new SiteTermsDao_JdbcImpl$findAllTerms$slambda($activeOnly, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ohc(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda($active, resultContinuation) {
    this.ahe_1 = $active;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda).che = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda).he = function (p1, $completion) {
    return this.che((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.bhe_1.z5n(1, this.ahe_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.bhe_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda).r5l = function (_stmt, completion) {
    var i = new SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda(this.ahe_1, completion);
    i.bhe_1 = _stmt;
    return i;
  };
  function SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda_0($active, resultContinuation) {
    var i = new SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda($active, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.che(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda($lang, resultContinuation) {
    this.lhe_1 = $lang;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda).nhe = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda).he = function (p1, $completion) {
    return this.nhe((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.mhe_1.d5o(1, this.lhe_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.mhe_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda).r5l = function (_stmt, completion) {
    var i = new SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda(this.lhe_1, completion);
    i.mhe_1 = _stmt;
    return i;
  };
  function SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda_0($lang, resultContinuation) {
    var i = new SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda($lang, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.nhe(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SiteTermsDao_JdbcImpl(_db) {
    SiteTermsDao.call(this);
    this.phc_1 = _db;
    var tmp = this;
    tmp.qhc_1 = new SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_abort$1(this);
    var tmp_0 = this;
    tmp_0.rhc_1 = new SiteTermsDao_JdbcImpl$_insertAdapterSiteTerms_upsert$1(this);
  }
  protoOf(SiteTermsDao_JdbcImpl).zha = function (termList, $completion) {
    return this.rhc_1.e5n(termList, $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl).xha = function (activeOnly) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['SiteTerms'];
    return doorFlow(this.phc_1, tmp, SiteTermsDao_JdbcImpl$findAllTermsAsListFlow$slambda_0(this, activeOnly, null));
  };
  protoOf(SiteTermsDao_JdbcImpl).yha = function (activeOnly, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT SiteTerms.*\n          FROM SiteTerms\n         WHERE ? = 0 \n            OR CAST(sTermsActive AS INTEGER) = 1\n    ', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.phc_1, tmp, SiteTermsDao_JdbcImpl$findAllTerms$slambda_0(activeOnly, null), $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl).ahb = function (active, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT SiteTerms.sTermsLang\n          FROM SiteTerms\n         WHERE CAST(SiteTerms.sTermsActive AS INTEGER) = ? \n    ', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.phc_1, tmp, SiteTermsDao_JdbcImpl$findAvailableSiteTermLanguages$slambda_0(active, null), $completion);
  };
  protoOf(SiteTermsDao_JdbcImpl).bhb = function (lang, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT SiteTerms.*\n          FROM SiteTerms\n         WHERE SiteTerms.sTermsLang = ?\n           AND CAST(SiteTerms.sTermsActive AS INTEGER) = 1\n      ORDER BY SiteTerms.sTermsLct DESC\n         LIMIT 1     \n    ', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.phc_1, tmp, SiteTermsDao_JdbcImpl$findLatestByLanguage$slambda_0(lang, null), $completion);
  };
  function SiteTermsDao_Repo$findAllTermsAsListFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SiteTermsDao_Repo$findAllTermsAsListFlow$slambda(this$0, $activeOnly, resultContinuation) {
    this.whe_1 = this$0;
    this.xhe_1 = $activeOnly;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_Repo$findAllTermsAsListFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_Repo$findAllTermsAsListFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SiteTermsDao_Repo$findAllTermsAsListFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.yhe_1 = this.whe_1.hhf_1;
            var tmp_1 = this;
            tmp_1.zhe_1 = 'SiteTermsDao/findAllTermsAsListFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ahf_1 = this.whe_1.jhf_1;
            var tmp_3 = this;
            tmp_3.bhf_1 = this.ahf_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.whe_1.hhf_1.a3d(), 'SiteTermsDao/findAllTermsAsListFlow');
            doorNodeIdHeader(this_0, this.whe_1.hhf_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'activeOnly', this.whe_1.hhf_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.xhe_1));
            tmp_4.chf_1 = this_0;
            this.chf_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.dhf_1 = this.bhf_1;
            var tmp_6 = this;
            tmp_6.ehf_1 = this.chf_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ehf_1, this.dhf_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.fhf_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.whe_1.ghf_1, this.fhf_1, this.whe_1.hhf_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', SiteTermsDao_Repo$findAllTermsAsListFlow$slambda$lambda(this.yhe_1, this.zhe_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_Repo$findAllTermsAsListFlow$slambda).q7e = function (completion) {
    return new SiteTermsDao_Repo$findAllTermsAsListFlow$slambda(this.whe_1, this.xhe_1, completion);
  };
  function SiteTermsDao_Repo$findAllTermsAsListFlow$slambda_0(this$0, $activeOnly, resultContinuation) {
    var i = new SiteTermsDao_Repo$findAllTermsAsListFlow$slambda(this$0, $activeOnly, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SiteTermsDao_Repo$findAllTerms$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SiteTermsDao_Repo$upsertList$slambda(this$0, $termList, resultContinuation) {
    this.vhf_1 = this$0;
    this.whf_1 = $termList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SiteTermsDao_Repo$upsertList$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_Repo$upsertList$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SiteTermsDao_Repo$upsertList$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.vhf_1.ihf_1.zha(this.whf_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SiteTermsDao_Repo$upsertList$slambda).q7e = function (completion) {
    return new SiteTermsDao_Repo$upsertList$slambda(this.vhf_1, this.whf_1, completion);
  };
  function SiteTermsDao_Repo$upsertList$slambda_0(this$0, $termList, resultContinuation) {
    var i = new SiteTermsDao_Repo$upsertList$slambda(this$0, $termList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SiteTermsDao_Repo$findAvailableSiteTermLanguages$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function $findAllTermsCOROUTINE$395(_this__u8e3s4, activeOnly, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fhg_1 = _this__u8e3s4;
    this.ghg_1 = activeOnly;
  }
  protoOf($findAllTermsCOROUTINE$395).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.hhg_1 = this.fhg_1.hhf_1;
            var tmp_1 = this;
            tmp_1.ihg_1 = 'SiteTermsDao/findAllTerms';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.jhg_1 = this.fhg_1.jhf_1;
            var tmp_3 = this;
            tmp_3.khg_1 = this.jhg_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.fhg_1.hhf_1.a3d(), 'SiteTermsDao/findAllTerms');
            doorNodeIdHeader(this_0, this.fhg_1.hhf_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'activeOnly', this.fhg_1.hhf_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.ghg_1));
            tmp_4.lhg_1 = this_0;
            this.lhg_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.mhg_1 = this.khg_1;
            var tmp_6 = this;
            tmp_6.nhg_1 = this.lhg_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.nhg_1, this.mhg_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ohg_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.fhg_1.ghf_1, this.ohg_1, this.fhg_1.hhf_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.phg_1 = this.kd_1;
              Napier_getInstance().i5k(this.phg_1, 'DoorLog', SiteTermsDao_Repo$findAllTerms$lambda(this.hhg_1, this.ihg_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.fhg_1.ihf_1.yha(this.ghg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findAvailableSiteTermLanguagesCOROUTINE$397(_this__u8e3s4, active, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.yhg_1 = _this__u8e3s4;
    this.zhg_1 = active;
  }
  protoOf($findAvailableSiteTermLanguagesCOROUTINE$397).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.ahh_1 = this.yhg_1.hhf_1;
            var tmp_1 = this;
            tmp_1.bhh_1 = 'SiteTermsDao/findAvailableSiteTermLanguages';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.chh_1 = this.yhg_1.jhf_1;
            var tmp_3 = this;
            tmp_3.dhh_1 = this.chh_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.yhg_1.hhf_1.a3d(), 'SiteTermsDao/findAvailableSiteTermLanguages');
            doorNodeIdHeader(this_0, this.yhg_1.hhf_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'active', this.yhg_1.hhf_1.a3d().c6c_1.w4b(serializer_1(IntCompanionObject_instance), this.zhg_1));
            tmp_4.ehh_1 = this_0;
            this.ehh_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.fhh_1 = this.dhh_1;
            var tmp_6 = this;
            tmp_6.ghh_1 = this.ehh_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ghh_1, this.fhh_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.hhh_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.yhg_1.ghf_1, this.hhh_1, this.yhg_1.hhf_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.ihh_1 = this.kd_1;
              Napier_getInstance().i5k(this.ihh_1, 'DoorLog', SiteTermsDao_Repo$findAvailableSiteTermLanguages$lambda(this.ahh_1, this.bhh_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.yhg_1.ihf_1.ahb(this.zhg_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findLatestByLanguageCOROUTINE$398(_this__u8e3s4, lang, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rhh_1 = _this__u8e3s4;
    this.shh_1 = lang;
  }
  protoOf($findLatestByLanguageCOROUTINE$398).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.rhh_1.ihf_1.bhb(this.shh_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function SiteTermsDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    SiteTermsDao.call(this);
    this.ghf_1 = _db;
    this.hhf_1 = _repo;
    this.ihf_1 = _dao;
    this.jhf_1 = _httpClient;
    this.khf_1 = _clientId;
    this.lhf_1 = _endpoint;
    this.mhf_1 = new RepoDaoFlowHelper(this.hhf_1);
  }
  protoOf(SiteTermsDao_Repo).xha = function (activeOnly) {
    var tmp = this.ihf_1.xha(activeOnly);
    return this.mhf_1.t6d(tmp, SiteTermsDao_Repo$findAllTermsAsListFlow$slambda_0(this, activeOnly, null));
  };
  protoOf(SiteTermsDao_Repo).yha = function (activeOnly, $completion) {
    var tmp = new $findAllTermsCOROUTINE$395(this, activeOnly, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_Repo).zha = function (termList, $completion) {
    return withRepoChangeMonitorAsync(this.hhf_1, 'SiteTerms', SiteTermsDao_Repo$upsertList$slambda_0(this, termList, null), $completion);
  };
  protoOf(SiteTermsDao_Repo).ahb = function (active, $completion) {
    var tmp = new $findAvailableSiteTermLanguagesCOROUTINE$397(this, active, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SiteTermsDao_Repo).bhb = function (lang, $completion) {
    var tmp = new $findLatestByLanguageCOROUTINE$398(this, lang, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function StudentResultDao() {
  }
  function StudentResultDao_DoorWrapper(_db, _dao) {
    StudentResultDao.call(this);
    this.thh_1 = _db;
    this.uhh_1 = _dao;
  }
  function StudentResultDao_JdbcImpl$_insertAdapterStudentResult_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.vhh_1);
  }
  protoOf(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_abort$1).ahi = function (stmt, entity) {
    stmt.a5o(1, entity.bhi_1);
    stmt.d5o(2, entity.chi_1);
    stmt.a5o(3, entity.dhi_1);
    stmt.d5o(4, entity.ehi_1);
    stmt.d5o(5, entity.fhi_1);
    stmt.a5o(6, entity.ghi_1);
    stmt.a5o(7, entity.hhi_1);
    stmt.z5n(8, entity.ihi_1);
    stmt.d5o(9, entity.jhi_1);
    stmt.a5o(10, entity.khi_1);
    stmt.d5o(11, entity.lhi_1);
    stmt.z5n(12, entity.mhi_1);
    stmt.a5o(13, entity.nhi_1);
    stmt.z5n(14, entity.ohi_1);
    stmt.z5n(15, entity.phi_1);
    stmt.b5o(16, entity.qhi_1);
    stmt.a5o(17, entity.rhi_1);
    stmt.a5o(18, entity.shi_1);
    stmt.d5o(19, entity.thi_1);
    stmt.d5o(20, entity.uhi_1);
    stmt.n5n(21, entity.vhi_1);
  };
  protoOf(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_abort$1).u5l = function (stmt, entity) {
    return this.ahi(stmt, entity instanceof StudentResult ? entity : THROW_CCE());
  };
  function StudentResultDao_JdbcImpl$_insertAdapterStudentResult_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.vhh_1);
  }
  protoOf(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_upsert$1).ahi = function (stmt, entity) {
    stmt.a5o(1, entity.bhi_1);
    stmt.d5o(2, entity.chi_1);
    stmt.a5o(3, entity.dhi_1);
    stmt.d5o(4, entity.ehi_1);
    stmt.d5o(5, entity.fhi_1);
    stmt.a5o(6, entity.ghi_1);
    stmt.a5o(7, entity.hhi_1);
    stmt.z5n(8, entity.ihi_1);
    stmt.d5o(9, entity.jhi_1);
    stmt.a5o(10, entity.khi_1);
    stmt.d5o(11, entity.lhi_1);
    stmt.z5n(12, entity.mhi_1);
    stmt.a5o(13, entity.nhi_1);
    stmt.z5n(14, entity.ohi_1);
    stmt.z5n(15, entity.phi_1);
    stmt.b5o(16, entity.qhi_1);
    stmt.a5o(17, entity.rhi_1);
    stmt.a5o(18, entity.shi_1);
    stmt.d5o(19, entity.thi_1);
    stmt.d5o(20, entity.uhi_1);
    stmt.n5n(21, entity.vhi_1);
  };
  protoOf(StudentResultDao_JdbcImpl$_insertAdapterStudentResult_upsert$1).u5l = function (stmt, entity) {
    return this.ahi(stmt, entity instanceof StudentResult ? entity : THROW_CCE());
  };
  function StudentResultDao_JdbcImpl(_db) {
    StudentResultDao.call(this);
    this.vhh_1 = _db;
    var tmp = this;
    tmp.whh_1 = new StudentResultDao_JdbcImpl$_insertAdapterStudentResult_abort$1(this);
    var tmp_0 = this;
    tmp_0.xhh_1 = new StudentResultDao_JdbcImpl$_insertAdapterStudentResult_upsert$1(this);
  }
  function StudentResultDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    StudentResultDao.call(this);
    this.yhi_1 = _db;
    this.zhi_1 = _repo;
    this.ahj_1 = _dao;
    this.bhj_1 = _httpClient;
    this.chj_1 = _clientId;
    this.dhj_1 = _endpoint;
  }
  function SyncNodeDao() {
  }
  function SyncNodeDao_JdbcImpl$_insertAdapterSyncNode_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ehj_1);
  }
  protoOf(SyncNodeDao_JdbcImpl$_insertAdapterSyncNode_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO SyncNode (nodeClientId) VALUES(?)';
  };
  protoOf(SyncNodeDao_JdbcImpl$_insertAdapterSyncNode_upsert$1).ihj = function (stmt, entity) {
    stmt.a5o(1, entity.e6a_1);
  };
  protoOf(SyncNodeDao_JdbcImpl$_insertAdapterSyncNode_upsert$1).u5l = function (stmt, entity) {
    return this.ihj(stmt, entity instanceof SyncNode ? entity : THROW_CCE());
  };
  function SyncNodeDao_JdbcImpl(_db) {
    SyncNodeDao.call(this);
    this.ehj_1 = _db;
    var tmp = this;
    tmp.fhj_1 = new SyncNodeDao_JdbcImpl$_insertAdapterSyncNode_upsert$1(this);
  }
  function SystemPermissionDao() {
  }
  function $upsertAsyncCOROUTINE$402(_this__u8e3s4, systemPermissions, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.zhj_1 = _this__u8e3s4;
    this.ahk_1 = systemPermissions;
  }
  protoOf($upsertAsyncCOROUTINE$402).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.bhk_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.zhj_1.dhk_1));
            if (this.ahk_1.fhk_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.bhk_1.t68(10011, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.chk_1 = suspendResult;
            this.ahk_1.fhk_1 = this.chk_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.ahk_1.jhk_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.zhj_1.ehk_1.qhj(this.ahk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function SystemPermissionDao_DoorWrapper(_db, _dao) {
    SystemPermissionDao.call(this);
    this.dhk_1 = _db;
    this.ehk_1 = _dao;
  }
  protoOf(SystemPermissionDao_DoorWrapper).jhj = function (accountPersonUid) {
    return this.ehk_1.jhj(accountPersonUid);
  };
  protoOf(SystemPermissionDao_DoorWrapper).khj = function (accountPersonUid, $completion) {
    return this.ehk_1.khj(accountPersonUid, $completion);
  };
  protoOf(SystemPermissionDao_DoorWrapper).lhj = function (accountPersonUid, permission, $completion) {
    return this.ehk_1.lhj(accountPersonUid, permission, $completion);
  };
  protoOf(SystemPermissionDao_DoorWrapper).mhj = function (accountPersonUid, permission) {
    return this.ehk_1.mhj(accountPersonUid, permission);
  };
  protoOf(SystemPermissionDao_DoorWrapper).nhj = function (accountPersonUid, firstPermission, secondPermission) {
    return this.ehk_1.nhj(accountPersonUid, firstPermission, secondPermission);
  };
  protoOf(SystemPermissionDao_DoorWrapper).ohj = function (accountPersonUid, firstPermission, secondPermission, $completion) {
    return this.ehk_1.ohj(accountPersonUid, firstPermission, secondPermission, $completion);
  };
  protoOf(SystemPermissionDao_DoorWrapper).phj = function (accountPersonUid, otherPersonUid) {
    return this.ehk_1.phj(accountPersonUid, otherPersonUid);
  };
  protoOf(SystemPermissionDao_DoorWrapper).qhj = function (systemPermissions, $completion) {
    var tmp = new $upsertAsyncCOROUTINE$402(this, systemPermissions, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, null, SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_spUid = $_result.d5t('spUid');
      var _tmp_spToPersonUid = $_result.d5t('spToPersonUid');
      var _tmp_spToGroupUid = $_result.d5t('spToGroupUid');
      var _tmp_spPermissionsFlag = $_result.d5t('spPermissionsFlag');
      var _tmp_spLastModified = $_result.d5t('spLastModified');
      var _tmp_spIsDeleted = $_result.o6c('spIsDeleted');
      // Inline function 'kotlin.apply' call
      var this_0 = new SystemPermission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SystemPermissionDao_JdbcImpl.findByPersonUidAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.fhk_1 = _tmp_spUid;
      this_0.ghk_1 = _tmp_spToPersonUid;
      this_0.hhk_1 = _tmp_spToGroupUid;
      this_0.ihk_1 = _tmp_spPermissionsFlag;
      this_0.jhk_1 = _tmp_spLastModified;
      this_0.khk_1 = _tmp_spIsDeleted;
      return this_0;
    };
  }
  function SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda($accountPersonUid, resultContinuation) {
    this.thk_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda).vhk = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.vhk((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.uhk_1.a5o(1, this.thk_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.uhk_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda(this.thk_1, completion);
    i.uhk_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda_0($accountPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda($accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vhk(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$findByPersonUid$slambda$lambda(_result) {
    return mapNextRow_0(_result, SystemPermissionDao_JdbcImpl$findByPersonUid$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$findByPersonUid$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_spUid = $_result.d5t('spUid');
      var _tmp_spToPersonUid = $_result.d5t('spToPersonUid');
      var _tmp_spToGroupUid = $_result.d5t('spToGroupUid');
      var _tmp_spPermissionsFlag = $_result.d5t('spPermissionsFlag');
      var _tmp_spLastModified = $_result.d5t('spLastModified');
      var _tmp_spIsDeleted = $_result.o6c('spIsDeleted');
      // Inline function 'kotlin.apply' call
      var this_0 = new SystemPermission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SystemPermissionDao_JdbcImpl.findByPersonUid.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.fhk_1 = _tmp_spUid;
      this_0.ghk_1 = _tmp_spToPersonUid;
      this_0.hhk_1 = _tmp_spToGroupUid;
      this_0.ihk_1 = _tmp_spPermissionsFlag;
      this_0.jhk_1 = _tmp_spLastModified;
      this_0.khk_1 = _tmp_spIsDeleted;
      return this_0;
    };
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda$lambda(_result) {
    return mapNextRow(_result, false, SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow(_result, false, SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.s7a(1);
    };
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda($accountPersonUid, $permission, resultContinuation) {
    this.ehl_1 = $accountPersonUid;
    this.fhl_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ghl_1.a5o(1, this.ehl_1);
            this.ghl_1.a5o(2, this.ehl_1);
            this.ghl_1.a5o(3, this.fhl_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ghl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda(this.ehl_1, this.fhl_1, completion);
    i.ghl_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda_0($accountPersonUid, $permission, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda($accountPersonUid, $permission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow_0(_result, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstPermission = $_result.o6c('firstPermission');
      var _tmp_secondPermission = $_result.o6c('secondPermission');
      // Inline function 'kotlin.apply' call
      var this_0 = new PermissionPair();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SystemPermissionDao_JdbcImpl.personHasSystemPermissionPairAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.wde_1 = _tmp_firstPermission;
      this_0.xde_1 = _tmp_secondPermission;
      return this_0;
    };
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda($accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.phl_1 = $accountPersonUid;
    this.qhl_1 = $firstPermission;
    this.rhl_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda).ldf = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ldf((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.shl_1.a5o(1, this.phl_1);
            this.shl_1.a5o(2, this.phl_1);
            this.shl_1.a5o(3, this.qhl_1);
            this.shl_1.a5o(4, this.phl_1);
            this.shl_1.a5o(5, this.phl_1);
            this.shl_1.a5o(6, this.rhl_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.shl_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda(this.phl_1, this.qhl_1, this.rhl_1, completion);
    i.shl_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda_0($accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda($accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ldf(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda$lambda(_result) {
    return mapNextRow_0(_result, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_firstPermission = $_result.o6c('firstPermission');
      var _tmp_secondPermission = $_result.o6c('secondPermission');
      // Inline function 'kotlin.apply' call
      var this_0 = new PermissionPair();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SystemPermissionDao_JdbcImpl.personHasSystemPermissionPair.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.wde_1 = _tmp_firstPermission;
      this_0.xde_1 = _tmp_secondPermission;
      return this_0;
    };
  }
  function SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda$lambda(_result) {
    return mapNextRow_0(_result, SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_hasViewPermission = $_result.o6c('hasViewPermission');
      var _tmp_hasEditPermission = $_result.o6c('hasEditPermission');
      // Inline function 'kotlin.apply' call
      var this_0 = new EditAndViewPermission();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.SystemPermissionDao_JdbcImpl.personHasEditAndViewPermissionForPersonAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.thl_1 = _tmp_hasViewPermission;
      this_0.uhl_1 = _tmp_hasEditPermission;
      return this_0;
    };
  }
  function SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda($otherPersonUid, $accountPersonUid, resultContinuation) {
    this.dhm_1 = $otherPersonUid;
    this.ehm_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda).ghm = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.ghm((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fhm_1.a5o(1, this.dhm_1);
            this.fhm_1.a5o(2, this.ehm_1);
            this.fhm_1.a5o(3, this.ehm_1);
            this.fhm_1.a5o(4, this.dhm_1);
            this.fhm_1.a5o(5, this.ehm_1);
            this.fhm_1.a5o(6, this.ehm_1);
            this.fhm_1.a5o(7, this.ehm_1);
            this.fhm_1.a5o(8, this.dhm_1);
            this.fhm_1.a5o(9, this.dhm_1);
            this.fhm_1.a5o(10, this.ehm_1);
            this.fhm_1.a5o(11, this.ehm_1);
            this.fhm_1.a5o(12, this.ehm_1);
            this.fhm_1.a5o(13, this.dhm_1);
            this.fhm_1.a5o(14, this.ehm_1);
            this.fhm_1.a5o(15, this.dhm_1);
            this.fhm_1.a5o(16, this.dhm_1);
            this.fhm_1.a5o(17, this.ehm_1);
            this.fhm_1.a5o(18, this.ehm_1);
            this.fhm_1.a5o(19, this.ehm_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.fhm_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda(this.dhm_1, this.ehm_1, completion);
    i.fhm_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda_0($otherPersonUid, $accountPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda($otherPersonUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ghm(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$_insertAdapterSystemPermission_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.hhm_1);
  }
  protoOf(SystemPermissionDao_JdbcImpl$_insertAdapterSystemPermission_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO SystemPermission (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(SystemPermissionDao_JdbcImpl$_insertAdapterSystemPermission_upsert$1).lhm = function (stmt, entity) {
    if (entity.fhk_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.fhk_1);
    }
    stmt.a5o(2, entity.ghk_1);
    stmt.a5o(3, entity.hhk_1);
    stmt.a5o(4, entity.ihk_1);
    stmt.a5o(5, entity.jhk_1);
    stmt.n5n(6, entity.khk_1);
  };
  protoOf(SystemPermissionDao_JdbcImpl$_insertAdapterSystemPermission_upsert$1).u5l = function (stmt, entity) {
    return this.lhm(stmt, entity instanceof SystemPermission ? entity : THROW_CCE());
  };
  function SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda(this$0, $accountPersonUid, resultContinuation) {
    this.uhm_1 = this$0;
    this.vhm_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda).whm = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda).r7e = function ($completion) {
    return this.whm($completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT SystemPermission.*\n          FROM SystemPermission\n         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n         LIMIT 1\n    ', VOID, VOID, VOID, '\n        SELECT SystemPermission.*\n          FROM SystemPermission\n         WHERE SystemPermission.spToPersonUid = ?\n         LIMIT 1\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.uhm_1.hhm_1, tmp_0, SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda$slambda_0(this.vhm_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda(this.uhm_1, this.vhm_1, completion);
  };
  function SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda_0(this$0, $accountPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda(this$0, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.whm($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$findByPersonUid$slambda($accountPersonUid, resultContinuation) {
    this.fhn_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUid$slambda).hhn = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUid$slambda).he = function (p1, $completion) {
    return this.hhn((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUid$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ghn_1.a5o(1, this.fhn_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.ghn_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$findByPersonUid$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$findByPersonUid$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$findByPersonUid$slambda(this.fhn_1, completion);
    i.ghn_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$findByPersonUid$slambda_0($accountPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$findByPersonUid$slambda($accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.hhn(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda($accountPersonUid, $permission, resultContinuation) {
    this.qhn_1 = $accountPersonUid;
    this.rhn_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda).e9z = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda).he = function (p1, $completion) {
    return this.e9z((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.shn_1.a5o(1, this.qhn_1);
            this.shn_1.a5o(2, this.qhn_1);
            this.shn_1.a5o(3, this.rhn_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.shn_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda(this.qhn_1, this.rhn_1, completion);
    i.shn_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda_0($accountPersonUid, $permission, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda($accountPersonUid, $permission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.e9z(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda(this$0, $accountPersonUid, $permission, resultContinuation) {
    this.bho_1 = this$0;
    this.cho_1 = $accountPersonUid;
    this.dho_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda).ta0 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda).r7e = function ($completion) {
    return this.ta0($completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          CAST(? AS BIGINT)\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    ', VOID, VOID, VOID, '\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          ?\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.bho_1.hhm_1, tmp_0, SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda$slambda_0(this.cho_1, this.dho_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda(this.bho_1, this.cho_1, this.dho_1, completion);
  };
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda_0(this$0, $accountPersonUid, $permission, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda(this$0, $accountPersonUid, $permission, resultContinuation);
    var l = function ($completion) {
      return i.ta0($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda(this$0, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.mho_1 = this$0;
    this.nho_1 = $accountPersonUid;
    this.oho_1 = $firstPermission;
    this.pho_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda).edk = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda).r7e = function ($completion) {
    return this.edk($completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                CAST(? AS BIGINT)\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as firstPermission,\n                (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                CAST(? AS BIGINT)\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as secondPermission\n    ', VOID, VOID, VOID, '\n        SELECT (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                ?\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as firstPermission,\n                (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                ?\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as secondPermission\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.mho_1.hhm_1, tmp_0, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda$slambda_0(this.nho_1, this.oho_1, this.pho_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda(this.mho_1, this.nho_1, this.oho_1, this.pho_1, completion);
  };
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda_0(this$0, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda(this$0, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function ($completion) {
      return i.edk($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda($accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.yho_1 = $accountPersonUid;
    this.zho_1 = $firstPermission;
    this.ahp_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda).ldf = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda).he = function (p1, $completion) {
    return this.ldf((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.bhp_1.a5o(1, this.yho_1);
            this.bhp_1.a5o(2, this.yho_1);
            this.bhp_1.a5o(3, this.zho_1);
            this.bhp_1.a5o(4, this.yho_1);
            this.bhp_1.a5o(5, this.yho_1);
            this.bhp_1.a5o(6, this.ahp_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.bhp_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda).r5l = function (_stmt, completion) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda(this.yho_1, this.zho_1, this.ahp_1, completion);
    i.bhp_1 = _stmt;
    return i;
  };
  function SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda_0($accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda($accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ldf(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda(this$0, $otherPersonUid, $accountPersonUid, resultContinuation) {
    this.khp_1 = this$0;
    this.lhp_1 = $otherPersonUid;
    this.mhp_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda).nhp = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda).r7e = function ($completion) {
    return this.nhp($completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        /* Similar to the query used on list all persons, however it uses the the otherpersonuid param \n         * in the WHERE clauses to narrow down the search. \n         */\n        WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given to the active\n               * user for their enrolment role in that course\n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                              AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                WHERE CAST(? AS BIGINT) != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                              AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = CAST(? AS BIGINT)\n                WHERE CAST(? AS BIGINT) != 0\n                  AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT))\n                  \n        SELECT (    (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT))\n                 OR EXISTS(SELECT 1\n                             FROM PersonParentJoin\n                            WHERE PersonParentJoin.ppjMinorPersonUid = CAST(? AS BIGINT)\n                              AND PersonParentJoin.ppjParentPersonUid = CAST(? AS BIGINT))\n                 OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            8192\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                 OR (SELECT CAST(? AS BIGINT) IN \n                             (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                 FROM CanViewPersonUidsViaCoursePermission))           \n               ) AS hasViewPermission,\n               \n               (   (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT))\n                OR EXISTS(SELECT 1\n                             FROM PersonParentJoin\n                            WHERE PersonParentJoin.ppjMinorPersonUid = CAST(? AS BIGINT)\n                              AND PersonParentJoin.ppjParentPersonUid = CAST(? AS BIGINT))\n                OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            32768\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                ) AS hasEditPermission\n    ', VOID, VOID, VOID, '\n        /* Similar to the query used on list all persons, however it uses the the otherpersonuid param \n         * in the WHERE clauses to narrow down the search. \n         */\n        WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given to the active\n               * user for their enrolment role in that course\n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                              AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = ?\n                WHERE ? != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ?\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                              AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = ?\n                WHERE ? != 0\n                  AND CoursePermission.cpToPersonUid = ?)\n                  \n        SELECT (    (SELECT ? = ?)\n                 OR EXISTS(SELECT 1\n                             FROM PersonParentJoin\n                            WHERE PersonParentJoin.ppjMinorPersonUid = ?\n                              AND PersonParentJoin.ppjParentPersonUid = ?)\n                 OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            8192\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                 OR (SELECT ? IN \n                             (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                 FROM CanViewPersonUidsViaCoursePermission))           \n               ) AS hasViewPermission,\n               \n               (   (SELECT ? = ?)\n                OR EXISTS(SELECT 1\n                             FROM PersonParentJoin\n                            WHERE PersonParentJoin.ppjMinorPersonUid = ?\n                              AND PersonParentJoin.ppjParentPersonUid = ?)\n                OR (SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n     \n                            32768\n                            \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                ) AS hasEditPermission\n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.khp_1.hhm_1, tmp_0, SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda$slambda_0(this.lhp_1, this.mhp_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda(this.khp_1, this.lhp_1, this.mhp_1, completion);
  };
  function SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda_0(this$0, $otherPersonUid, $accountPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda(this$0, $otherPersonUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.nhp($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_JdbcImpl(_db) {
    SystemPermissionDao.call(this);
    this.hhm_1 = _db;
    var tmp = this;
    tmp.ihm_1 = new SystemPermissionDao_JdbcImpl$_insertAdapterSystemPermission_upsert$1(this);
  }
  protoOf(SystemPermissionDao_JdbcImpl).qhj = function (systemPermissions, $completion) {
    return this.ihm_1.a5n(systemPermissions, $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl).jhj = function (accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['SystemPermission'];
    return doorFlow(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$findByPersonUidAsFlow$slambda_0(this, accountPersonUid, null));
  };
  protoOf(SystemPermissionDao_JdbcImpl).khj = function (accountPersonUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT SystemPermission.*\n          FROM SystemPermission\n         WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n         LIMIT 1\n    ', VOID, VOID, VOID, '\n        SELECT SystemPermission.*\n          FROM SystemPermission\n         WHERE SystemPermission.spToPersonUid = ?\n         LIMIT 1\n    \n', true);
    return prepareAndUseStatementAsync(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$findByPersonUid$slambda_0(accountPersonUid, null), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl).lhj = function (accountPersonUid, permission, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          CAST(? AS BIGINT)\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    ', VOID, VOID, VOID, '\n        SELECT \n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n          ?\n        \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n      \n    \n', true);
    return prepareAndUseStatementAsync(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$personHasSystemPermission$slambda_0(accountPersonUid, permission, null), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl).mhj = function (accountPersonUid, permission) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['SystemPermission'];
    return doorFlow(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$personHasSystemPermissionAsFlow$slambda_0(this, accountPersonUid, permission, null));
  };
  protoOf(SystemPermissionDao_JdbcImpl).nhj = function (accountPersonUid, firstPermission, secondPermission) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['SystemPermission'];
    return doorFlow(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPairAsFlow$slambda_0(this, accountPersonUid, firstPermission, secondPermission, null));
  };
  protoOf(SystemPermissionDao_JdbcImpl).ohj = function (accountPersonUid, firstPermission, secondPermission, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                CAST(? AS BIGINT)\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as firstPermission,\n                (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE CAST(? AS BIGINT) != 0 \n                  AND SystemPermission.spToPersonUid = CAST(? AS BIGINT)\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                CAST(? AS BIGINT)\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as secondPermission\n    ', VOID, VOID, VOID, '\n        SELECT (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                ?\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as firstPermission,\n                (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE ? != 0 \n                  AND SystemPermission.spToPersonUid = ?\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                ?\n                \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    ) as secondPermission\n    \n', true);
    return prepareAndUseStatementAsync(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$personHasSystemPermissionPair$slambda_0(accountPersonUid, firstPermission, secondPermission, null), $completion);
  };
  protoOf(SystemPermissionDao_JdbcImpl).phj = function (accountPersonUid, otherPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['PersonParentJoin', 'SystemPermission', 'ClazzEnrolment', 'CoursePermission'];
    return doorFlow(this.hhm_1, tmp, SystemPermissionDao_JdbcImpl$personHasEditAndViewPermissionForPersonAsFlow$slambda_0(this, otherPersonUid, accountPersonUid, null));
  };
  function SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda(this$0, $accountPersonUid, resultContinuation) {
    this.whp_1 = this$0;
    this.xhp_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.yhp_1 = this.whp_1.hhq_1;
            var tmp_1 = this;
            tmp_1.zhp_1 = 'SystemPermissionDao/findByPersonUidAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ahq_1 = this.whp_1.jhq_1;
            var tmp_3 = this;
            tmp_3.bhq_1 = this.ahq_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.whp_1.hhq_1.a3d(), 'SystemPermissionDao/findByPersonUidAsFlow');
            doorNodeIdHeader(this_0, this.whp_1.hhq_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.whp_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.xhp_1));
            tmp_4.chq_1 = this_0;
            this.chq_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.dhq_1 = this.bhq_1;
            var tmp_6 = this;
            tmp_6.ehq_1 = this.chq_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ehq_1, this.dhq_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.fhq_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.whp_1.ghq_1, this.fhq_1, this.whp_1.hhq_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda$lambda(this.yhp_1, this.zhp_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda(this.whp_1, this.xhp_1, completion);
  };
  function SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda_0(this$0, $accountPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda(this$0, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_Repo$personHasSystemPermission$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda(this$0, $accountPersonUid, $permission, resultContinuation) {
    this.vhq_1 = this$0;
    this.whq_1 = $accountPersonUid;
    this.xhq_1 = $permission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.yhq_1 = this.vhq_1.hhq_1;
            var tmp_1 = this;
            tmp_1.zhq_1 = 'SystemPermissionDao/personHasSystemPermissionAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ahr_1 = this.vhq_1.jhq_1;
            var tmp_3 = this;
            tmp_3.bhr_1 = this.ahr_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.vhq_1.hhq_1.a3d(), 'SystemPermissionDao/personHasSystemPermissionAsFlow');
            doorNodeIdHeader(this_0, this.vhq_1.hhq_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.vhq_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.whq_1));
            parameter(this_0, 'permission', this.vhq_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.xhq_1));
            tmp_4.chr_1 = this_0;
            this.chr_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.dhr_1 = this.bhr_1;
            var tmp_6 = this;
            tmp_6.ehr_1 = this.chr_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ehr_1, this.dhr_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.fhr_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.vhq_1.ghq_1, this.fhr_1, this.vhq_1.hhq_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda$lambda(this.yhq_1, this.zhq_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda(this.vhq_1, this.whq_1, this.xhq_1, completion);
  };
  function SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda_0(this$0, $accountPersonUid, $permission, resultContinuation) {
    var i = new SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda(this$0, $accountPersonUid, $permission, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda(this$0, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    this.ohr_1 = this$0;
    this.phr_1 = $accountPersonUid;
    this.qhr_1 = $firstPermission;
    this.rhr_1 = $secondPermission;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.shr_1 = this.ohr_1.hhq_1;
            var tmp_1 = this;
            tmp_1.thr_1 = 'SystemPermissionDao/personHasSystemPermissionPairAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.uhr_1 = this.ohr_1.jhq_1;
            var tmp_3 = this;
            tmp_3.vhr_1 = this.uhr_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ohr_1.hhq_1.a3d(), 'SystemPermissionDao/personHasSystemPermissionPairAsFlow');
            doorNodeIdHeader(this_0, this.ohr_1.hhq_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.ohr_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.phr_1));
            parameter(this_0, 'firstPermission', this.ohr_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qhr_1));
            parameter(this_0, 'secondPermission', this.ohr_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.rhr_1));
            tmp_4.whr_1 = this_0;
            this.whr_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.xhr_1 = this.vhr_1;
            var tmp_6 = this;
            tmp_6.yhr_1 = this.whr_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.yhr_1, this.xhr_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.zhr_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ohr_1.ghq_1, this.zhr_1, this.ohr_1.hhq_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda$lambda(this.shr_1, this.thr_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda(this.ohr_1, this.phr_1, this.qhr_1, this.rhr_1, completion);
  };
  function SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda_0(this$0, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation) {
    var i = new SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda(this$0, $accountPersonUid, $firstPermission, $secondPermission, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_Repo$personHasSystemPermissionPair$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda(this$0, $accountPersonUid, $otherPersonUid, resultContinuation) {
    this.ihs_1 = this$0;
    this.jhs_1 = $accountPersonUid;
    this.khs_1 = $otherPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.lhs_1 = this.ihs_1.hhq_1;
            var tmp_1 = this;
            tmp_1.mhs_1 = 'SystemPermissionDao/personHasEditAndViewPermissionForPersonAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.nhs_1 = this.ihs_1.jhq_1;
            var tmp_3 = this;
            tmp_3.ohs_1 = this.nhs_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.ihs_1.hhq_1.a3d(), 'SystemPermissionDao/personHasEditAndViewPermissionForPersonAsFlow');
            doorNodeIdHeader(this_0, this.ihs_1.hhq_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.ihs_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jhs_1));
            parameter(this_0, 'otherPersonUid', this.ihs_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.khs_1));
            tmp_4.phs_1 = this_0;
            this.phs_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.qhs_1 = this.ohs_1;
            var tmp_6 = this;
            tmp_6.rhs_1 = this.phs_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.rhs_1, this.qhs_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.shs_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.ihs_1.ghq_1, this.shs_1, this.ihs_1.hhq_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda$lambda(this.lhs_1, this.mhs_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda).q7e = function (completion) {
    return new SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda(this.ihs_1, this.jhs_1, this.khs_1, completion);
  };
  function SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda_0(this$0, $accountPersonUid, $otherPersonUid, resultContinuation) {
    var i = new SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda(this$0, $accountPersonUid, $otherPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function SystemPermissionDao_Repo$upsertAsync$slambda(this$0, $systemPermissions, resultContinuation) {
    this.bht_1 = this$0;
    this.cht_1 = $systemPermissions;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(SystemPermissionDao_Repo$upsertAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo$upsertAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(SystemPermissionDao_Repo$upsertAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.bht_1.ihq_1.qhj(this.cht_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(SystemPermissionDao_Repo$upsertAsync$slambda).q7e = function (completion) {
    return new SystemPermissionDao_Repo$upsertAsync$slambda(this.bht_1, this.cht_1, completion);
  };
  function SystemPermissionDao_Repo$upsertAsync$slambda_0(this$0, $systemPermissions, resultContinuation) {
    var i = new SystemPermissionDao_Repo$upsertAsync$slambda(this$0, $systemPermissions, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findByPersonUidCOROUTINE$405(_this__u8e3s4, accountPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.lht_1 = _this__u8e3s4;
    this.mht_1 = accountPersonUid;
  }
  protoOf($findByPersonUidCOROUTINE$405).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.lht_1.ihq_1.khj(this.mht_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $personHasSystemPermissionCOROUTINE$406(_this__u8e3s4, accountPersonUid, permission, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.vht_1 = _this__u8e3s4;
    this.wht_1 = accountPersonUid;
    this.xht_1 = permission;
  }
  protoOf($personHasSystemPermissionCOROUTINE$406).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.yht_1 = this.vht_1.hhq_1;
            var tmp_1 = this;
            tmp_1.zht_1 = 'SystemPermissionDao/personHasSystemPermission';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.ahu_1 = this.vht_1.jhq_1;
            var tmp_3 = this;
            tmp_3.bhu_1 = this.ahu_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.vht_1.hhq_1.a3d(), 'SystemPermissionDao/personHasSystemPermission');
            doorNodeIdHeader(this_0, this.vht_1.hhq_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.vht_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.wht_1));
            parameter(this_0, 'permission', this.vht_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.xht_1));
            tmp_4.chu_1 = this_0;
            this.chu_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.dhu_1 = this.bhu_1;
            var tmp_6 = this;
            tmp_6.ehu_1 = this.chu_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.ehu_1, this.dhu_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.fhu_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.vht_1.ghq_1, this.fhu_1, this.vht_1.hhq_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.ghu_1 = this.kd_1;
              Napier_getInstance().i5k(this.ghu_1, 'DoorLog', SystemPermissionDao_Repo$personHasSystemPermission$lambda(this.yht_1, this.zht_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.vht_1.ihq_1.lhj(this.wht_1, this.xht_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $personHasSystemPermissionPairCOROUTINE$407(_this__u8e3s4, accountPersonUid, firstPermission, secondPermission, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.phu_1 = _this__u8e3s4;
    this.qhu_1 = accountPersonUid;
    this.rhu_1 = firstPermission;
    this.shu_1 = secondPermission;
  }
  protoOf($personHasSystemPermissionPairCOROUTINE$407).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            var tmp_0 = this;
            tmp_0.thu_1 = this.phu_1.hhq_1;
            var tmp_1 = this;
            tmp_1.uhu_1 = 'SystemPermissionDao/personHasSystemPermissionPair';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.vhu_1 = this.phu_1.jhq_1;
            var tmp_3 = this;
            tmp_3.whu_1 = this.vhu_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.phu_1.hhq_1.a3d(), 'SystemPermissionDao/personHasSystemPermissionPair');
            doorNodeIdHeader(this_0, this.phu_1.hhq_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'accountPersonUid', this.phu_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.qhu_1));
            parameter(this_0, 'firstPermission', this.phu_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.rhu_1));
            parameter(this_0, 'secondPermission', this.phu_1.hhq_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.shu_1));
            tmp_4.xhu_1 = this_0;
            this.xhu_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.yhu_1 = this.whu_1;
            var tmp_6 = this;
            tmp_6.zhu_1 = this.xhu_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.zhu_1, this.yhu_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.ahv_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.phu_1.ghq_1, this.ahv_1, this.phu_1.hhq_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 6;
            this.hd_1 = 4;
            continue $sm;
          case 3:
            this.id_1 = 6;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              this.bhv_1 = this.kd_1;
              Napier_getInstance().i5k(this.bhv_1, 'DoorLog', SystemPermissionDao_Repo$personHasSystemPermissionPair$lambda(this.thu_1, this.uhu_1));
              this.hd_1 = 4;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            this.id_1 = 6;
            this.hd_1 = 5;
            suspendResult = this.phu_1.ihq_1.ohj(this.qhu_1, this.rhu_1, this.shu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            var _result = suspendResult;
            return _result;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function SystemPermissionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    SystemPermissionDao.call(this);
    this.ghq_1 = _db;
    this.hhq_1 = _repo;
    this.ihq_1 = _dao;
    this.jhq_1 = _httpClient;
    this.khq_1 = _clientId;
    this.lhq_1 = _endpoint;
    this.mhq_1 = new RepoDaoFlowHelper(this.hhq_1);
  }
  protoOf(SystemPermissionDao_Repo).jhj = function (accountPersonUid) {
    var tmp = this.ihq_1.jhj(accountPersonUid);
    return this.mhq_1.t6d(tmp, SystemPermissionDao_Repo$findByPersonUidAsFlow$slambda_0(this, accountPersonUid, null));
  };
  protoOf(SystemPermissionDao_Repo).khj = function (accountPersonUid, $completion) {
    var tmp = new $findByPersonUidCOROUTINE$405(this, accountPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo).lhj = function (accountPersonUid, permission, $completion) {
    var tmp = new $personHasSystemPermissionCOROUTINE$406(this, accountPersonUid, permission, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo).mhj = function (accountPersonUid, permission) {
    var tmp = this.ihq_1.mhj(accountPersonUid, permission);
    return this.mhq_1.t6d(tmp, SystemPermissionDao_Repo$personHasSystemPermissionAsFlow$slambda_0(this, accountPersonUid, permission, null));
  };
  protoOf(SystemPermissionDao_Repo).nhj = function (accountPersonUid, firstPermission, secondPermission) {
    var tmp = this.ihq_1.nhj(accountPersonUid, firstPermission, secondPermission);
    return this.mhq_1.t6d(tmp, SystemPermissionDao_Repo$personHasSystemPermissionPairAsFlow$slambda_0(this, accountPersonUid, firstPermission, secondPermission, null));
  };
  protoOf(SystemPermissionDao_Repo).ohj = function (accountPersonUid, firstPermission, secondPermission, $completion) {
    var tmp = new $personHasSystemPermissionPairCOROUTINE$407(this, accountPersonUid, firstPermission, secondPermission, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(SystemPermissionDao_Repo).phj = function (accountPersonUid, otherPersonUid) {
    var tmp = this.ihq_1.phj(accountPersonUid, otherPersonUid);
    return this.mhq_1.t6d(tmp, SystemPermissionDao_Repo$personHasEditAndViewPermissionForPersonAsFlow$slambda_0(this, accountPersonUid, otherPersonUid, null));
  };
  protoOf(SystemPermissionDao_Repo).qhj = function (systemPermissions, $completion) {
    return withRepoChangeMonitorAsync(this.hhq_1, 'SystemPermission', SystemPermissionDao_Repo$upsertAsync$slambda_0(this, systemPermissions, null), $completion);
  };
  function TransferJobDao() {
  }
  function TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_totalSize = $_result.d5t('totalSize');
      var _tmp_transferred = $_result.d5t('transferred');
      var _tmp_latestErrorStr = $_result.rz('latestErrorStr');
      var _tmp_TransferJob_nullCount = 0;
      var _tmp_tjUid = $_result.c5t('tjUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_tjType = $_result.c5t('tjType');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_tjStatus = $_result.c5t('tjStatus');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_tjName = $_result.rz('tjName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_tjUuid = $_result.rz('tjUuid');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_tjTableId = $_result.c5t('tjTableId');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_tjEntityUid = $_result.d5t('tjEntityUid');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_tjTimeCreated = $_result.d5t('tjTimeCreated');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_tjCreationType = $_result.c5t('tjCreationType');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_tjOiUid = $_result.d5t('tjOiUid');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_TransferJob_nullCount = _tmp_TransferJob_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_TransferJob_isAllNull = _tmp_TransferJob_nullCount === 10;
      // Inline function 'kotlin.apply' call
      var this_0 = new TransferJobAndTotals();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.TransferJobDao_JdbcImpl.findByContentEntryUidWithTotalsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.gfj_1 = _tmp_totalSize;
      this_0.hfj_1 = _tmp_transferred;
      this_0.ifj_1 = _tmp_latestErrorStr;
      if (!_tmp_TransferJob_isAllNull) {
        var tmp_9 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new TransferJob();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.TransferJobDao_JdbcImpl.findByContentEntryUidWithTotalsAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.jfj_1 = _tmp_tjUid;
        this_1.kfj_1 = _tmp_tjType;
        this_1.lfj_1 = _tmp_tjStatus;
        this_1.mfj_1 = _tmp_tjName;
        this_1.nfj_1 = _tmp_tjUuid;
        this_1.ofj_1 = _tmp_tjTableId;
        this_1.pfj_1 = _tmp_tjEntityUid;
        this_1.qfj_1 = _tmp_tjTimeCreated;
        this_1.rfj_1 = _tmp_tjCreationType;
        this_1.sfj_1 = _tmp_tjOiUid;
        tmp_9.ffj_1 = this_1;
      }
      return this_0;
    };
  }
  function TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda($contentEntryUid, $jobType, resultContinuation) {
    this.nhv_1 = $contentEntryUid;
    this.ohv_1 = $jobType;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda).qhv = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.qhv((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.phv_1.a5o(1, this.nhv_1);
            this.phv_1.z5n(2, this.ohv_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.phv_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda(this.nhv_1, this.ohv_1, completion);
    i.phv_1 = _stmt;
    return i;
  };
  function TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda_0($contentEntryUid, $jobType, resultContinuation) {
    var i = new TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda($contentEntryUid, $jobType, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.qhv(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function TransferJobDao_JdbcImpl$_insertAdapterTransferJob_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.rhv_1);
  }
  protoOf(TransferJobDao_JdbcImpl$_insertAdapterTransferJob_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO TransferJob (tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(TransferJobDao_JdbcImpl$_insertAdapterTransferJob_abort$1).vhv = function (stmt, entity) {
    if (entity.jfj_1 === 0) {
      stmt.f5o(1, null);
    } else {
      stmt.z5n(1, entity.jfj_1);
    }
    stmt.z5n(2, entity.kfj_1);
    stmt.z5n(3, entity.lfj_1);
    stmt.d5o(4, entity.mfj_1);
    stmt.d5o(5, entity.nfj_1);
    stmt.z5n(6, entity.ofj_1);
    stmt.a5o(7, entity.pfj_1);
    stmt.a5o(8, entity.qfj_1);
    stmt.z5n(9, entity.rfj_1);
    stmt.a5o(10, entity.sfj_1);
  };
  protoOf(TransferJobDao_JdbcImpl$_insertAdapterTransferJob_abort$1).u5l = function (stmt, entity) {
    return this.vhv(stmt, entity instanceof TransferJob ? entity : THROW_CCE());
  };
  function TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda($jobUid, resultContinuation) {
    this.ehw_1 = $jobUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fhw_1.z5n(1, this.ehw_1);
            this.fhw_1.z5n(2, this.ehw_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.fhw_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda).r5l = function (_stmt, completion) {
    var i = new TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda(this.ehw_1, completion);
    i.fhw_1 = _stmt;
    return i;
  };
  function TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda_0($jobUid, resultContinuation) {
    var i = new TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda($jobUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda(this$0, $contentEntryUid, $jobType, resultContinuation) {
    this.ohw_1 = this$0;
    this.phw_1 = $contentEntryUid;
    this.qhw_1 = $jobType;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda).rhw = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda).r7e = function ($completion) {
    return this.rhw($completion);
  };
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        SELECT TransferJob.*,\n               \n        (SELECT SUM(TransferJobItem.tjTotalSize)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS totalSize,\n                (SELECT SUM(TransferJobItem.tjTransferred)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS transferred \n    ,\n               TransferJobError.tjeErrorStr AS latestErrorStr\n          FROM TransferJob\n               LEFT JOIN TransferJobError\n                         ON TransferJobError.tjeId = \n                            (SELECT TransferJobError.tjeId\n                               FROM TransferJobError\n                              WHERE TransferJob.tjStatus = 22\n                                AND TransferJobError.tjeTjUid = TransferJob.tjUid\n                           ORDER BY TransferJobError.tjeDismissed DESC \n                              LIMIT 1)\n         WHERE TransferJob.tjTableId = 738\n           AND TransferJob.tjEntityUid IN \n               \n        (SELECT ContentEntryVersion.cevUid\n                         FROM ContentEntryVersion\n                        WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT))\n     \n           AND (   TransferJob.tjStatus < 21\n                OR (TransferJobError.tjeErrorStr IS NOT NULL AND NOT TransferJobError.tjeDismissed))\n           AND TransferJob.tjType = ?   \n    ', VOID, VOID, VOID, '\n        SELECT TransferJob.*,\n               \n        (SELECT SUM(TransferJobItem.tjTotalSize)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS totalSize,\n                (SELECT SUM(TransferJobItem.tjTransferred)\n                   FROM TransferJobItem\n                  WHERE TransferJobItem.tjiTjUid =  TransferJob.tjUid) AS transferred \n    ,\n               TransferJobError.tjeErrorStr AS latestErrorStr\n          FROM TransferJob\n               LEFT JOIN TransferJobError\n                         ON TransferJobError.tjeId = \n                            (SELECT TransferJobError.tjeId\n                               FROM TransferJobError\n                              WHERE TransferJob.tjStatus = 22\n                                AND TransferJobError.tjeTjUid = TransferJob.tjUid\n                           ORDER BY TransferJobError.tjeDismissed DESC \n                              LIMIT 1)\n         WHERE TransferJob.tjTableId = 738\n           AND TransferJob.tjEntityUid IN \n               \n        (SELECT ContentEntryVersion.cevUid\n                         FROM ContentEntryVersion\n                        WHERE ContentEntryVersion.cevContentEntryUid = ?)\n     \n           AND (   TransferJob.tjStatus < 21\n                OR (TransferJobError.tjeErrorStr IS NOT NULL AND NOT TransferJobError.tjeDismissed))\n           AND TransferJob.tjType = ?   \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.ohw_1.rhv_1, tmp_0, TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda$slambda_0(this.phw_1, this.qhw_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda).q7e = function (completion) {
    return new TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda(this.ohw_1, this.phw_1, this.qhw_1, completion);
  };
  function TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda_0(this$0, $contentEntryUid, $jobType, resultContinuation) {
    var i = new TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda(this$0, $contentEntryUid, $jobType, resultContinuation);
    var l = function ($completion) {
      return i.rhw($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertCOROUTINE$408(_this__u8e3s4, job, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ahx_1 = _this__u8e3s4;
    this.bhx_1 = job;
  }
  protoOf($insertCOROUTINE$408).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ahx_1.shv_1.b5n(this.bhx_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function TransferJobDao_JdbcImpl(_db) {
    TransferJobDao.call(this);
    this.rhv_1 = _db;
    var tmp = this;
    tmp.shv_1 = new TransferJobDao_JdbcImpl$_insertAdapterTransferJob_abort$1(this);
  }
  protoOf(TransferJobDao_JdbcImpl).chv = function (job, $completion) {
    var tmp = new $insertCOROUTINE$408(this, job, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobDao_JdbcImpl).dhv = function (jobUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        UPDATE TransferJob\n           SET tjStatus = 21\n         WHERE tjUid = ?\n          AND NOT EXISTS(\n              SELECT TransferJobItem.tjiUid\n                FROM TransferJobItem\n               WHERE TransferJobItem.tjiTjUid = ?\n                 AND TransferJobItem.tjiStatus != 21) \n    ', VOID, VOID, VOID, VOID, false);
    return prepareAndUseStatementAsync(this.rhv_1, tmp, TransferJobDao_JdbcImpl$updateStatusIfComplete$slambda_0(jobUid, null), $completion);
  };
  protoOf(TransferJobDao_JdbcImpl).ehv = function (contentEntryUid, jobType) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ContentEntryVersion', 'TransferJobItem', 'TransferJobError', 'TransferJob'];
    return doorFlow(this.rhv_1, tmp, TransferJobDao_JdbcImpl$findByContentEntryUidWithTotalsAsFlow$slambda_0(this, contentEntryUid, jobType, null));
  };
  function TransferJobErrorDao() {
  }
  function TransferJobErrorDao_JdbcImpl$_insertAdapterTransferJobError_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.chx_1);
  }
  protoOf(TransferJobErrorDao_JdbcImpl$_insertAdapterTransferJobError_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO TransferJobError (tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed) VALUES(?, ?, ?, ?, ?)';
  };
  protoOf(TransferJobErrorDao_JdbcImpl$_insertAdapterTransferJobError_abort$1).ghx = function (stmt, entity) {
    if (entity.hhx_1 === 0) {
      stmt.f5o(1, null);
    } else {
      stmt.z5n(1, entity.hhx_1);
    }
    stmt.z5n(2, entity.ihx_1);
    stmt.a5o(3, entity.jhx_1);
    stmt.d5o(4, entity.khx_1);
    stmt.n5n(5, entity.lhx_1);
  };
  protoOf(TransferJobErrorDao_JdbcImpl$_insertAdapterTransferJobError_abort$1).u5l = function (stmt, entity) {
    return this.ghx(stmt, entity instanceof TransferJobError ? entity : THROW_CCE());
  };
  function TransferJobErrorDao_JdbcImpl(_db) {
    TransferJobErrorDao.call(this);
    this.chx_1 = _db;
    var tmp = this;
    tmp.dhx_1 = new TransferJobErrorDao_JdbcImpl$_insertAdapterTransferJobError_abort$1(this);
  }
  function TransferJobItemDao() {
  }
  function TransferJobItemDao_JdbcImpl$_insertAdapterTransferJobItem_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.rhx_1);
  }
  protoOf(TransferJobItemDao_JdbcImpl$_insertAdapterTransferJobItem_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO TransferJobItem (tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(TransferJobItemDao_JdbcImpl$_insertAdapterTransferJobItem_abort$1).vhx = function (stmt, entity) {
    if (entity.nc3_1 === 0) {
      stmt.f5o(1, null);
    } else {
      stmt.z5n(1, entity.nc3_1);
    }
    stmt.z5n(2, entity.oc3_1);
    stmt.a5o(3, entity.pc3_1);
    stmt.a5o(4, entity.qc3_1);
    stmt.z5n(5, entity.rc3_1);
    stmt.d5o(6, entity.sc3_1);
    stmt.d5o(7, entity.tc3_1);
    stmt.z5n(8, entity.uc3_1);
    stmt.z5n(9, entity.vc3_1);
    stmt.z5n(10, entity.wc3_1);
    stmt.a5o(11, entity.xc3_1);
    stmt.a5o(12, entity.yc3_1);
    stmt.a5o(13, entity.zc3_1);
    stmt.d5o(14, entity.ac4_1);
  };
  protoOf(TransferJobItemDao_JdbcImpl$_insertAdapterTransferJobItem_abort$1).u5l = function (stmt, entity) {
    return this.vhx(stmt, entity instanceof TransferJobItem ? entity : THROW_CCE());
  };
  function TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda($transferred, $jobItemUid, resultContinuation) {
    this.ehy_1 = $transferred;
    this.fhy_1 = $jobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ghy_1.a5o(1, this.ehy_1);
            this.ghy_1.z5n(2, this.fhy_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.ghy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda).r5l = function (_stmt, completion) {
    var i = new TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda(this.ehy_1, this.fhy_1, completion);
    i.ghy_1 = _stmt;
    return i;
  };
  function TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda_0($transferred, $jobItemUid, resultContinuation) {
    var i = new TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda($transferred, $jobItemUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function TransferJobItemDao_JdbcImpl$updateStatus$slambda($status, $jobItemUid, resultContinuation) {
    this.phy_1 = $status;
    this.qhy_1 = $jobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobItemDao_JdbcImpl$updateStatus$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateStatus$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateStatus$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.rhy_1.z5n(1, this.phy_1);
            this.rhy_1.z5n(2, this.qhy_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.rhy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateStatus$slambda).r5l = function (_stmt, completion) {
    var i = new TransferJobItemDao_JdbcImpl$updateStatus$slambda(this.phy_1, this.qhy_1, completion);
    i.rhy_1 = _stmt;
    return i;
  };
  function TransferJobItemDao_JdbcImpl$updateStatus$slambda_0($status, $jobItemUid, resultContinuation) {
    var i = new TransferJobItemDao_JdbcImpl$updateStatus$slambda($status, $jobItemUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda($destNodeId, $transferJobItemUid, resultContinuation) {
    this.ahz_1 = $destNodeId;
    this.bhz_1 = $transferJobItemUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.chz_1.a5o(1, this.ahz_1);
            this.chz_1.z5n(2, this.bhz_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.chz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda).r5l = function (_stmt, completion) {
    var i = new TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda(this.ahz_1, this.bhz_1, completion);
    i.chz_1 = _stmt;
    return i;
  };
  function TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda_0($destNodeId, $transferJobItemUid, resultContinuation) {
    var i = new TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda($destNodeId, $transferJobItemUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda($status, $jobUid, resultContinuation) {
    this.lhz_1 = $status;
    this.mhz_1 = $jobUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.nhz_1.z5n(1, this.lhz_1);
            this.nhz_1.z5n(2, this.mhz_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.nhz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda).r5l = function (_stmt, completion) {
    var i = new TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda(this.lhz_1, this.mhz_1, completion);
    i.nhz_1 = _stmt;
    return i;
  };
  function TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda_0($status, $jobUid, resultContinuation) {
    var i = new TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda($status, $jobUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertCOROUTINE$411(_this__u8e3s4, item, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.whz_1 = _this__u8e3s4;
    this.xhz_1 = item;
  }
  protoOf($insertCOROUTINE$411).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.whz_1.shx_1.b5n(this.xhz_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateTransferredProgressCOROUTINE$412(_this__u8e3s4, jobItemUid, transferred, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gi0_1 = _this__u8e3s4;
    this.hi0_1 = jobItemUid;
    this.ii0_1 = transferred;
  }
  protoOf($updateTransferredProgressCOROUTINE$412).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE TransferJobItem\n           SET tjTransferred = CAST(? AS BIGINT)\n         WHERE tjiUid = ?\n    ', VOID, VOID, VOID, '\n        UPDATE TransferJobItem\n           SET tjTransferred = ?\n         WHERE tjiUid = ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.gi0_1.rhx_1, tmp_0, TransferJobItemDao_JdbcImpl$updateTransferredProgress$slambda_0(this.ii0_1, this.hi0_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateStatusCOROUTINE$413(_this__u8e3s4, jobItemUid, status, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ri0_1 = _this__u8e3s4;
    this.si0_1 = jobItemUid;
    this.ti0_1 = status;
  }
  protoOf($updateStatusCOROUTINE$413).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE TransferJobItem\n           SET tjiStatus = ?\n         WHERE tjiUid = ?  \n    ', VOID, VOID, VOID, VOID, false);
            suspendResult = prepareAndUseStatementAsync(this.ri0_1.rhx_1, tmp_0, TransferJobItemDao_JdbcImpl$updateStatus$slambda_0(this.ti0_1, this.si0_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $insertOutgoingReplicationForTransferJobItemIfDoneCOROUTINE$414(_this__u8e3s4, destNodeId, transferJobItemUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ci1_1 = _this__u8e3s4;
    this.di1_1 = destNodeId;
    this.ei1_1 = transferJobItemUid;
  }
  protoOf($insertOutgoingReplicationForTransferJobItemIfDoneCOROUTINE$414).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2)\n        SELECT CAST(? AS BIGINT) AS destNodeId, \n              TransferJobItem.tjiTableId AS orTableId,\n              TransferJobItem.tjiEntityUid AS orPk1,\n              0 AS orPk2\n        FROM TransferJobItem\n       WHERE TransferJobItem.tjiUid = ?\n         AND TransferJobItem.tjiTableId != 0\n         AND TransferJobItem.tjiStatus = 21\n         AND NOT EXISTS(\n             SELECT OtherJob.tjiUid\n               FROM TransferJobItem OtherJob\n              WHERE OtherJob.tjiTableId = TransferJobItem.tjiTableId\n                AND OtherJob.tjiEntityUid = TransferJobItem.tjiEntityUid\n                AND OtherJob.tjiEntityEtag = TransferJobItem.tjiEntityEtag\n                AND OtherJob.tjiStatus != 21)\n    ', VOID, VOID, VOID, '\n        INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2)\n        SELECT ? AS destNodeId, \n              TransferJobItem.tjiTableId AS orTableId,\n              TransferJobItem.tjiEntityUid AS orPk1,\n              0 AS orPk2\n        FROM TransferJobItem\n       WHERE TransferJobItem.tjiUid = ?\n         AND TransferJobItem.tjiTableId != 0\n         AND TransferJobItem.tjiStatus = 21\n         AND NOT EXISTS(\n             SELECT OtherJob.tjiUid\n               FROM TransferJobItem OtherJob\n              WHERE OtherJob.tjiTableId = TransferJobItem.tjiTableId\n                AND OtherJob.tjiEntityUid = TransferJobItem.tjiEntityUid\n                AND OtherJob.tjiEntityEtag = TransferJobItem.tjiEntityEtag\n                AND OtherJob.tjiStatus != 21)\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.ci1_1.rhx_1, tmp_0, TransferJobItemDao_JdbcImpl$insertOutgoingReplicationForTransferJobItemIfDone$slambda_0(this.di1_1, this.ei1_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateStatusIfNotCompleteForAllInJobCOROUTINE$415(_this__u8e3s4, jobUid, status, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ni1_1 = _this__u8e3s4;
    this.oi1_1 = jobUid;
    this.pi1_1 = status;
  }
  protoOf($updateStatusIfNotCompleteForAllInJobCOROUTINE$415).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE TransferJobItem\n           SET tjiStatus = ?\n         WHERE tjiTjUid = ?\n           AND tjiStatus != 21 \n    ', VOID, VOID, VOID, VOID, false);
            suspendResult = prepareAndUseStatementAsync(this.ni1_1.rhx_1, tmp_0, TransferJobItemDao_JdbcImpl$updateStatusIfNotCompleteForAllInJob$slambda_0(this.pi1_1, this.oi1_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function TransferJobItemDao_JdbcImpl(_db) {
    TransferJobItemDao.call(this);
    this.rhx_1 = _db;
    var tmp = this;
    tmp.shx_1 = new TransferJobItemDao_JdbcImpl$_insertAdapterTransferJobItem_abort$1(this);
  }
  protoOf(TransferJobItemDao_JdbcImpl).mhx = function (item, $completion) {
    var tmp = new $insertCOROUTINE$411(this, item, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl).nhx = function (jobItemUid, transferred, $completion) {
    var tmp = new $updateTransferredProgressCOROUTINE$412(this, jobItemUid, transferred, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl).ohx = function (jobItemUid, status, $completion) {
    var tmp = new $updateStatusCOROUTINE$413(this, jobItemUid, status, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl).phx = function (destNodeId, transferJobItemUid, $completion) {
    var tmp = new $insertOutgoingReplicationForTransferJobItemIfDoneCOROUTINE$414(this, destNodeId, transferJobItemUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(TransferJobItemDao_JdbcImpl).qhx = function (jobUid, status, $completion) {
    var tmp = new $updateStatusIfNotCompleteForAllInJobCOROUTINE$415(this, jobUid, status, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function UserSessionDao() {
  }
  function $insertSessionCOROUTINE$416(_this__u8e3s4, session, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.di2_1 = _this__u8e3s4;
    this.ei2_1 = session;
  }
  protoOf($insertSessionCOROUTINE$416).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            this.fi2_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.di2_1.hi2_1));
            if (this.ei2_1.ji2_1.equals(new Long(0, 0))) {
              this.hd_1 = 1;
              suspendResult = this.fi2_1.t68(679, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 2;
              continue $sm;
            }

          case 1:
            this.gi2_1 = suspendResult;
            this.ei2_1.ji2_1 = this.gi2_1;
            this.hd_1 = 2;
            continue $sm;
          case 2:
            this.ei2_1.ni2_1 = systemTimeInMillis();
            this.hd_1 = 3;
            suspendResult = this.di2_1.ii2_1.qi1(this.ei2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.ei2_1.ji2_1;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function UserSessionDao_DoorWrapper(_db, _dao) {
    UserSessionDao.call(this);
    this.hi2_1 = _db;
    this.ii2_1 = _dao;
  }
  protoOf(UserSessionDao_DoorWrapper).qi1 = function (session, $completion) {
    var tmp = new $insertSessionCOROUTINE$416(this, session, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_DoorWrapper).ri1 = function () {
    return this.ii2_1.ri1();
  };
  protoOf(UserSessionDao_DoorWrapper).si1 = function ($completion) {
    return this.ii2_1.si1($completion);
  };
  protoOf(UserSessionDao_DoorWrapper).ti1 = function (maxDateOfBirth, $completion) {
    return this.ii2_1.ti1(maxDateOfBirth, $completion);
  };
  protoOf(UserSessionDao_DoorWrapper).ui1 = function (sessionUid, newStatus, reason, endTime, $completion) {
    return this.ii2_1.ui1(sessionUid, newStatus, reason, endTime, $completion);
  };
  function UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda$lambda(_result) {
    return mapRows(_result, UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda$lambda$lambda(_result));
  }
  function UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      var _tmp_UserSession_nullCount = 0;
      var _tmp_usUid = $_result.d5t('usUid');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_usPcsn = $_result.d5t('usPcsn');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_usLcsn = $_result.d5t('usLcsn');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_usLcb = $_result.d5t('usLcb');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_usLct = $_result.d5t('usLct');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_usPersonUid = $_result.d5t('usPersonUid');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_usClientNodeId = $_result.d5t('usClientNodeId');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_usStartTime = $_result.d5t('usStartTime');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_usEndTime = $_result.d5t('usEndTime');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_usStatus = $_result.c5t('usStatus');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_usReason = $_result.c5t('usReason');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_usAuth = $_result.rz('usAuth');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_usSessionType = $_result.c5t('usSessionType');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_UserSession_isAllNull = _tmp_UserSession_nullCount === 13;
      // Inline function 'kotlin.apply' call
      var this_0 = new UserSessionAndPerson();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsLive.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_42 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsLive.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_42.wi2_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_43 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsLive.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_43.xi2_1 = this_2;
      }
      if (!_tmp_UserSession_isAllNull) {
        var tmp_44 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new UserSession();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsLive.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.ji2_1 = _tmp_usUid;
        this_3.ki2_1 = _tmp_usPcsn;
        this_3.li2_1 = _tmp_usLcsn;
        this_3.mi2_1 = _tmp_usLcb;
        this_3.ni2_1 = _tmp_usLct;
        this_3.oi2_1 = _tmp_usPersonUid;
        this_3.pi2_1 = _tmp_usClientNodeId;
        this_3.qi2_1 = _tmp_usStartTime;
        this_3.ri2_1 = _tmp_usEndTime;
        this_3.si2_1 = _tmp_usStatus;
        this_3.ti2_1 = _tmp_usReason;
        this_3.ui2_1 = _tmp_usAuth;
        this_3.vi2_1 = _tmp_usSessionType;
        tmp_44.yi2_1 = this_3;
      }
      return this_0;
    };
  }
  function UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda(resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda).ii3 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda).he = function (p1, $completion) {
    return this.ii3((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.hi3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda(completion);
    i.hi3_1 = _stmt;
    return i;
  };
  function UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda_0(resultContinuation) {
    var i = new UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda(resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ii3(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda$lambda(_result) {
    return mapRows(_result, UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda$lambda$lambda(_result));
  }
  function UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_Person_nullCount = 0;
      var _tmp_personUid = $_result.d5t('personUid');
      var tmp;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp = Unit_instance;
      }
      var _tmp_username = $_result.rz('username');
      var tmp_0;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_0 = Unit_instance;
      }
      var _tmp_firstNames = $_result.rz('firstNames');
      var tmp_1;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_1 = Unit_instance;
      }
      var _tmp_lastName = $_result.rz('lastName');
      var tmp_2;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_2 = Unit_instance;
      }
      var _tmp_emailAddr = $_result.rz('emailAddr');
      var tmp_3;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_3 = Unit_instance;
      }
      var _tmp_phoneNum = $_result.rz('phoneNum');
      var tmp_4;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_4 = Unit_instance;
      }
      var _tmp_gender = $_result.c5t('gender');
      var tmp_5;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_5 = Unit_instance;
      }
      var _tmp_active = $_result.o6c('active');
      var tmp_6;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_6 = Unit_instance;
      }
      var _tmp_dateOfBirth = $_result.d5t('dateOfBirth');
      var tmp_7;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_7 = Unit_instance;
      }
      var _tmp_personAddress = $_result.rz('personAddress');
      var tmp_8;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_8 = Unit_instance;
      }
      var _tmp_personOrgId = $_result.rz('personOrgId');
      var tmp_9;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_9 = Unit_instance;
      }
      var _tmp_personGroupUid = $_result.d5t('personGroupUid');
      var tmp_10;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_10 = Unit_instance;
      }
      var _tmp_personLct = $_result.d5t('personLct');
      var tmp_11;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_11 = Unit_instance;
      }
      var _tmp_personCountry = $_result.rz('personCountry');
      var tmp_12;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_12 = Unit_instance;
      }
      var _tmp_personType = $_result.c5t('personType');
      var tmp_13;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_13 = Unit_instance;
      }
      var _tmp_personMasterChangeSeqNum = $_result.d5t('personMasterChangeSeqNum');
      var tmp_14;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_14 = Unit_instance;
      }
      var _tmp_personLocalChangeSeqNum = $_result.d5t('personLocalChangeSeqNum');
      var tmp_15;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_15 = Unit_instance;
      }
      var _tmp_personLastChangedBy = $_result.c5t('personLastChangedBy');
      var tmp_16;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_16 = Unit_instance;
      }
      var _tmp_admin = $_result.o6c('admin');
      var tmp_17;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_17 = Unit_instance;
      }
      var _tmp_personNotes = $_result.rz('personNotes');
      var tmp_18;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_18 = Unit_instance;
      }
      var _tmp_fatherName = $_result.rz('fatherName');
      var tmp_19;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_19 = Unit_instance;
      }
      var _tmp_fatherNumber = $_result.rz('fatherNumber');
      var tmp_20;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_20 = Unit_instance;
      }
      var _tmp_motherName = $_result.rz('motherName');
      var tmp_21;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_21 = Unit_instance;
      }
      var _tmp_motherNum = $_result.rz('motherNum');
      var tmp_22;
      if ($_result.v6d()) {
        _tmp_Person_nullCount = _tmp_Person_nullCount + 1 | 0;
        tmp_22 = Unit_instance;
      }
      var _tmp_Person_isAllNull = _tmp_Person_nullCount === 24;
      var _tmp_PersonPicture_nullCount = 0;
      var _tmp_personPictureUid = $_result.d5t('personPictureUid');
      var tmp_23;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_23 = Unit_instance;
      }
      var _tmp_personPictureLct = $_result.d5t('personPictureLct');
      var tmp_24;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_24 = Unit_instance;
      }
      var _tmp_personPictureUri = $_result.rz('personPictureUri');
      var tmp_25;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_25 = Unit_instance;
      }
      var _tmp_personPictureThumbnailUri = $_result.rz('personPictureThumbnailUri');
      var tmp_26;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_26 = Unit_instance;
      }
      var _tmp_fileSize = $_result.c5t('fileSize');
      var tmp_27;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_27 = Unit_instance;
      }
      var _tmp_personPictureActive = $_result.o6c('personPictureActive');
      var tmp_28;
      if ($_result.v6d()) {
        _tmp_PersonPicture_nullCount = _tmp_PersonPicture_nullCount + 1 | 0;
        tmp_28 = Unit_instance;
      }
      var _tmp_PersonPicture_isAllNull = _tmp_PersonPicture_nullCount === 6;
      var _tmp_UserSession_nullCount = 0;
      var _tmp_usUid = $_result.d5t('usUid');
      var tmp_29;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_29 = Unit_instance;
      }
      var _tmp_usPcsn = $_result.d5t('usPcsn');
      var tmp_30;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_30 = Unit_instance;
      }
      var _tmp_usLcsn = $_result.d5t('usLcsn');
      var tmp_31;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_31 = Unit_instance;
      }
      var _tmp_usLcb = $_result.d5t('usLcb');
      var tmp_32;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_32 = Unit_instance;
      }
      var _tmp_usLct = $_result.d5t('usLct');
      var tmp_33;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_33 = Unit_instance;
      }
      var _tmp_usPersonUid = $_result.d5t('usPersonUid');
      var tmp_34;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_34 = Unit_instance;
      }
      var _tmp_usClientNodeId = $_result.d5t('usClientNodeId');
      var tmp_35;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_35 = Unit_instance;
      }
      var _tmp_usStartTime = $_result.d5t('usStartTime');
      var tmp_36;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_36 = Unit_instance;
      }
      var _tmp_usEndTime = $_result.d5t('usEndTime');
      var tmp_37;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_37 = Unit_instance;
      }
      var _tmp_usStatus = $_result.c5t('usStatus');
      var tmp_38;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_38 = Unit_instance;
      }
      var _tmp_usReason = $_result.c5t('usReason');
      var tmp_39;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_39 = Unit_instance;
      }
      var _tmp_usAuth = $_result.rz('usAuth');
      var tmp_40;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_40 = Unit_instance;
      }
      var _tmp_usSessionType = $_result.c5t('usSessionType');
      var tmp_41;
      if ($_result.v6d()) {
        _tmp_UserSession_nullCount = _tmp_UserSession_nullCount + 1 | 0;
        tmp_41 = Unit_instance;
      }
      var _tmp_UserSession_isAllNull = _tmp_UserSession_nullCount === 13;
      // Inline function 'kotlin.apply' call
      var this_0 = new UserSessionAndPerson();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      if (!_tmp_Person_isAllNull) {
        var tmp_42 = this_0;
        // Inline function 'kotlin.apply' call
        var this_1 = new Person();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_1.x9b_1 = _tmp_personUid;
        this_1.y9b_1 = _tmp_username;
        this_1.z9b_1 = _tmp_firstNames;
        this_1.a9c_1 = _tmp_lastName;
        this_1.b9c_1 = _tmp_emailAddr;
        this_1.c9c_1 = _tmp_phoneNum;
        this_1.d9c_1 = _tmp_gender;
        this_1.e9c_1 = _tmp_active;
        this_1.f9c_1 = _tmp_dateOfBirth;
        this_1.g9c_1 = _tmp_personAddress;
        this_1.h9c_1 = _tmp_personOrgId;
        this_1.i9c_1 = _tmp_personGroupUid;
        this_1.j9c_1 = _tmp_personLct;
        this_1.k9c_1 = _tmp_personCountry;
        this_1.l9c_1 = _tmp_personType;
        this_1.m9c_1 = _tmp_personMasterChangeSeqNum;
        this_1.n9c_1 = _tmp_personLocalChangeSeqNum;
        this_1.o9c_1 = _tmp_personLastChangedBy;
        this_1.p9c_1 = _tmp_admin;
        this_1.q9c_1 = _tmp_personNotes;
        this_1.r9c_1 = _tmp_fatherName;
        this_1.s9c_1 = _tmp_fatherNumber;
        this_1.t9c_1 = _tmp_motherName;
        this_1.u9c_1 = _tmp_motherNum;
        tmp_42.wi2_1 = this_1;
      }
      if (!_tmp_PersonPicture_isAllNull) {
        var tmp_43 = this_0;
        // Inline function 'kotlin.apply' call
        var this_2 = new PersonPicture();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_2.v9c_1 = _tmp_personPictureUid;
        this_2.w9c_1 = _tmp_personPictureLct;
        this_2.x9c_1 = _tmp_personPictureUri;
        this_2.y9c_1 = _tmp_personPictureThumbnailUri;
        this_2.z9c_1 = _tmp_fileSize;
        this_2.a9d_1 = _tmp_personPictureActive;
        tmp_43.xi2_1 = this_2;
      }
      if (!_tmp_UserSession_isAllNull) {
        var tmp_44 = this_0;
        // Inline function 'kotlin.apply' call
        var this_3 = new UserSession();
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'com.ustadmobile.core.db.dao.UserSessionDao_JdbcImpl.findAllLocalSessionsAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
        this_3.ji2_1 = _tmp_usUid;
        this_3.ki2_1 = _tmp_usPcsn;
        this_3.li2_1 = _tmp_usLcsn;
        this_3.mi2_1 = _tmp_usLcb;
        this_3.ni2_1 = _tmp_usLct;
        this_3.oi2_1 = _tmp_usPersonUid;
        this_3.pi2_1 = _tmp_usClientNodeId;
        this_3.qi2_1 = _tmp_usStartTime;
        this_3.ri2_1 = _tmp_usEndTime;
        this_3.si2_1 = _tmp_usStatus;
        this_3.ti2_1 = _tmp_usReason;
        this_3.ui2_1 = _tmp_usAuth;
        this_3.vi2_1 = _tmp_usSessionType;
        tmp_44.yi2_1 = this_3;
      }
      return this_0;
    };
  }
  function UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda$lambda(_result) {
    return mapNextRow(_result, 0, UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda$lambda$lambda(_result));
  }
  function UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.r5y(1);
    };
  }
  function UserSessionDao_JdbcImpl$_insertAdapterUserSession_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ji3_1);
  }
  protoOf(UserSessionDao_JdbcImpl$_insertAdapterUserSession_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(UserSessionDao_JdbcImpl$_insertAdapterUserSession_abort$1).ni3 = function (stmt, entity) {
    if (entity.ji2_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.ji2_1);
    }
    stmt.a5o(2, entity.ki2_1);
    stmt.a5o(3, entity.li2_1);
    stmt.a5o(4, entity.mi2_1);
    stmt.a5o(5, entity.ni2_1);
    stmt.a5o(6, entity.oi2_1);
    stmt.a5o(7, entity.pi2_1);
    stmt.a5o(8, entity.qi2_1);
    stmt.a5o(9, entity.ri2_1);
    stmt.z5n(10, entity.si2_1);
    stmt.z5n(11, entity.ti2_1);
    stmt.d5o(12, entity.ui2_1);
    stmt.z5n(13, entity.vi2_1);
  };
  protoOf(UserSessionDao_JdbcImpl$_insertAdapterUserSession_abort$1).u5l = function (stmt, entity) {
    return this.ni3(stmt, entity instanceof UserSession ? entity : THROW_CCE());
  };
  function UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda(this$0, resultContinuation) {
    this.wi3_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda).xi3 = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda).r7e = function ($completion) {
    return this.xi3($completion);
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n            SELECT UserSession.*, Person.*, PersonPicture.*\n              FROM UserSession\n                   JOIN Person \n                        ON Person.personUid = UserSession.usPersonUid\n                   LEFT JOIN PersonPicture\n                        ON PersonPicture.personPictureUid = UserSession.usPersonUid\n             WHERE UserSession.usClientNodeId = (\n                   SELECT COALESCE(\n                          (SELECT nodeClientId \n                            FROM SyncNode\n                           LIMIT 1), 0))\n               AND UserSession.usStatus = 1        \n               AND (UserSession.usSessionType & 8) != 8\n            ', VOID, VOID, VOID, VOID, true);
            suspendResult = prepareAndUseStatementAsync(this.wi3_1.ji3_1, tmp_0, UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda$slambda_0(null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda).q7e = function (completion) {
    return new UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda(this.wi3_1, completion);
  };
  function UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda_0(this$0, resultContinuation) {
    var i = new UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda(this$0, resultContinuation);
    var l = function ($completion) {
      return i.xi3($completion);
    };
    l.$arity = 0;
    return l;
  }
  function UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda(resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda).ii3 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda).he = function (p1, $completion) {
    return this.ii3((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.gi4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda).r5l = function (_stmt, completion) {
    var i = new UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda(completion);
    i.gi4_1 = _stmt;
    return i;
  };
  function UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda_0(resultContinuation) {
    var i = new UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda(resultContinuation);
    var l = function (_stmt, $completion) {
      return i.ii3(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda($maxDateOfBirth, resultContinuation) {
    this.pi4_1 = $maxDateOfBirth;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.qi4_1.a5o(1, this.pi4_1);
            this.qi4_1.a5o(2, this.pi4_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.qi4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda).r5l = function (_stmt, completion) {
    var i = new UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda(this.pi4_1, completion);
    i.qi4_1 = _stmt;
    return i;
  };
  function UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda_0($maxDateOfBirth, resultContinuation) {
    var i = new UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda($maxDateOfBirth, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function UserSessionDao_JdbcImpl$endSession$slambda($newStatus, $reason, $endTime, $sessionUid, resultContinuation) {
    this.zi4_1 = $newStatus;
    this.ai5_1 = $reason;
    this.bi5_1 = $endTime;
    this.ci5_1 = $sessionUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_JdbcImpl$endSession$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_JdbcImpl$endSession$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(UserSessionDao_JdbcImpl$endSession$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.di5_1.z5n(1, this.zi4_1);
            this.di5_1.z5n(2, this.ai5_1);
            this.di5_1.a5o(3, this.bi5_1);
            this.di5_1.a5o(4, this.bi5_1);
            this.di5_1.a5o(5, this.ci5_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.di5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_JdbcImpl$endSession$slambda).r5l = function (_stmt, completion) {
    var i = new UserSessionDao_JdbcImpl$endSession$slambda(this.zi4_1, this.ai5_1, this.bi5_1, this.ci5_1, completion);
    i.di5_1 = _stmt;
    return i;
  };
  function UserSessionDao_JdbcImpl$endSession$slambda_0($newStatus, $reason, $endTime, $sessionUid, resultContinuation) {
    var i = new UserSessionDao_JdbcImpl$endSession$slambda($newStatus, $reason, $endTime, $sessionUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $insertSessionCOROUTINE$417(_this__u8e3s4, session, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mi5_1 = _this__u8e3s4;
    this.ni5_1 = session;
  }
  protoOf($insertSessionCOROUTINE$417).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.mi5_1.ki3_1.b5n(this.ni5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _retVal = suspendResult;
            return _retVal;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $endSessionCOROUTINE$418(_this__u8e3s4, sessionUid, newStatus, reason, endTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wi5_1 = _this__u8e3s4;
    this.xi5_1 = sessionUid;
    this.yi5_1 = newStatus;
    this.zi5_1 = reason;
    this.ai6_1 = endTime;
  }
  protoOf($endSessionCOROUTINE$418).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE UserSession\n           SET usAuth = null,\n               usStatus = ?,\n               usReason = ?,\n               usEndTime = CAST(? AS BIGINT),\n               usLct = CAST(? AS BIGINT)\n         WHERE UserSession.usUid = CAST(? AS BIGINT)\n    ', VOID, VOID, VOID, '\n        UPDATE UserSession\n           SET usAuth = null,\n               usStatus = ?,\n               usReason = ?,\n               usEndTime = ?,\n               usLct = ?\n         WHERE UserSession.usUid = ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.wi5_1.ji3_1, tmp_0, UserSessionDao_JdbcImpl$endSession$slambda_0(this.yi5_1, this.zi5_1, this.ai6_1, this.xi5_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function UserSessionDao_JdbcImpl(_db) {
    UserSessionDao.call(this);
    this.ji3_1 = _db;
    var tmp = this;
    tmp.ki3_1 = new UserSessionDao_JdbcImpl$_insertAdapterUserSession_abort$1(this);
  }
  protoOf(UserSessionDao_JdbcImpl).qi1 = function (session, $completion) {
    var tmp = new $insertSessionCOROUTINE$417(this, session, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_JdbcImpl).ri1 = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['UserSession', 'Person', 'PersonPicture', 'SyncNode'];
    return doorFlow(this.ji3_1, tmp, UserSessionDao_JdbcImpl$findAllLocalSessionsLive$slambda_0(this, null));
  };
  protoOf(UserSessionDao_JdbcImpl).si1 = function ($completion) {
    var tmp = new PreparedStatementConfig('\n            SELECT UserSession.*, Person.*, PersonPicture.*\n              FROM UserSession\n                   JOIN Person \n                        ON Person.personUid = UserSession.usPersonUid\n                   LEFT JOIN PersonPicture\n                        ON PersonPicture.personPictureUid = UserSession.usPersonUid\n             WHERE UserSession.usClientNodeId = (\n                   SELECT COALESCE(\n                          (SELECT nodeClientId \n                            FROM SyncNode\n                           LIMIT 1), 0))\n               AND UserSession.usStatus = 1        \n               AND (UserSession.usSessionType & 8) != 8\n            ', VOID, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.ji3_1, tmp, UserSessionDao_JdbcImpl$findAllLocalSessionsAsync$slambda_0(null), $completion);
  };
  protoOf(UserSessionDao_JdbcImpl).ti1 = function (maxDateOfBirth, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT COUNT(*)\n          FROM UserSession\n               JOIN Person \n                    ON UserSession.usPersonUid = Person.personUid\n         WHERE UserSession.usClientNodeId = (\n                   SELECT COALESCE(\n                          (SELECT nodeClientId \n                            FROM SyncNode\n                           LIMIT 1), 0))\n           AND UserSession.usStatus = 1                \n           AND (CAST(? AS BIGINT) = 0 OR Person.dateOfBirth < CAST(? AS BIGINT))\n           AND (UserSession.usSessionType & 8) != 8            \n    ', VOID, VOID, VOID, '\n        SELECT COUNT(*)\n          FROM UserSession\n               JOIN Person \n                    ON UserSession.usPersonUid = Person.personUid\n         WHERE UserSession.usClientNodeId = (\n                   SELECT COALESCE(\n                          (SELECT nodeClientId \n                            FROM SyncNode\n                           LIMIT 1), 0))\n           AND UserSession.usStatus = 1                \n           AND (? = 0 OR Person.dateOfBirth < ?)\n           AND (UserSession.usSessionType & 8) != 8            \n    \n', true);
    return prepareAndUseStatementAsync(this.ji3_1, tmp, UserSessionDao_JdbcImpl$countAllLocalSessionsAsync$slambda_0(maxDateOfBirth, null), $completion);
  };
  protoOf(UserSessionDao_JdbcImpl).ui1 = function (sessionUid, newStatus, reason, endTime, $completion) {
    var tmp = new $endSessionCOROUTINE$418(this, sessionUid, newStatus, reason, endTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function UserSessionDao_Repo$insertSession$slambda(this$0, $session, resultContinuation) {
    this.ji6_1 = this$0;
    this.ki6_1 = $session;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_Repo$insertSession$slambda).f8f = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_Repo$insertSession$slambda).r7e = function ($completion) {
    return this.f8f($completion);
  };
  protoOf(UserSessionDao_Repo$insertSession$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ji6_1.ni6_1.qi1(this.ki6_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_Repo$insertSession$slambda).q7e = function (completion) {
    return new UserSessionDao_Repo$insertSession$slambda(this.ji6_1, this.ki6_1, completion);
  };
  function UserSessionDao_Repo$insertSession$slambda_0(this$0, $session, resultContinuation) {
    var i = new UserSessionDao_Repo$insertSession$slambda(this$0, $session, resultContinuation);
    var l = function ($completion) {
      return i.f8f($completion);
    };
    l.$arity = 0;
    return l;
  }
  function UserSessionDao_Repo$endSession$slambda(this$0, $sessionUid, $newStatus, $reason, $endTime, resultContinuation) {
    this.zi6_1 = this$0;
    this.ai7_1 = $sessionUid;
    this.bi7_1 = $newStatus;
    this.ci7_1 = $reason;
    this.di7_1 = $endTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(UserSessionDao_Repo$endSession$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_Repo$endSession$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(UserSessionDao_Repo$endSession$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.zi6_1.ni6_1.ui1(this.ai7_1, this.bi7_1, this.ci7_1, this.di7_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(UserSessionDao_Repo$endSession$slambda).q7e = function (completion) {
    return new UserSessionDao_Repo$endSession$slambda(this.zi6_1, this.ai7_1, this.bi7_1, this.ci7_1, this.di7_1, completion);
  };
  function UserSessionDao_Repo$endSession$slambda_0(this$0, $sessionUid, $newStatus, $reason, $endTime, resultContinuation) {
    var i = new UserSessionDao_Repo$endSession$slambda(this$0, $sessionUid, $newStatus, $reason, $endTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $insertSessionCOROUTINE$420(_this__u8e3s4, session, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.mi7_1 = _this__u8e3s4;
    this.ni7_1 = session;
  }
  protoOf($insertSessionCOROUTINE$420).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = withRepoChangeMonitorAsync(this.mi7_1.mi6_1, 'UserSession', UserSessionDao_Repo$insertSession$slambda_0(this.mi7_1, this.ni7_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $findAllLocalSessionsAsyncCOROUTINE$422(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.wi7_1 = _this__u8e3s4;
  }
  protoOf($findAllLocalSessionsAsyncCOROUTINE$422).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.wi7_1.ni6_1.si1(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $countAllLocalSessionsAsyncCOROUTINE$424(_this__u8e3s4, maxDateOfBirth, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fi8_1 = _this__u8e3s4;
    this.gi8_1 = maxDateOfBirth;
  }
  protoOf($countAllLocalSessionsAsyncCOROUTINE$424).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.fi8_1.ni6_1.ti1(this.gi8_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function UserSessionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    UserSessionDao.call(this);
    this.li6_1 = _db;
    this.mi6_1 = _repo;
    this.ni6_1 = _dao;
    this.oi6_1 = _httpClient;
    this.pi6_1 = _clientId;
    this.qi6_1 = _endpoint;
  }
  protoOf(UserSessionDao_Repo).qi1 = function (session, $completion) {
    var tmp = new $insertSessionCOROUTINE$420(this, session, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_Repo).ri1 = function () {
    var _result = this.ni6_1.ri1();
    return _result;
  };
  protoOf(UserSessionDao_Repo).si1 = function ($completion) {
    var tmp = new $findAllLocalSessionsAsyncCOROUTINE$422(this, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_Repo).ti1 = function (maxDateOfBirth, $completion) {
    var tmp = new $countAllLocalSessionsAsyncCOROUTINE$424(this, maxDateOfBirth, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(UserSessionDao_Repo).ui1 = function (sessionUid, newStatus, reason, endTime, $completion) {
    return withRepoChangeMonitorAsync(this.mi6_1, 'UserSession', UserSessionDao_Repo$endSession$slambda_0(this, sessionUid, newStatus, reason, endTime, null), $completion);
  };
  function ActivityEntityDao() {
  }
  function ActivityEntityDao_DoorWrapper(_db, _dao) {
    ActivityEntityDao.call(this);
    this.ki8_1 = _db;
    this.li8_1 = _dao;
  }
  protoOf(ActivityEntityDao_DoorWrapper).hi8 = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.ActivityEntityDao_DoorWrapper.insertOrIgnoreAsync.<anonymous>' call
      element.si8_1 = systemTimeInMillis();
    }
    return this.li8_1.hi8(entities, $completion);
  };
  protoOf(ActivityEntityDao_DoorWrapper).ii8 = function (activityUid, actMoreInfo, actLct, $completion) {
    return this.li8_1.ii8(activityUid, actMoreInfo, actLct, $completion);
  };
  protoOf(ActivityEntityDao_DoorWrapper).ji8 = function (actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, $completion) {
    return this.li8_1.ji8(actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, $completion);
  };
  function ActivityEntityDao_JdbcImpl$_insertAdapterActivityEntity_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ti8_1);
  }
  protoOf(ActivityEntityDao_JdbcImpl$_insertAdapterActivityEntity_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO ActivityEntity (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ActivityEntityDao_JdbcImpl$_insertAdapterActivityEntity_ignore$1).xi8 = function (stmt, entity) {
    stmt.a5o(1, entity.mi8_1);
    stmt.d5o(2, entity.ni8_1);
    stmt.d5o(3, entity.oi8_1);
    stmt.d5o(4, entity.pi8_1);
    stmt.z5n(5, entity.qi8_1);
    stmt.d5o(6, entity.ri8_1);
    stmt.a5o(7, entity.si8_1);
  };
  protoOf(ActivityEntityDao_JdbcImpl$_insertAdapterActivityEntity_ignore$1).u5l = function (stmt, entity) {
    return this.xi8(stmt, entity instanceof ActivityEntity ? entity : THROW_CCE());
  };
  function ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda($actMoreInfo, $actLct, $activityUid, resultContinuation) {
    this.gi9_1 = $actMoreInfo;
    this.hi9_1 = $actLct;
    this.ii9_1 = $activityUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.ji9_1.d5o(1, this.gi9_1);
            this.ji9_1.a5o(2, this.hi9_1);
            this.ji9_1.a5o(3, this.ii9_1);
            this.ji9_1.d5o(4, this.gi9_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.ji9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda).r5l = function (_stmt, completion) {
    var i = new ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda(this.gi9_1, this.hi9_1, this.ii9_1, completion);
    i.ji9_1 = _stmt;
    return i;
  };
  function ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda_0($actMoreInfo, $actLct, $activityUid, resultContinuation) {
    var i = new ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda($actMoreInfo, $actLct, $activityUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda($actType, $actMoreInfo, $actInteractionType, $actCorrectResponsePatterns, $actUid, resultContinuation) {
    this.si9_1 = $actType;
    this.ti9_1 = $actMoreInfo;
    this.ui9_1 = $actInteractionType;
    this.vi9_1 = $actCorrectResponsePatterns;
    this.wi9_1 = $actUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.xi9_1.d5o(1, this.si9_1);
            this.xi9_1.d5o(2, this.ti9_1);
            this.xi9_1.z5n(3, this.ui9_1);
            this.xi9_1.d5o(4, this.vi9_1);
            this.xi9_1.a5o(5, this.wi9_1);
            this.xi9_1.a5o(6, this.wi9_1);
            this.xi9_1.a5o(7, this.wi9_1);
            this.xi9_1.a5o(8, this.wi9_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.xi9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda).r5l = function (_stmt, completion) {
    var i = new ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda(this.si9_1, this.ti9_1, this.ui9_1, this.vi9_1, this.wi9_1, completion);
    i.xi9_1 = _stmt;
    return i;
  };
  function ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda_0($actType, $actMoreInfo, $actInteractionType, $actCorrectResponsePatterns, $actUid, resultContinuation) {
    var i = new ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda($actType, $actMoreInfo, $actInteractionType, $actCorrectResponsePatterns, $actUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateIfMoreInfoChangedCOROUTINE$428(_this__u8e3s4, activityUid, actMoreInfo, actLct, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.gia_1 = _this__u8e3s4;
    this.hia_1 = activityUid;
    this.iia_1 = actMoreInfo;
    this.jia_1 = actLct;
  }
  protoOf($updateIfMoreInfoChangedCOROUTINE$428).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ActivityEntity\n           SET actMoreInfo = ?,\n               actLct = CAST(? AS BIGINT)\n        WHERE actUid = CAST(? AS BIGINT)\n          AND actMoreInfo != ?      \n    ', VOID, VOID, VOID, '\n        UPDATE ActivityEntity\n           SET actMoreInfo = ?,\n               actLct = ?\n        WHERE actUid = ?\n          AND actMoreInfo != ?      \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.gia_1.ti8_1, tmp_0, ActivityEntityDao_JdbcImpl$updateIfMoreInfoChanged$slambda_0(this.iia_1, this.jia_1, this.hia_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateIfNotYetDefinedCOROUTINE$429(_this__u8e3s4, actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.sia_1 = _this__u8e3s4;
    this.tia_1 = actUid;
    this.uia_1 = actType;
    this.via_1 = actMoreInfo;
    this.wia_1 = actInteractionType;
    this.xia_1 = actCorrectResponsePatterns;
  }
  protoOf($updateIfNotYetDefinedCOROUTINE$429).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ActivityEntity\n           SET actType = ?,\n               actMoreInfo = ?,\n               actInteractionType = ?,\n               actCorrectResponsePatterns = ?\n         WHERE actUid = CAST(? AS BIGINT)\n           AND (SELECT ActivityEntityInternal.actType \n                  FROM ActivityEntity ActivityEntityInternal \n                 WHERE ActivityEntityInternal.actUid = CAST(? AS BIGINT)) IS NULL\n           AND (SELECT ActivityEntityInternal.actInteractionType \n                  FROM ActivityEntity ActivityEntityInternal \n                 WHERE ActivityEntityInternal.actUid = CAST(? AS BIGINT)) = 0\n           AND (SELECT ActivityEntityInternal.actCorrectResponsePatterns \n                  FROM ActivityEntity ActivityEntityInternal \n                 WHERE ActivityEntityInternal.actUid = CAST(? AS BIGINT)) IS NULL      \n    ', VOID, VOID, VOID, '\n        UPDATE ActivityEntity\n           SET actType = ?,\n               actMoreInfo = ?,\n               actInteractionType = ?,\n               actCorrectResponsePatterns = ?\n         WHERE actUid = ?\n           AND (SELECT ActivityEntityInternal.actType \n                  FROM ActivityEntity ActivityEntityInternal \n                 WHERE ActivityEntityInternal.actUid = ?) IS NULL\n           AND (SELECT ActivityEntityInternal.actInteractionType \n                  FROM ActivityEntity ActivityEntityInternal \n                 WHERE ActivityEntityInternal.actUid = ?) = 0\n           AND (SELECT ActivityEntityInternal.actCorrectResponsePatterns \n                  FROM ActivityEntity ActivityEntityInternal \n                 WHERE ActivityEntityInternal.actUid = ?) IS NULL      \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.sia_1.ti8_1, tmp_0, ActivityEntityDao_JdbcImpl$updateIfNotYetDefined$slambda_0(this.uia_1, this.via_1, this.wia_1, this.xia_1, this.tia_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ActivityEntityDao_JdbcImpl(_db) {
    ActivityEntityDao.call(this);
    this.ti8_1 = _db;
    var tmp = this;
    tmp.ui8_1 = new ActivityEntityDao_JdbcImpl$_insertAdapterActivityEntity_ignore$1(this);
  }
  protoOf(ActivityEntityDao_JdbcImpl).hi8 = function (entities, $completion) {
    return this.ui8_1.e5n(entities, $completion);
  };
  protoOf(ActivityEntityDao_JdbcImpl).ii8 = function (activityUid, actMoreInfo, actLct, $completion) {
    var tmp = new $updateIfMoreInfoChangedCOROUTINE$428(this, activityUid, actMoreInfo, actLct, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityEntityDao_JdbcImpl).ji8 = function (actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, $completion) {
    var tmp = new $updateIfNotYetDefinedCOROUTINE$429(this, actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda(this$0, $entities, resultContinuation) {
    this.gib_1 = this$0;
    this.hib_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.gib_1.kib_1.hi8(this.hib_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda).q7e = function (completion) {
    return new ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda(this.gib_1, this.hib_1, completion);
  };
  function ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda(this$0, $activityUid, $actMoreInfo, $actLct, resultContinuation) {
    this.wib_1 = this$0;
    this.xib_1 = $activityUid;
    this.yib_1 = $actMoreInfo;
    this.zib_1 = $actLct;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.wib_1.kib_1.ii8(this.xib_1, this.yib_1, this.zib_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda).q7e = function (completion) {
    return new ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda(this.wib_1, this.xib_1, this.yib_1, this.zib_1, completion);
  };
  function ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda_0(this$0, $activityUid, $actMoreInfo, $actLct, resultContinuation) {
    var i = new ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda(this$0, $activityUid, $actMoreInfo, $actLct, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActivityEntityDao_Repo$updateIfNotYetDefined$slambda(this$0, $actUid, $actType, $actMoreInfo, $actInteractionType, $actCorrectResponsePatterns, resultContinuation) {
    this.iic_1 = this$0;
    this.jic_1 = $actUid;
    this.kic_1 = $actType;
    this.lic_1 = $actMoreInfo;
    this.mic_1 = $actInteractionType;
    this.nic_1 = $actCorrectResponsePatterns;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityEntityDao_Repo$updateIfNotYetDefined$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityEntityDao_Repo$updateIfNotYetDefined$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityEntityDao_Repo$updateIfNotYetDefined$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.iic_1.kib_1.ji8(this.jic_1, this.kic_1, this.lic_1, this.mic_1, this.nic_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityEntityDao_Repo$updateIfNotYetDefined$slambda).q7e = function (completion) {
    return new ActivityEntityDao_Repo$updateIfNotYetDefined$slambda(this.iic_1, this.jic_1, this.kic_1, this.lic_1, this.mic_1, this.nic_1, completion);
  };
  function ActivityEntityDao_Repo$updateIfNotYetDefined$slambda_0(this$0, $actUid, $actType, $actMoreInfo, $actInteractionType, $actCorrectResponsePatterns, resultContinuation) {
    var i = new ActivityEntityDao_Repo$updateIfNotYetDefined$slambda(this$0, $actUid, $actType, $actMoreInfo, $actInteractionType, $actCorrectResponsePatterns, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActivityEntityDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ActivityEntityDao.call(this);
    this.iib_1 = _db;
    this.jib_1 = _repo;
    this.kib_1 = _dao;
    this.lib_1 = _httpClient;
    this.mib_1 = _clientId;
    this.nib_1 = _endpoint;
  }
  protoOf(ActivityEntityDao_Repo).hi8 = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.jib_1, 'ActivityEntity', ActivityEntityDao_Repo$insertOrIgnoreAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ActivityEntityDao_Repo).ii8 = function (activityUid, actMoreInfo, actLct, $completion) {
    return withRepoChangeMonitorAsync(this.jib_1, 'ActivityEntity', ActivityEntityDao_Repo$updateIfMoreInfoChanged$slambda_0(this, activityUid, actMoreInfo, actLct, null), $completion);
  };
  protoOf(ActivityEntityDao_Repo).ji8 = function (actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, $completion) {
    return withRepoChangeMonitorAsync(this.jib_1, 'ActivityEntity', ActivityEntityDao_Repo$updateIfNotYetDefined$slambda_0(this, actUid, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, null), $completion);
  };
  function ActivityExtensionDao() {
  }
  function ActivityExtensionDao_DoorWrapper(_db, _dao) {
    ActivityExtensionDao.call(this);
    this.pic_1 = _db;
    this.qic_1 = _dao;
  }
  protoOf(ActivityExtensionDao_DoorWrapper).oic = function (list, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = list.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.ActivityExtensionDao_DoorWrapper.upsertListAsync.<anonymous>' call
      element.vic_1 = systemTimeInMillis();
    }
    return this.qic_1.oic(list, $completion);
  };
  function ActivityExtensionDao_JdbcImpl$_insertAdapterActivityExtensionEntity_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.xic_1);
  }
  protoOf(ActivityExtensionDao_JdbcImpl$_insertAdapterActivityExtensionEntity_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ActivityExtensionEntity (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(ActivityExtensionDao_JdbcImpl$_insertAdapterActivityExtensionEntity_upsert$1).bid = function (stmt, entity) {
    stmt.a5o(1, entity.ric_1);
    stmt.a5o(2, entity.sic_1);
    stmt.d5o(3, entity.tic_1);
    stmt.d5o(4, entity.uic_1);
    stmt.a5o(5, entity.vic_1);
    stmt.n5n(6, entity.wic_1);
  };
  protoOf(ActivityExtensionDao_JdbcImpl$_insertAdapterActivityExtensionEntity_upsert$1).u5l = function (stmt, entity) {
    return this.bid(stmt, entity instanceof ActivityExtensionEntity ? entity : THROW_CCE());
  };
  function ActivityExtensionDao_JdbcImpl(_db) {
    ActivityExtensionDao.call(this);
    this.xic_1 = _db;
    var tmp = this;
    tmp.yic_1 = new ActivityExtensionDao_JdbcImpl$_insertAdapterActivityExtensionEntity_upsert$1(this);
  }
  protoOf(ActivityExtensionDao_JdbcImpl).oic = function (list, $completion) {
    return this.yic_1.e5n(list, $completion);
  };
  function ActivityExtensionDao_Repo$upsertListAsync$slambda(this$0, $list, resultContinuation) {
    this.kid_1 = this$0;
    this.lid_1 = $list;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityExtensionDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityExtensionDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityExtensionDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kid_1.oid_1.oic(this.lid_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityExtensionDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ActivityExtensionDao_Repo$upsertListAsync$slambda(this.kid_1, this.lid_1, completion);
  };
  function ActivityExtensionDao_Repo$upsertListAsync$slambda_0(this$0, $list, resultContinuation) {
    var i = new ActivityExtensionDao_Repo$upsertListAsync$slambda(this$0, $list, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActivityExtensionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ActivityExtensionDao.call(this);
    this.mid_1 = _db;
    this.nid_1 = _repo;
    this.oid_1 = _dao;
    this.pid_1 = _httpClient;
    this.qid_1 = _clientId;
    this.rid_1 = _endpoint;
  }
  protoOf(ActivityExtensionDao_Repo).oic = function (list, $completion) {
    return withRepoChangeMonitorAsync(this.nid_1, 'ActivityExtensionEntity', ActivityExtensionDao_Repo$upsertListAsync$slambda_0(this, list, null), $completion);
  };
  function ActivityInteractionDao() {
  }
  function ActivityInteractionDao_DoorWrapper(_db, _dao) {
    ActivityInteractionDao.call(this);
    this.uid_1 = _db;
    this.vid_1 = _dao;
  }
  protoOf(ActivityInteractionDao_DoorWrapper).sid = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.ActivityInteractionDao_DoorWrapper.insertOrIgnoreAsync.<anonymous>' call
      element.aie_1 = systemTimeInMillis();
    }
    return this.vid_1.sid(entities, $completion);
  };
  protoOf(ActivityInteractionDao_DoorWrapper).tid = function (activityUids, $completion) {
    return this.vid_1.tid(activityUids, $completion);
  };
  function ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda$lambda(_result) {
    return mapRows(_result, ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda$lambda$lambda(_result));
  }
  function ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      return $_result.e5l(1);
    };
  }
  function ActivityInteractionDao_JdbcImpl$_insertAdapterActivityInteractionEntity_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.cie_1);
  }
  protoOf(ActivityInteractionDao_JdbcImpl$_insertAdapterActivityInteractionEntity_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO ActivityInteractionEntity (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) VALUES(?, ?, ?, ?, ?, ?)';
  };
  protoOf(ActivityInteractionDao_JdbcImpl$_insertAdapterActivityInteractionEntity_ignore$1).gie = function (stmt, entity) {
    stmt.a5o(1, entity.wid_1);
    stmt.a5o(2, entity.xid_1);
    stmt.z5n(3, entity.yid_1);
    stmt.d5o(4, entity.zid_1);
    stmt.a5o(5, entity.aie_1);
    stmt.n5n(6, entity.bie_1);
  };
  protoOf(ActivityInteractionDao_JdbcImpl$_insertAdapterActivityInteractionEntity_ignore$1).u5l = function (stmt, entity) {
    return this.gie(stmt, entity instanceof ActivityInteractionEntity ? entity : THROW_CCE());
  };
  function ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda($activityUids, resultContinuation) {
    this.pie_1 = $activityUids;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda).k87 = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda).he = function (p1, $completion) {
    return this.k87((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            var tmp_0 = this.qie_1.w5m();
            var this_0 = this.pie_1;
            this.qie_1.e5o(1, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.qie_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda(this.pie_1, completion);
    i.qie_1 = _stmt;
    return i;
  };
  function ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda_0($activityUids, resultContinuation) {
    var i = new ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda($activityUids, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.k87(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ActivityInteractionDao_JdbcImpl(_db) {
    ActivityInteractionDao.call(this);
    this.cie_1 = _db;
    var tmp = this;
    tmp.die_1 = new ActivityInteractionDao_JdbcImpl$_insertAdapterActivityInteractionEntity_ignore$1(this);
  }
  protoOf(ActivityInteractionDao_JdbcImpl).sid = function (entities, $completion) {
    return this.die_1.e5n(entities, $completion);
  };
  protoOf(ActivityInteractionDao_JdbcImpl).tid = function (activityUids, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT DISTINCT ActivityInteractionEntity.aieActivityUid\n          FROM ActivityInteractionEntity\n         WHERE ActivityInteractionEntity.aieActivityUid IN (?)\n    ', true, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.cie_1, tmp, ActivityInteractionDao_JdbcImpl$findActivityUidsWithInteractionEntitiesAsync$slambda_0(activityUids, null), $completion);
  };
  function ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda(this$0, $entities, resultContinuation) {
    this.zie_1 = this$0;
    this.aif_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.zie_1.dif_1.sid(this.aif_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda).q7e = function (completion) {
    return new ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda(this.zie_1, this.aif_1, completion);
  };
  function ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findActivityUidsWithInteractionEntitiesAsyncCOROUTINE$432(_this__u8e3s4, activityUids, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.pif_1 = _this__u8e3s4;
    this.qif_1 = activityUids;
  }
  protoOf($findActivityUidsWithInteractionEntitiesAsyncCOROUTINE$432).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.pif_1.dif_1.tid(this.qif_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ActivityInteractionDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ActivityInteractionDao.call(this);
    this.bif_1 = _db;
    this.cif_1 = _repo;
    this.dif_1 = _dao;
    this.eif_1 = _httpClient;
    this.fif_1 = _clientId;
    this.gif_1 = _endpoint;
  }
  protoOf(ActivityInteractionDao_Repo).sid = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.cif_1, 'ActivityInteractionEntity', ActivityInteractionDao_Repo$insertOrIgnoreAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ActivityInteractionDao_Repo).tid = function (activityUids, $completion) {
    var tmp = new $findActivityUidsWithInteractionEntitiesAsyncCOROUTINE$432(this, activityUids, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ActivityLangMapEntryDao() {
  }
  function ActivityLangMapEntryDao_DoorWrapper(_db, _dao) {
    ActivityLangMapEntryDao.call(this);
    this.uif_1 = _db;
    this.vif_1 = _dao;
  }
  protoOf(ActivityLangMapEntryDao_DoorWrapper).rif = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.ActivityLangMapEntryDao_DoorWrapper.upsertList.<anonymous>' call
      element.cig_1 = systemTimeInMillis();
    }
    return this.vif_1.rif(entities, $completion);
  };
  protoOf(ActivityLangMapEntryDao_DoorWrapper).sif = function (almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $completion) {
    return this.vif_1.sif(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $completion);
  };
  protoOf(ActivityLangMapEntryDao_DoorWrapper).tif = function (almeActivityUid, almeHash, almeValue, almeLastMod, $completion) {
    return this.vif_1.tif(almeActivityUid, almeHash, almeValue, almeLastMod, $completion);
  };
  function ActivityLangMapEntryDao_JdbcImpl$_insertAdapterActivityLangMapEntry_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.dig_1);
  }
  protoOf(ActivityLangMapEntryDao_JdbcImpl$_insertAdapterActivityLangMapEntry_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ActivityLangMapEntry (almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$_insertAdapterActivityLangMapEntry_upsert$1).hig = function (stmt, entity) {
    stmt.a5o(1, entity.wif_1);
    stmt.a5o(2, entity.xif_1);
    stmt.d5o(3, entity.yif_1);
    stmt.d5o(4, entity.zif_1);
    stmt.d5o(5, entity.aig_1);
    stmt.a5o(6, entity.big_1);
    stmt.a5o(7, entity.cig_1);
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$_insertAdapterActivityLangMapEntry_upsert$1).u5l = function (stmt, entity) {
    return this.hig(stmt, entity instanceof ActivityLangMapEntry ? entity : THROW_CCE());
  };
  function ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda($almeActivityUid, $almeHash, $almeLangCode, $almeValue, $almeAieHash, $almeLastMod, resultContinuation) {
    this.qig_1 = $almeActivityUid;
    this.rig_1 = $almeHash;
    this.sig_1 = $almeLangCode;
    this.tig_1 = $almeValue;
    this.uig_1 = $almeAieHash;
    this.vig_1 = $almeLastMod;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.wig_1.a5o(1, this.qig_1);
            this.wig_1.a5o(2, this.rig_1);
            this.wig_1.d5o(3, this.sig_1);
            this.wig_1.d5o(4, this.tig_1);
            this.wig_1.a5o(5, this.uig_1);
            this.wig_1.a5o(6, this.vig_1);
            this.wig_1.a5o(7, this.qig_1);
            this.wig_1.a5o(8, this.uig_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.wig_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda).r5l = function (_stmt, completion) {
    var i = new ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda(this.qig_1, this.rig_1, this.sig_1, this.tig_1, this.uig_1, this.vig_1, completion);
    i.wig_1 = _stmt;
    return i;
  };
  function ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda_0($almeActivityUid, $almeHash, $almeLangCode, $almeValue, $almeAieHash, $almeLastMod, resultContinuation) {
    var i = new ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda($almeActivityUid, $almeHash, $almeLangCode, $almeValue, $almeAieHash, $almeLastMod, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda($almeValue, $almeLastMod, $almeActivityUid, $almeHash, resultContinuation) {
    this.fih_1 = $almeValue;
    this.gih_1 = $almeLastMod;
    this.hih_1 = $almeActivityUid;
    this.iih_1 = $almeHash;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.jih_1.d5o(1, this.fih_1);
            this.jih_1.a5o(2, this.gih_1);
            this.jih_1.a5o(3, this.hih_1);
            this.jih_1.a5o(4, this.iih_1);
            this.jih_1.d5o(5, this.fih_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.jih_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda).r5l = function (_stmt, completion) {
    var i = new ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda(this.fih_1, this.gih_1, this.hih_1, this.iih_1, completion);
    i.jih_1 = _stmt;
    return i;
  };
  function ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda_0($almeValue, $almeLastMod, $almeActivityUid, $almeHash, resultContinuation) {
    var i = new ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda($almeValue, $almeLastMod, $almeActivityUid, $almeHash, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $upsertIfInteractionEntityExistsCOROUTINE$434(_this__u8e3s4, almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.sih_1 = _this__u8e3s4;
    this.tih_1 = almeActivityUid;
    this.uih_1 = almeHash;
    this.vih_1 = almeLangCode;
    this.wih_1 = almeValue;
    this.xih_1 = almeAieHash;
    this.yih_1 = almeLastMod;
  }
  protoOf($upsertIfInteractionEntityExistsCOROUTINE$434).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        INSERT OR REPLACE \n        INTO ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod)\n        SELECT CAST(? AS BIGINT) AS almeActivityUid,\n               CAST(? AS BIGINT) AS almeHash,\n               ? AS almeLangCode,\n               ? AS almeValue,\n               CAST(? AS BIGINT) AS almeAieHash,\n               CAST(? AS BIGINT) AS almeLastMod\n         WHERE EXISTS(SELECT 1\n                        FROM ActivityInteractionEntity\n                       WHERE ActivityInteractionEntity.aieActivityUid = CAST(? AS BIGINT)\n                         AND ActivityInteractionEntity.aieHash = CAST(? AS BIGINT))\n          \n    ', VOID, VOID, VOID, '\n        INSERT \n        INTO ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod)\n        SELECT ? AS almeActivityUid,\n               ? AS almeHash,\n               ? AS almeLangCode,\n               ? AS almeValue,\n               ? AS almeAieHash,\n               ? AS almeLastMod\n         WHERE EXISTS(SELECT 1\n                        FROM ActivityInteractionEntity\n                       WHERE ActivityInteractionEntity.aieActivityUid = ?\n                         AND ActivityInteractionEntity.aieHash = ?)\n    \n        ON CONFLICT(almeActivityUid, almeHash) DO UPDATE\n        SET almeValue = EXCLUDED.almeValue,\n            almeLastMod = EXCLUDED.almeLastMod\n    ', false);
            suspendResult = prepareAndUseStatementAsync(this.sih_1.dig_1, tmp_0, ActivityLangMapEntryDao_JdbcImpl$upsertIfInteractionEntityExists$slambda_0(this.tih_1, this.uih_1, this.vih_1, this.wih_1, this.xih_1, this.yih_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $updateIfChangedCOROUTINE$435(_this__u8e3s4, almeActivityUid, almeHash, almeValue, almeLastMod, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.hii_1 = _this__u8e3s4;
    this.iii_1 = almeActivityUid;
    this.jii_1 = almeHash;
    this.kii_1 = almeValue;
    this.lii_1 = almeLastMod;
  }
  protoOf($updateIfChangedCOROUTINE$435).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ActivityLangMapEntry\n           SET almeValue = ?,\n               almeLastMod = CAST(? AS BIGINT)\n         WHERE almeActivityUid = CAST(? AS BIGINT)\n           AND almeHash = CAST(? AS BIGINT)\n           AND almeValue != ?       \n    ', VOID, VOID, VOID, '\n        UPDATE ActivityLangMapEntry\n           SET almeValue = ?,\n               almeLastMod = ?\n         WHERE almeActivityUid = ?\n           AND almeHash = ?\n           AND almeValue != ?       \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.hii_1.dig_1, tmp_0, ActivityLangMapEntryDao_JdbcImpl$updateIfChanged$slambda_0(this.kii_1, this.lii_1, this.iii_1, this.jii_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ActivityLangMapEntryDao_JdbcImpl(_db) {
    ActivityLangMapEntryDao.call(this);
    this.dig_1 = _db;
    var tmp = this;
    tmp.eig_1 = new ActivityLangMapEntryDao_JdbcImpl$_insertAdapterActivityLangMapEntry_upsert$1(this);
  }
  protoOf(ActivityLangMapEntryDao_JdbcImpl).rif = function (entities, $completion) {
    return this.eig_1.e5n(entities, $completion);
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl).sif = function (almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $completion) {
    var tmp = new $upsertIfInteractionEntityExistsCOROUTINE$434(this, almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityLangMapEntryDao_JdbcImpl).tif = function (almeActivityUid, almeHash, almeValue, almeLastMod, $completion) {
    var tmp = new $updateIfChangedCOROUTINE$435(this, almeActivityUid, almeHash, almeValue, almeLastMod, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function ActivityLangMapEntryDao_Repo$upsertList$slambda(this$0, $entities, resultContinuation) {
    this.uii_1 = this$0;
    this.vii_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityLangMapEntryDao_Repo$upsertList$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityLangMapEntryDao_Repo$upsertList$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityLangMapEntryDao_Repo$upsertList$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.uii_1.yii_1.rif(this.vii_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityLangMapEntryDao_Repo$upsertList$slambda).q7e = function (completion) {
    return new ActivityLangMapEntryDao_Repo$upsertList$slambda(this.uii_1, this.vii_1, completion);
  };
  function ActivityLangMapEntryDao_Repo$upsertList$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ActivityLangMapEntryDao_Repo$upsertList$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActivityLangMapEntryDao_Repo$updateIfChanged$slambda(this$0, $almeActivityUid, $almeHash, $almeValue, $almeLastMod, resultContinuation) {
    this.kij_1 = this$0;
    this.lij_1 = $almeActivityUid;
    this.mij_1 = $almeHash;
    this.nij_1 = $almeValue;
    this.oij_1 = $almeLastMod;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActivityLangMapEntryDao_Repo$updateIfChanged$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActivityLangMapEntryDao_Repo$updateIfChanged$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActivityLangMapEntryDao_Repo$updateIfChanged$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.kij_1.yii_1.tif(this.lij_1, this.mij_1, this.nij_1, this.oij_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActivityLangMapEntryDao_Repo$updateIfChanged$slambda).q7e = function (completion) {
    return new ActivityLangMapEntryDao_Repo$updateIfChanged$slambda(this.kij_1, this.lij_1, this.mij_1, this.nij_1, this.oij_1, completion);
  };
  function ActivityLangMapEntryDao_Repo$updateIfChanged$slambda_0(this$0, $almeActivityUid, $almeHash, $almeValue, $almeLastMod, resultContinuation) {
    var i = new ActivityLangMapEntryDao_Repo$updateIfChanged$slambda(this$0, $almeActivityUid, $almeHash, $almeValue, $almeLastMod, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActivityLangMapEntryDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ActivityLangMapEntryDao.call(this);
    this.wii_1 = _db;
    this.xii_1 = _repo;
    this.yii_1 = _dao;
    this.zii_1 = _httpClient;
    this.aij_1 = _clientId;
    this.bij_1 = _endpoint;
  }
  protoOf(ActivityLangMapEntryDao_Repo).rif = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.xii_1, 'ActivityLangMapEntry', ActivityLangMapEntryDao_Repo$upsertList$slambda_0(this, entities, null), $completion);
  };
  protoOf(ActivityLangMapEntryDao_Repo).sif = function (almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $completion) {
    return this.yii_1.sif(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $completion);
  };
  protoOf(ActivityLangMapEntryDao_Repo).tif = function (almeActivityUid, almeHash, almeValue, almeLastMod, $completion) {
    return withRepoChangeMonitorAsync(this.xii_1, 'ActivityLangMapEntry', ActivityLangMapEntryDao_Repo$updateIfChanged$slambda_0(this, almeActivityUid, almeHash, almeValue, almeLastMod, null), $completion);
  };
  function ActorDao() {
  }
  function $insertOrIgnoreListAsyncCOROUTINE$437(_this__u8e3s4, entities, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.bik_1 = _this__u8e3s4;
    this.cik_1 = entities;
  }
  protoOf($insertOrIgnoreListAsyncCOROUTINE$437).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.dik_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.bik_1.kik_1));
            var tmp_0 = this;
            tmp_0.eik_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.fik_1 = this.cik_1.w();
            var tmp_2 = this;
            tmp_2.gik_1 = this.fik_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.gik_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.hik_1 = this.gik_1.e();
            var tmp_3 = this;
            tmp_3.iik_1 = this.hik_1;
            if (this.iik_1.mik_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.dik_1.t68(68, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.jik_1 = suspendResult;
            this.iik_1.mik_1 = this.jik_1;
            var this_0 = this.eik_1;
            var element = this.jik_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.iik_1.vik_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.bik_1.lik_1.pij(this.cik_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function $upsertListAsyncCOROUTINE$438(_this__u8e3s4, entities, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.fil_1 = _this__u8e3s4;
    this.gil_1 = entities;
  }
  protoOf($upsertListAsyncCOROUTINE$438).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 6;
            this.hil_1 = get_doorPrimaryKeyManager(get_rootDatabase(this.fil_1.kik_1));
            var tmp_0 = this;
            tmp_0.iil_1 = ArrayList_init_$Create$();
            var tmp_1 = this;
            tmp_1.jil_1 = this.gil_1.w();
            var tmp_2 = this;
            tmp_2.kil_1 = this.jil_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.kil_1.f()) {
              this.hd_1 = 4;
              continue $sm;
            }

            this.lil_1 = this.kil_1.e();
            var tmp_3 = this;
            tmp_3.mil_1 = this.lil_1;
            if (this.mil_1.mik_1.equals(new Long(0, 0))) {
              this.hd_1 = 2;
              suspendResult = this.hil_1.t68(68, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.hd_1 = 3;
              continue $sm;
            }

          case 2:
            this.nil_1 = suspendResult;
            this.mil_1.mik_1 = this.nil_1;
            var this_0 = this.iil_1;
            var element = this.nil_1;
            this_0.i1(element);
            this.hd_1 = 3;
            continue $sm;
          case 3:
            this.mil_1.vik_1 = systemTimeInMillis();
            this.hd_1 = 1;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            suspendResult = this.fil_1.lik_1.qij(this.gil_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return Unit_instance;
          case 6:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 6) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ActorDao_DoorWrapper(_db, _dao) {
    ActorDao.call(this);
    this.kik_1 = _db;
    this.lik_1 = _dao;
  }
  protoOf(ActorDao_DoorWrapper).pij = function (entities, $completion) {
    var tmp = new $insertOrIgnoreListAsyncCOROUTINE$437(this, entities, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_DoorWrapper).qij = function (entities, $completion) {
    var tmp = new $upsertListAsyncCOROUTINE$438(this, entities, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_DoorWrapper).rij = function (uid, name, updateTime, $completion) {
    return this.lik_1.rij(uid, name, updateTime, $completion);
  };
  protoOf(ActorDao_DoorWrapper).sij = function (uidList, $completion) {
    return this.lik_1.sij(uidList, $completion);
  };
  function ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda$lambda(_result) {
    return mapRows(_result, ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda$lambda$lambda(_result));
  }
  function ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_actorUid = $_result.d5t('actorUid');
      var _tmp_actorEtag = $_result.d5t('actorEtag');
      var _tmp_actorLct = $_result.d5t('actorLct');
      // Inline function 'kotlin.apply' call
      var this_0 = new ActorUidEtagAndLastMod();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.xapi.ActorDao_JdbcImpl.findUidAndEtagByListAsync.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.oil_1 = _tmp_actorUid;
      this_0.pil_1 = _tmp_actorEtag;
      this_0.qil_1 = _tmp_actorLct;
      return this_0;
    };
  }
  function ActorDao_JdbcImpl$_insertAdapterActorEntity_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ril_1);
  }
  protoOf(ActorDao_JdbcImpl$_insertAdapterActorEntity_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ActorDao_JdbcImpl$_insertAdapterActorEntity_ignore$1).wil = function (stmt, entity) {
    if (entity.mik_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.mik_1);
    }
    stmt.a5o(2, entity.nik_1);
    stmt.d5o(3, entity.oik_1);
    stmt.d5o(4, entity.pik_1);
    stmt.d5o(5, entity.qik_1);
    stmt.d5o(6, entity.rik_1);
    stmt.d5o(7, entity.sik_1);
    stmt.d5o(8, entity.tik_1);
    stmt.a5o(9, entity.uik_1);
    stmt.a5o(10, entity.vik_1);
    stmt.z5n(11, entity.wik_1);
  };
  protoOf(ActorDao_JdbcImpl$_insertAdapterActorEntity_ignore$1).u5l = function (stmt, entity) {
    return this.wil(stmt, entity instanceof ActorEntity ? entity : THROW_CCE());
  };
  function ActorDao_JdbcImpl$_insertAdapterActorEntity_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ril_1);
  }
  protoOf(ActorDao_JdbcImpl$_insertAdapterActorEntity_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(ActorDao_JdbcImpl$_insertAdapterActorEntity_upsert$1).wil = function (stmt, entity) {
    if (entity.mik_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.mik_1);
    }
    stmt.a5o(2, entity.nik_1);
    stmt.d5o(3, entity.oik_1);
    stmt.d5o(4, entity.pik_1);
    stmt.d5o(5, entity.qik_1);
    stmt.d5o(6, entity.rik_1);
    stmt.d5o(7, entity.sik_1);
    stmt.d5o(8, entity.tik_1);
    stmt.a5o(9, entity.uik_1);
    stmt.a5o(10, entity.vik_1);
    stmt.z5n(11, entity.wik_1);
  };
  protoOf(ActorDao_JdbcImpl$_insertAdapterActorEntity_upsert$1).u5l = function (stmt, entity) {
    return this.wil(stmt, entity instanceof ActorEntity ? entity : THROW_CCE());
  };
  function ActorDao_JdbcImpl$updateIfNameChanged$slambda($name, $updateTime, $uid, resultContinuation) {
    this.him_1 = $name;
    this.iim_1 = $updateTime;
    this.jim_1 = $uid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActorDao_JdbcImpl$updateIfNameChanged$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_JdbcImpl$updateIfNameChanged$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActorDao_JdbcImpl$updateIfNameChanged$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.kim_1.d5o(1, this.him_1);
            this.kim_1.a5o(2, this.iim_1);
            this.kim_1.a5o(3, this.jim_1);
            this.kim_1.d5o(4, this.him_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.kim_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActorDao_JdbcImpl$updateIfNameChanged$slambda).r5l = function (_stmt, completion) {
    var i = new ActorDao_JdbcImpl$updateIfNameChanged$slambda(this.him_1, this.iim_1, this.jim_1, completion);
    i.kim_1 = _stmt;
    return i;
  };
  function ActorDao_JdbcImpl$updateIfNameChanged$slambda_0($name, $updateTime, $uid, resultContinuation) {
    var i = new ActorDao_JdbcImpl$updateIfNameChanged$slambda($name, $updateTime, $uid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda($uidList, resultContinuation) {
    this.tim_1 = $uidList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda).vim = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda).he = function (p1, $completion) {
    return this.vim((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            var tmp_0 = this.uim_1.w5m();
            var this_0 = this.tim_1;
            this.uim_1.e5o(1, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.uim_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda).r5l = function (_stmt, completion) {
    var i = new ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda(this.tim_1, completion);
    i.uim_1 = _stmt;
    return i;
  };
  function ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda_0($uidList, resultContinuation) {
    var i = new ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda($uidList, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.vim(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateIfNameChangedCOROUTINE$439(_this__u8e3s4, uid, name, updateTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ein_1 = _this__u8e3s4;
    this.fin_1 = uid;
    this.gin_1 = name;
    this.hin_1 = updateTime;
  }
  protoOf($updateIfNameChangedCOROUTINE$439).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE ActorEntity\n           SET actorName = ?,\n               actorLct = CAST(? AS BIGINT)\n         WHERE actorUid = CAST(? AS BIGINT)\n           AND ActorEntity.actorName != ?\n    ', VOID, VOID, VOID, '\n        UPDATE ActorEntity\n           SET actorName = ?,\n               actorLct = ?\n         WHERE actorUid = ?\n           AND ActorEntity.actorName != ?\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.ein_1.ril_1, tmp_0, ActorDao_JdbcImpl$updateIfNameChanged$slambda_0(this.gin_1, this.hin_1, this.fin_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ActorDao_JdbcImpl(_db) {
    ActorDao.call(this);
    this.ril_1 = _db;
    var tmp = this;
    tmp.sil_1 = new ActorDao_JdbcImpl$_insertAdapterActorEntity_ignore$1(this);
    var tmp_0 = this;
    tmp_0.til_1 = new ActorDao_JdbcImpl$_insertAdapterActorEntity_upsert$1(this);
  }
  protoOf(ActorDao_JdbcImpl).pij = function (entities, $completion) {
    return this.sil_1.e5n(entities, $completion);
  };
  protoOf(ActorDao_JdbcImpl).qij = function (entities, $completion) {
    return this.til_1.e5n(entities, $completion);
  };
  protoOf(ActorDao_JdbcImpl).rij = function (uid, name, updateTime, $completion) {
    var tmp = new $updateIfNameChangedCOROUTINE$439(this, uid, name, updateTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_JdbcImpl).sij = function (uidList, $completion) {
    var tmp = new PreparedStatementConfig('\n        SELECT ActorEntity.actorUid, ActorEntity.actorEtag, ActorEntity.actorLct\n          FROM ActorEntity\n         WHERE ActorEntity.actorUid IN (?)\n    ', true, VOID, VOID, VOID, true);
    return prepareAndUseStatementAsync(this.ril_1, tmp, ActorDao_JdbcImpl$findUidAndEtagByListAsync$slambda_0(uidList, null), $completion);
  };
  function ActorDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entities, resultContinuation) {
    this.qin_1 = this$0;
    this.rin_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActorDao_Repo$insertOrIgnoreListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_Repo$insertOrIgnoreListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActorDao_Repo$insertOrIgnoreListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qin_1.uin_1.pij(this.rin_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActorDao_Repo$insertOrIgnoreListAsync$slambda).q7e = function (completion) {
    return new ActorDao_Repo$insertOrIgnoreListAsync$slambda(this.qin_1, this.rin_1, completion);
  };
  function ActorDao_Repo$insertOrIgnoreListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ActorDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActorDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.gio_1 = this$0;
    this.hio_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActorDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActorDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.gio_1.uin_1.qij(this.hio_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActorDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new ActorDao_Repo$upsertListAsync$slambda(this.gio_1, this.hio_1, completion);
  };
  function ActorDao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new ActorDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function ActorDao_Repo$updateIfNameChanged$slambda(this$0, $uid, $name, $updateTime, resultContinuation) {
    this.qio_1 = this$0;
    this.rio_1 = $uid;
    this.sio_1 = $name;
    this.tio_1 = $updateTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(ActorDao_Repo$updateIfNameChanged$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(ActorDao_Repo$updateIfNameChanged$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(ActorDao_Repo$updateIfNameChanged$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qio_1.uin_1.rij(this.rio_1, this.sio_1, this.tio_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(ActorDao_Repo$updateIfNameChanged$slambda).q7e = function (completion) {
    return new ActorDao_Repo$updateIfNameChanged$slambda(this.qio_1, this.rio_1, this.sio_1, this.tio_1, completion);
  };
  function ActorDao_Repo$updateIfNameChanged$slambda_0(this$0, $uid, $name, $updateTime, resultContinuation) {
    var i = new ActorDao_Repo$updateIfNameChanged$slambda(this$0, $uid, $name, $updateTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findUidAndEtagByListAsyncCOROUTINE$442(_this__u8e3s4, uidList, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cip_1 = _this__u8e3s4;
    this.dip_1 = uidList;
  }
  protoOf($findUidAndEtagByListAsyncCOROUTINE$442).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cip_1.uin_1.sij(this.dip_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function ActorDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    ActorDao.call(this);
    this.sin_1 = _db;
    this.tin_1 = _repo;
    this.uin_1 = _dao;
    this.vin_1 = _httpClient;
    this.win_1 = _clientId;
    this.xin_1 = _endpoint;
  }
  protoOf(ActorDao_Repo).pij = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.tin_1, 'ActorEntity', ActorDao_Repo$insertOrIgnoreListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ActorDao_Repo).qij = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.tin_1, 'ActorEntity', ActorDao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(ActorDao_Repo).rij = function (uid, name, updateTime, $completion) {
    return withRepoChangeMonitorAsync(this.tin_1, 'ActorEntity', ActorDao_Repo$updateIfNameChanged$slambda_0(this, uid, name, updateTime, null), $completion);
  };
  protoOf(ActorDao_Repo).sij = function (uidList, $completion) {
    var tmp = new $findUidAndEtagByListAsyncCOROUTINE$442(this, uidList, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function GroupMemberActorJoinDao() {
  }
  function GroupMemberActorJoinDao_DoorWrapper(_db, _dao) {
    GroupMemberActorJoinDao.call(this);
    this.hip_1 = _db;
    this.iip_1 = _dao;
  }
  protoOf(GroupMemberActorJoinDao_DoorWrapper).eip = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.GroupMemberActorJoinDao_DoorWrapper.insertOrIgnoreListAsync.<anonymous>' call
      element.lip_1 = systemTimeInMillis();
    }
    return this.iip_1.eip(entities, $completion);
  };
  protoOf(GroupMemberActorJoinDao_DoorWrapper).fip = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.GroupMemberActorJoinDao_DoorWrapper.upsertListAsync.<anonymous>' call
      element.lip_1 = systemTimeInMillis();
    }
    return this.iip_1.fip(entities, $completion);
  };
  protoOf(GroupMemberActorJoinDao_DoorWrapper).gip = function (gmajGroupActorUid, gmajMemberActorUid, lastModTime, $completion) {
    return this.iip_1.gip(gmajGroupActorUid, gmajMemberActorUid, lastModTime, $completion);
  };
  function GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mip_1);
  }
  protoOf(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES(?, ?, ?)';
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_ignore$1).rip = function (stmt, entity) {
    stmt.a5o(1, entity.jip_1);
    stmt.a5o(2, entity.kip_1);
    stmt.a5o(3, entity.lip_1);
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_ignore$1).u5l = function (stmt, entity) {
    return this.rip(stmt, entity instanceof GroupMemberActorJoin ? entity : THROW_CCE());
  };
  function GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.mip_1);
  }
  protoOf(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES(?, ?, ?)';
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_upsert$1).rip = function (stmt, entity) {
    stmt.a5o(1, entity.jip_1);
    stmt.a5o(2, entity.kip_1);
    stmt.a5o(3, entity.lip_1);
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_upsert$1).u5l = function (stmt, entity) {
    return this.rip(stmt, entity instanceof GroupMemberActorJoin ? entity : THROW_CCE());
  };
  function GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda($lastModTime, $gmajGroupActorUid, $gmajMemberActorUid, resultContinuation) {
    this.ciq_1 = $lastModTime;
    this.diq_1 = $gmajGroupActorUid;
    this.eiq_1 = $gmajMemberActorUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.fiq_1.a5o(1, this.ciq_1);
            this.fiq_1.a5o(2, this.diq_1);
            this.fiq_1.a5o(3, this.eiq_1);
            this.fiq_1.a5o(4, this.ciq_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.fiq_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda).r5l = function (_stmt, completion) {
    var i = new GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda(this.ciq_1, this.diq_1, this.eiq_1, completion);
    i.fiq_1 = _stmt;
    return i;
  };
  function GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda_0($lastModTime, $gmajGroupActorUid, $gmajMemberActorUid, resultContinuation) {
    var i = new GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda($lastModTime, $gmajGroupActorUid, $gmajMemberActorUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateLastModifiedTimeIfNeededAsyncCOROUTINE$444(_this__u8e3s4, gmajGroupActorUid, gmajMemberActorUid, lastModTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.oiq_1 = _this__u8e3s4;
    this.piq_1 = gmajGroupActorUid;
    this.qiq_1 = gmajMemberActorUid;
    this.riq_1 = lastModTime;
  }
  protoOf($updateLastModifiedTimeIfNeededAsyncCOROUTINE$444).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE GroupMemberActorJoin\n           SET gmajLastMod = CAST(? AS BIGINT)\n         WHERE gmajGroupActorUid = CAST(? AS BIGINT)\n           AND gmajMemberActorUid = CAST(? AS BIGINT)\n           AND gmajLastMod != CAST(? AS BIGINT) \n    ', VOID, VOID, VOID, '\n        UPDATE GroupMemberActorJoin\n           SET gmajLastMod = ?\n         WHERE gmajGroupActorUid = ?\n           AND gmajMemberActorUid = ?\n           AND gmajLastMod != ? \n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.oiq_1.mip_1, tmp_0, GroupMemberActorJoinDao_JdbcImpl$updateLastModifiedTimeIfNeededAsync$slambda_0(this.riq_1, this.piq_1, this.qiq_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function GroupMemberActorJoinDao_JdbcImpl(_db) {
    GroupMemberActorJoinDao.call(this);
    this.mip_1 = _db;
    var tmp = this;
    tmp.nip_1 = new GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_ignore$1(this);
    var tmp_0 = this;
    tmp_0.oip_1 = new GroupMemberActorJoinDao_JdbcImpl$_insertAdapterGroupMemberActorJoin_upsert$1(this);
  }
  protoOf(GroupMemberActorJoinDao_JdbcImpl).eip = function (entities, $completion) {
    return this.nip_1.e5n(entities, $completion);
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl).fip = function (entities, $completion) {
    return this.oip_1.e5n(entities, $completion);
  };
  protoOf(GroupMemberActorJoinDao_JdbcImpl).gip = function (gmajGroupActorUid, gmajMemberActorUid, lastModTime, $completion) {
    var tmp = new $updateLastModifiedTimeIfNeededAsyncCOROUTINE$444(this, gmajGroupActorUid, gmajMemberActorUid, lastModTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entities, resultContinuation) {
    this.air_1 = this$0;
    this.bir_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.air_1.eir_1.eip(this.bir_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda).q7e = function (completion) {
    return new GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda(this.air_1, this.bir_1, completion);
  };
  function GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function GroupMemberActorJoinDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation) {
    this.qir_1 = this$0;
    this.rir_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(GroupMemberActorJoinDao_Repo$upsertListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(GroupMemberActorJoinDao_Repo$upsertListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(GroupMemberActorJoinDao_Repo$upsertListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.qir_1.eir_1.fip(this.rir_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(GroupMemberActorJoinDao_Repo$upsertListAsync$slambda).q7e = function (completion) {
    return new GroupMemberActorJoinDao_Repo$upsertListAsync$slambda(this.qir_1, this.rir_1, completion);
  };
  function GroupMemberActorJoinDao_Repo$upsertListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new GroupMemberActorJoinDao_Repo$upsertListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda(this$0, $gmajGroupActorUid, $gmajMemberActorUid, $lastModTime, resultContinuation) {
    this.ais_1 = this$0;
    this.bis_1 = $gmajGroupActorUid;
    this.cis_1 = $gmajMemberActorUid;
    this.dis_1 = $lastModTime;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.ais_1.eir_1.gip(this.bis_1, this.cis_1, this.dis_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda).q7e = function (completion) {
    return new GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda(this.ais_1, this.bis_1, this.cis_1, this.dis_1, completion);
  };
  function GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda_0(this$0, $gmajGroupActorUid, $gmajMemberActorUid, $lastModTime, resultContinuation) {
    var i = new GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda(this$0, $gmajGroupActorUid, $gmajMemberActorUid, $lastModTime, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function GroupMemberActorJoinDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    GroupMemberActorJoinDao.call(this);
    this.cir_1 = _db;
    this.dir_1 = _repo;
    this.eir_1 = _dao;
    this.fir_1 = _httpClient;
    this.gir_1 = _clientId;
    this.hir_1 = _endpoint;
  }
  protoOf(GroupMemberActorJoinDao_Repo).eip = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.dir_1, 'GroupMemberActorJoin', GroupMemberActorJoinDao_Repo$insertOrIgnoreListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(GroupMemberActorJoinDao_Repo).fip = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.dir_1, 'GroupMemberActorJoin', GroupMemberActorJoinDao_Repo$upsertListAsync$slambda_0(this, entities, null), $completion);
  };
  protoOf(GroupMemberActorJoinDao_Repo).gip = function (gmajGroupActorUid, gmajMemberActorUid, lastModTime, $completion) {
    return withRepoChangeMonitorAsync(this.dir_1, 'GroupMemberActorJoin', GroupMemberActorJoinDao_Repo$updateLastModifiedTimeIfNeededAsync$slambda_0(this, gmajGroupActorUid, gmajMemberActorUid, lastModTime, null), $completion);
  };
  function StateDeleteCommandDao() {
  }
  function StateDeleteCommandDao_DoorWrapper(_db, _dao) {
    StateDeleteCommandDao.call(this);
    this.eis_1 = _db;
    this.fis_1 = _dao;
  }
  function StateDeleteCommandDao_JdbcImpl$_insertAdapterStateDeleteCommand_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.gis_1);
  }
  protoOf(StateDeleteCommandDao_JdbcImpl$_insertAdapterStateDeleteCommand_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO StateDeleteCommand (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(StateDeleteCommandDao_JdbcImpl$_insertAdapterStateDeleteCommand_upsert$1).kis = function (stmt, entity) {
    stmt.a5o(1, entity.lis_1);
    stmt.a5o(2, entity.mis_1);
    stmt.a5o(3, entity.nis_1);
    stmt.d5o(4, entity.ois_1);
    stmt.a5o(5, entity.pis_1);
    setLongNullable(stmt, 6, entity.qis_1);
    setLongNullable(stmt, 7, entity.ris_1);
  };
  protoOf(StateDeleteCommandDao_JdbcImpl$_insertAdapterStateDeleteCommand_upsert$1).u5l = function (stmt, entity) {
    return this.kis(stmt, entity instanceof StateDeleteCommand ? entity : THROW_CCE());
  };
  function StateDeleteCommandDao_JdbcImpl(_db) {
    StateDeleteCommandDao.call(this);
    this.gis_1 = _db;
    var tmp = this;
    tmp.his_1 = new StateDeleteCommandDao_JdbcImpl$_insertAdapterStateDeleteCommand_upsert$1(this);
  }
  function StateDeleteCommandDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    StateDeleteCommandDao.call(this);
    this.sis_1 = _db;
    this.tis_1 = _repo;
    this.uis_1 = _dao;
    this.vis_1 = _httpClient;
    this.wis_1 = _clientId;
    this.xis_1 = _endpoint;
  }
  function StateEntityDao() {
  }
  function StateEntityDao_DoorWrapper(_db, _dao) {
    StateEntityDao.call(this);
    this.yis_1 = _db;
    this.zis_1 = _dao;
  }
  function StateEntityDao_JdbcImpl$_insertAdapterStateEntity_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ait_1);
  }
  protoOf(StateEntityDao_JdbcImpl$_insertAdapterStateEntity_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO StateEntity (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(StateEntityDao_JdbcImpl$_insertAdapterStateEntity_upsert$1).eit = function (stmt, entity) {
    stmt.a5o(1, entity.fit_1);
    stmt.a5o(2, entity.git_1);
    stmt.a5o(3, entity.hit_1);
    stmt.d5o(4, entity.iit_1);
    stmt.a5o(5, entity.jit_1);
    stmt.a5o(6, entity.kit_1);
    stmt.d5o(7, entity.lit_1);
    stmt.z5n(8, entity.mit_1);
    stmt.d5o(9, entity.nit_1);
    stmt.n5n(10, entity.oit_1);
    setLongNullable(stmt, 11, entity.pit_1);
    setLongNullable(stmt, 12, entity.qit_1);
    stmt.n5n(13, entity.rit_1);
    stmt.d5o(14, entity.sit_1);
  };
  protoOf(StateEntityDao_JdbcImpl$_insertAdapterStateEntity_upsert$1).u5l = function (stmt, entity) {
    return this.eit(stmt, entity instanceof StateEntity ? entity : THROW_CCE());
  };
  function StateEntityDao_JdbcImpl(_db) {
    StateEntityDao.call(this);
    this.ait_1 = _db;
    var tmp = this;
    tmp.bit_1 = new StateEntityDao_JdbcImpl$_insertAdapterStateEntity_upsert$1(this);
  }
  function StateEntityDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    StateEntityDao.call(this);
    this.tit_1 = _db;
    this.uit_1 = _repo;
    this.vit_1 = _dao;
    this.wit_1 = _httpClient;
    this.xit_1 = _clientId;
    this.yit_1 = _endpoint;
  }
  function StatementContextActivityJoinDao() {
  }
  function StatementContextActivityJoinDao_DoorWrapper(_db, _dao) {
    StatementContextActivityJoinDao.call(this);
    this.aiu_1 = _db;
    this.biu_1 = _dao;
  }
  protoOf(StatementContextActivityJoinDao_DoorWrapper).zit = function (entities, $completion) {
    return this.biu_1.zit(entities, $completion);
  };
  function StatementContextActivityJoinDao_JdbcImpl$_insertAdapterStatementContextActivityJoin_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.ciu_1);
  }
  protoOf(StatementContextActivityJoinDao_JdbcImpl$_insertAdapterStatementContextActivityJoin_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO StatementContextActivityJoin (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) VALUES(?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(StatementContextActivityJoinDao_JdbcImpl$_insertAdapterStatementContextActivityJoin_ignore$1).giu = function (stmt, entity) {
    stmt.a5o(1, entity.hiu_1);
    stmt.a5o(2, entity.iiu_1);
    stmt.a5o(3, entity.jiu_1);
    stmt.z5n(4, entity.kiu_1);
    stmt.a5o(5, entity.liu_1);
    stmt.d5o(6, entity.miu_1);
    stmt.a5o(7, entity.niu_1);
  };
  protoOf(StatementContextActivityJoinDao_JdbcImpl$_insertAdapterStatementContextActivityJoin_ignore$1).u5l = function (stmt, entity) {
    return this.giu(stmt, entity instanceof StatementContextActivityJoin ? entity : THROW_CCE());
  };
  function StatementContextActivityJoinDao_JdbcImpl(_db) {
    StatementContextActivityJoinDao.call(this);
    this.ciu_1 = _db;
    var tmp = this;
    tmp.diu_1 = new StatementContextActivityJoinDao_JdbcImpl$_insertAdapterStatementContextActivityJoin_ignore$1(this);
  }
  protoOf(StatementContextActivityJoinDao_JdbcImpl).zit = function (entities, $completion) {
    return this.diu_1.e5n(entities, $completion);
  };
  function StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entities, resultContinuation) {
    this.wiu_1 = this$0;
    this.xiu_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.wiu_1.aiv_1.zit(this.xiu_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda).q7e = function (completion) {
    return new StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda(this.wiu_1, this.xiu_1, completion);
  };
  function StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function StatementContextActivityJoinDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    StatementContextActivityJoinDao.call(this);
    this.yiu_1 = _db;
    this.ziu_1 = _repo;
    this.aiv_1 = _dao;
    this.biv_1 = _httpClient;
    this.civ_1 = _clientId;
    this.div_1 = _endpoint;
  }
  protoOf(StatementContextActivityJoinDao_Repo).zit = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.ziu_1, 'StatementContextActivityJoin', StatementContextActivityJoinDao_Repo$insertOrIgnoreListAsync$slambda_0(this, entities, null), $completion);
  };
  function StatementDao() {
  }
  function StatementDao_DoorWrapper(_db, _dao) {
    StatementDao.call(this);
    this.hiv_1 = _db;
    this.iiv_1 = _dao;
  }
  protoOf(StatementDao_DoorWrapper).eiv = function (entityList, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entityList.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.StatementDao_DoorWrapper.insertOrIgnoreListAsync.<anonymous>' call
      element.jiw_1 = systemTimeInMillis();
    }
    return this.iiv_1.eiv(entityList, $completion);
  };
  protoOf(StatementDao_DoorWrapper).fiv = function (clazzUid, studentPersonUids, accountPersonUid, $completion) {
    return this.iiv_1.fiv(clazzUid, studentPersonUids, accountPersonUid, $completion);
  };
  protoOf(StatementDao_DoorWrapper).giv = function (clazzUid, studentPersonUids, accountPersonUid) {
    return this.iiv_1.giv(clazzUid, studentPersonUids, accountPersonUid);
  };
  function StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda$lambda(_result) {
    return mapRows(_result, StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda$lambda$lambda(_result));
  }
  function StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_sPersonUid = $_result.d5t('sPersonUid');
      var _tmp_sCbUid = $_result.d5t('sCbUid');
      var _tmp_sProgress = getIntNullable($_result, 'sProgress');
      var _tmp_sIsCompleted = $_result.o6c('sIsCompleted');
      var _tmp_sIsSuccess = getBooleanNullable($_result, 'sIsSuccess');
      var _tmp_sScoreScaled = getFloatNullable($_result, 'sScoreScaled');
      // Inline function 'kotlin.apply' call
      var this_0 = new BlockStatus();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.xapi.StatementDao_JdbcImpl.findStatusForStudentsInClazz.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.gaq_1 = _tmp_sPersonUid;
      this_0.haq_1 = _tmp_sCbUid;
      this_0.iaq_1 = _tmp_sProgress;
      this_0.jaq_1 = _tmp_sIsCompleted;
      this_0.kaq_1 = _tmp_sIsSuccess;
      this_0.laq_1 = _tmp_sScoreScaled;
      return this_0;
    };
  }
  function StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda$lambda(_result) {
    return mapRows(_result, StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda$lambda$lambda(_result));
  }
  function StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda$lambda$lambda($_result) {
    return function (it) {
      var _tmp_sPersonUid = $_result.d5t('sPersonUid');
      var _tmp_sCbUid = $_result.d5t('sCbUid');
      var _tmp_sProgress = getIntNullable($_result, 'sProgress');
      var _tmp_sIsCompleted = $_result.o6c('sIsCompleted');
      var _tmp_sIsSuccess = getBooleanNullable($_result, 'sIsSuccess');
      var _tmp_sScoreScaled = getFloatNullable($_result, 'sScoreScaled');
      // Inline function 'kotlin.apply' call
      var this_0 = new BlockStatus();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.core.db.dao.xapi.StatementDao_JdbcImpl.findStatusForStudentsInClazzAsFlow.<anonymous>.<anonymous>.<anonymous>.<anonymous>.<anonymous>' call
      this_0.gaq_1 = _tmp_sPersonUid;
      this_0.haq_1 = _tmp_sCbUid;
      this_0.iaq_1 = _tmp_sProgress;
      this_0.jaq_1 = _tmp_sIsCompleted;
      this_0.kaq_1 = _tmp_sIsSuccess;
      this_0.laq_1 = _tmp_sScoreScaled;
      return this_0;
    };
  }
  function StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda($studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation) {
    this.aix_1 = $studentPersonUids;
    this.bix_1 = $clazzUid;
    this.cix_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda).eix = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda).he = function (p1, $completion) {
    return this.eix((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            var tmp_0 = this.dix_1.w5m();
            var this_0 = this.aix_1;
            this.dix_1.e5o(1, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.dix_1.a5o(2, this.bix_1);
            var tmp_1 = this.dix_1.w5m();
            var this_1 = this.aix_1;
            this.dix_1.e5o(3, createArrayOrProxyArrayOf(tmp_1, 'BIGINT', copyToArray(this_1)));
            this.dix_1.a5o(4, this.cix_1);
            this.dix_1.a5o(5, this.cix_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.dix_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda).r5l = function (_stmt, completion) {
    var i = new StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda(this.aix_1, this.bix_1, this.cix_1, completion);
    i.dix_1 = _stmt;
    return i;
  };
  function StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda_0($studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda($studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.eix(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function StatementDao_JdbcImpl$_insertAdapterStatementEntity_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.fix_1);
  }
  protoOf(StatementDao_JdbcImpl$_insertAdapterStatementEntity_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO StatementEntity (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(StatementDao_JdbcImpl$_insertAdapterStatementEntity_ignore$1).jix = function (stmt, entity) {
    stmt.a5o(1, entity.jiv_1);
    stmt.a5o(2, entity.kiv_1);
    stmt.a5o(3, entity.liv_1);
    stmt.a5o(4, entity.miv_1);
    stmt.z5n(5, entity.niv_1);
    stmt.a5o(6, entity.oiv_1);
    stmt.a5o(7, entity.piv_1);
    stmt.a5o(8, entity.qiv_1);
    stmt.a5o(9, entity.riv_1);
    stmt.a5o(10, entity.siv_1);
    setBooleanNullable(stmt, 11, entity.tiv_1);
    setBooleanNullable(stmt, 12, entity.uiv_1);
    setFloatNullable(stmt, 13, entity.viv_1);
    setFloatNullable(stmt, 14, entity.wiv_1);
    setFloatNullable(stmt, 15, entity.xiv_1);
    setFloatNullable(stmt, 16, entity.yiv_1);
    setLongNullable(stmt, 17, entity.ziv_1);
    stmt.d5o(18, entity.aiw_1);
    stmt.a5o(19, entity.biw_1);
    stmt.a5o(20, entity.ciw_1);
    stmt.a5o(21, entity.diw_1);
    stmt.a5o(22, entity.eiw_1);
    stmt.d5o(23, entity.fiw_1);
    stmt.a5o(24, entity.giw_1);
    stmt.a5o(25, entity.hiw_1);
    stmt.a5o(26, entity.iiw_1);
    stmt.a5o(27, entity.jiw_1);
    setIntNullable(stmt, 28, entity.kiw_1);
    stmt.n5n(29, entity.liw_1);
    stmt.a5o(30, entity.miw_1);
    stmt.a5o(31, entity.niw_1);
    stmt.a5o(32, entity.oiw_1);
    stmt.a5o(33, entity.piw_1);
    stmt.a5o(34, entity.qiw_1);
    stmt.n5n(35, entity.riw_1);
  };
  protoOf(StatementDao_JdbcImpl$_insertAdapterStatementEntity_ignore$1).u5l = function (stmt, entity) {
    return this.jix(stmt, entity instanceof StatementEntity ? entity : THROW_CCE());
  };
  function StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda($studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation) {
    this.six_1 = $studentPersonUids;
    this.tix_1 = $clazzUid;
    this.uix_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda).eix = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda).he = function (p1, $completion) {
    return this.eix((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            var tmp_0 = this.vix_1.w5m();
            var this_0 = this.six_1;
            this.vix_1.e5o(1, createArrayOrProxyArrayOf(tmp_0, 'BIGINT', copyToArray(this_0)));
            this.vix_1.a5o(2, this.tix_1);
            var tmp_1 = this.vix_1.w5m();
            var this_1 = this.six_1;
            this.vix_1.e5o(3, createArrayOrProxyArrayOf(tmp_1, 'BIGINT', copyToArray(this_1)));
            this.vix_1.a5o(4, this.uix_1);
            this.vix_1.a5o(5, this.uix_1);
            this.hd_1 = 1;
            suspendResult = executeQueryAsyncKmp(this.vix_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return useResults(ARGUMENT, StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda$lambda);
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda).r5l = function (_stmt, completion) {
    var i = new StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda(this.six_1, this.tix_1, this.uix_1, completion);
    i.vix_1 = _stmt;
    return i;
  };
  function StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda_0($studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda($studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.eix(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda(this$0, $studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation) {
    this.eiy_1 = this$0;
    this.fiy_1 = $studentPersonUids;
    this.giy_1 = $clazzUid;
    this.hiy_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda).iiy = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda).r7e = function ($completion) {
    return this.iiy($completion);
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        WITH PersonUids(personUid) AS (\n             SELECT Person.personUid\n               FROM Person\n              WHERE Person.personUid IN (?)\n        ),\n        \n        \n        -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship\n        AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS(\n             SELECT ActorEntity.actorUid AS actorUid, \n                    ActorEntity.actorPersonUid AS actorPersonUid\n               FROM ActorEntity\n              WHERE ActorEntity.actorPersonUid IN\n                    (SELECT PersonUids.personUid\n                       FROM PersonUids)           \n        ),\n        \n        -- Add in group actor uids\n        ActorUidsForPersonUid(actorUid, actorPersonUid) AS (\n             SELECT AgentActorUidsForPersonUid.actorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid     \n              UNION \n             SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid\n                    JOIN GroupMemberActorJoin \n                         ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid\n        )\n    ,\n        \n        PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS (\n             SELECT Person.personUid AS personUid,\n                    CourseBlock.cbUid AS cbUid,\n                    CourseBlock.cbType AS cbType,\n                    ClazzAssignment.caMarkingType AS caMarkingType\n               FROM Person\n                    JOIN CourseBlock\n                         ON CourseBlock.cbClazzUid = CAST(? AS BIGINT)\n                    LEFT JOIN ClazzAssignment\n                         ON CourseBlock.cbType = 103\n                        AND ClazzAssignment.caUid = CourseBlock.cbEntityUid     \n              WHERE Person.personUid IN (?)       \n        )\n        \n        SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid,\n               PersonUidsAndCourseBlocks.cbUid AS sCbUid,\n               (SELECT MAX(StatementEntity.extensionProgress)\n                  FROM StatementEntity\n                       \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                 WHERE \n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n     \n               ) AS sProgress,\n               (SELECT EXISTS(\n                       SELECT 1\n                         FROM StatementEntity\n                              \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                        WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n               )) AS sIsCompleted,\n               (SELECT CASE\n                       /*If there is a statement marked as success, then count as successful even if\n                        *there were subsequent failed attempts\n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n                                   )                           \n                       ) THEN 1\n                       /*If there are no statements marked as success, however there are statements marekd as fail,\n                        *then count as fail \n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n                                   )                           \n                       ) THEN 0\n                       /* Else there is no known success/fail result*/\n                       ELSE NULL\n                       END\n               ) AS sIsSuccess,\n               -- See ClazzGradebookScreen for info on which score is selected\n               (SELECT CASE\n                       -- When there is a peer marked assignment, take the average of the latest distinct ...\n                       WHEN (     PersonUidsAndCourseBlocks.cbType = 103\n                              AND PersonUidsAndCourseBlocks.caMarkingType = 2\n                            ) \n                            THEN (SELECT AVG(StatementEntity.resultScoreScaled)\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                     AND StatementEntity.timestamp = (\n                                         SELECT MAX(StatementEntity_Inner.timestamp)\n                                           FROM StatementEntity StatementEntity_Inner\n                                                \n       JOIN ActorEntity ActorEntity_Inner\n            ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid\n       LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner\n            ON ActorEntity_Inner.actorObjectType = 2\n               AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                          WHERE (\n            StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity_Inner.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                            AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid)\n                                   LIMIT 1)\n                       -- When an assignment, but not peer marked, then the latest score     \n                       WHEN PersonUidsAndCourseBlocks.cbType = 103\n                            THEN (SELECT StatementEntity.resultScoreScaled\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                ORDER BY StatementEntity.timestamp DESC\n                                   LIMIT 1)\n                       -- else the best score accomplished so far            \n                       ELSE (SELECT MAX(StatementEntity.resultScoreScaled) \n                               FROM StatementEntity\n                                    \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                              WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    ))            \n                       END\n               ) AS sScoreScaled\n          FROM PersonUidsAndCourseBlocks\n         WHERE CAST(? AS BIGINT) = CAST(? AS BIGINT) \n    ', true, VOID, VOID, '\n        WITH PersonUids(personUid) AS (\n             SELECT Person.personUid\n               FROM Person\n              WHERE Person.personUid IN (?)\n        ),\n        \n        \n        -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship\n        AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS(\n             SELECT ActorEntity.actorUid AS actorUid, \n                    ActorEntity.actorPersonUid AS actorPersonUid\n               FROM ActorEntity\n              WHERE ActorEntity.actorPersonUid IN\n                    (SELECT PersonUids.personUid\n                       FROM PersonUids)           \n        ),\n        \n        -- Add in group actor uids\n        ActorUidsForPersonUid(actorUid, actorPersonUid) AS (\n             SELECT AgentActorUidsForPersonUid.actorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid     \n              UNION \n             SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid\n                    JOIN GroupMemberActorJoin \n                         ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid\n        )\n    ,\n        \n        PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS (\n             SELECT Person.personUid AS personUid,\n                    CourseBlock.cbUid AS cbUid,\n                    CourseBlock.cbType AS cbType,\n                    ClazzAssignment.caMarkingType AS caMarkingType\n               FROM Person\n                    JOIN CourseBlock\n                         ON CourseBlock.cbClazzUid = ?\n                    LEFT JOIN ClazzAssignment\n                         ON CourseBlock.cbType = 103\n                        AND ClazzAssignment.caUid = CourseBlock.cbEntityUid     \n              WHERE Person.personUid IN (?)       \n        )\n        \n        SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid,\n               PersonUidsAndCourseBlocks.cbUid AS sCbUid,\n               (SELECT MAX(StatementEntity.extensionProgress)\n                  FROM StatementEntity\n                       \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                 WHERE \n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n     \n               ) AS sProgress,\n               (SELECT EXISTS(\n                       SELECT 1\n                         FROM StatementEntity\n                              \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                        WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n               )) AS sIsCompleted,\n               (SELECT CASE\n                       /*If there is a statement marked as success, then count as successful even if\n                        *there were subsequent failed attempts\n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n                                   )                           \n                       ) THEN 1\n                       /*If there are no statements marked as success, however there are statements marekd as fail,\n                        *then count as fail \n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n                                   )                           \n                       ) THEN 0\n                       /* Else there is no known success/fail result*/\n                       ELSE NULL\n                       END\n               ) AS sIsSuccess,\n               -- See ClazzGradebookScreen for info on which score is selected\n               (SELECT CASE\n                       -- When there is a peer marked assignment, take the average of the latest distinct ...\n                       WHEN (     PersonUidsAndCourseBlocks.cbType = 103\n                              AND PersonUidsAndCourseBlocks.caMarkingType = 2\n                            ) \n                            THEN (SELECT AVG(StatementEntity.resultScoreScaled)\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                     AND StatementEntity.timestamp = (\n                                         SELECT MAX(StatementEntity_Inner.timestamp)\n                                           FROM StatementEntity StatementEntity_Inner\n                                                \n       JOIN ActorEntity ActorEntity_Inner\n            ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid\n       LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner\n            ON ActorEntity_Inner.actorObjectType = 2\n               AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                          WHERE (\n            StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity_Inner.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                            AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid)\n                                   LIMIT 1)\n                       -- When an assignment, but not peer marked, then the latest score     \n                       WHEN PersonUidsAndCourseBlocks.cbType = 103\n                            THEN (SELECT StatementEntity.resultScoreScaled\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                ORDER BY StatementEntity.timestamp DESC\n                                   LIMIT 1)\n                       -- else the best score accomplished so far            \n                       ELSE (SELECT MAX(StatementEntity.resultScoreScaled) \n                               FROM StatementEntity\n                                    \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                              WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    ))            \n                       END\n               ) AS sScoreScaled\n          FROM PersonUidsAndCourseBlocks\n         WHERE ? = ? \n    \n', true);
            suspendResult = prepareAndUseStatementAsync(this.eiy_1.fix_1, tmp_0, StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda$slambda_0(this.fiy_1, this.giy_1, this.hiy_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda).q7e = function (completion) {
    return new StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda(this.eiy_1, this.fiy_1, this.giy_1, this.hiy_1, completion);
  };
  function StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda_0(this$0, $studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation) {
    var i = new StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda(this$0, $studentPersonUids, $clazzUid, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.iiy($completion);
    };
    l.$arity = 0;
    return l;
  }
  function StatementDao_JdbcImpl(_db) {
    StatementDao.call(this);
    this.fix_1 = _db;
    var tmp = this;
    tmp.gix_1 = new StatementDao_JdbcImpl$_insertAdapterStatementEntity_ignore$1(this);
  }
  protoOf(StatementDao_JdbcImpl).eiv = function (entityList, $completion) {
    return this.gix_1.e5n(entityList, $completion);
  };
  protoOf(StatementDao_JdbcImpl).fiv = function (clazzUid, studentPersonUids, accountPersonUid, $completion) {
    var tmp = new PreparedStatementConfig('\n        WITH PersonUids(personUid) AS (\n             SELECT Person.personUid\n               FROM Person\n              WHERE Person.personUid IN (?)\n        ),\n        \n        \n        -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship\n        AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS(\n             SELECT ActorEntity.actorUid AS actorUid, \n                    ActorEntity.actorPersonUid AS actorPersonUid\n               FROM ActorEntity\n              WHERE ActorEntity.actorPersonUid IN\n                    (SELECT PersonUids.personUid\n                       FROM PersonUids)           \n        ),\n        \n        -- Add in group actor uids\n        ActorUidsForPersonUid(actorUid, actorPersonUid) AS (\n             SELECT AgentActorUidsForPersonUid.actorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid     \n              UNION \n             SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid\n                    JOIN GroupMemberActorJoin \n                         ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid\n        )\n    ,\n        \n        PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS (\n             SELECT Person.personUid AS personUid,\n                    CourseBlock.cbUid AS cbUid,\n                    CourseBlock.cbType AS cbType,\n                    ClazzAssignment.caMarkingType AS caMarkingType\n               FROM Person\n                    JOIN CourseBlock\n                         ON CourseBlock.cbClazzUid = CAST(? AS BIGINT)\n                    LEFT JOIN ClazzAssignment\n                         ON CourseBlock.cbType = 103\n                        AND ClazzAssignment.caUid = CourseBlock.cbEntityUid     \n              WHERE Person.personUid IN (?)       \n        )\n        \n        SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid,\n               PersonUidsAndCourseBlocks.cbUid AS sCbUid,\n               (SELECT MAX(StatementEntity.extensionProgress)\n                  FROM StatementEntity\n                       \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                 WHERE \n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n     \n               ) AS sProgress,\n               (SELECT EXISTS(\n                       SELECT 1\n                         FROM StatementEntity\n                              \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                        WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n               )) AS sIsCompleted,\n               (SELECT CASE\n                       /*If there is a statement marked as success, then count as successful even if\n                        *there were subsequent failed attempts\n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n                                   )                           \n                       ) THEN 1\n                       /*If there are no statements marked as success, however there are statements marekd as fail,\n                        *then count as fail \n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n                                   )                           \n                       ) THEN 0\n                       /* Else there is no known success/fail result*/\n                       ELSE NULL\n                       END\n               ) AS sIsSuccess,\n               -- See ClazzGradebookScreen for info on which score is selected\n               (SELECT CASE\n                       -- When there is a peer marked assignment, take the average of the latest distinct ...\n                       WHEN (     PersonUidsAndCourseBlocks.cbType = 103\n                              AND PersonUidsAndCourseBlocks.caMarkingType = 2\n                            ) \n                            THEN (SELECT AVG(StatementEntity.resultScoreScaled)\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                     AND StatementEntity.timestamp = (\n                                         SELECT MAX(StatementEntity_Inner.timestamp)\n                                           FROM StatementEntity StatementEntity_Inner\n                                                \n       JOIN ActorEntity ActorEntity_Inner\n            ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid\n       LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner\n            ON ActorEntity_Inner.actorObjectType = 2\n               AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                          WHERE (\n            StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity_Inner.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                            AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid)\n                                   LIMIT 1)\n                       -- When an assignment, but not peer marked, then the latest score     \n                       WHEN PersonUidsAndCourseBlocks.cbType = 103\n                            THEN (SELECT StatementEntity.resultScoreScaled\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                ORDER BY StatementEntity.timestamp DESC\n                                   LIMIT 1)\n                       -- else the best score accomplished so far            \n                       ELSE (SELECT MAX(StatementEntity.resultScoreScaled) \n                               FROM StatementEntity\n                                    \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                              WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    ))            \n                       END\n               ) AS sScoreScaled\n          FROM PersonUidsAndCourseBlocks\n         WHERE CAST(? AS BIGINT) = CAST(? AS BIGINT) \n    ', true, VOID, VOID, '\n        WITH PersonUids(personUid) AS (\n             SELECT Person.personUid\n               FROM Person\n              WHERE Person.personUid IN (?)\n        ),\n        \n        \n        -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship\n        AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS(\n             SELECT ActorEntity.actorUid AS actorUid, \n                    ActorEntity.actorPersonUid AS actorPersonUid\n               FROM ActorEntity\n              WHERE ActorEntity.actorPersonUid IN\n                    (SELECT PersonUids.personUid\n                       FROM PersonUids)           \n        ),\n        \n        -- Add in group actor uids\n        ActorUidsForPersonUid(actorUid, actorPersonUid) AS (\n             SELECT AgentActorUidsForPersonUid.actorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid     \n              UNION \n             SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid,\n                    AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid\n               FROM AgentActorUidsForPersonUid\n                    JOIN GroupMemberActorJoin \n                         ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid\n        )\n    ,\n        \n        PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS (\n             SELECT Person.personUid AS personUid,\n                    CourseBlock.cbUid AS cbUid,\n                    CourseBlock.cbType AS cbType,\n                    ClazzAssignment.caMarkingType AS caMarkingType\n               FROM Person\n                    JOIN CourseBlock\n                         ON CourseBlock.cbClazzUid = ?\n                    LEFT JOIN ClazzAssignment\n                         ON CourseBlock.cbType = 103\n                        AND ClazzAssignment.caUid = CourseBlock.cbEntityUid     \n              WHERE Person.personUid IN (?)       \n        )\n        \n        SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid,\n               PersonUidsAndCourseBlocks.cbUid AS sCbUid,\n               (SELECT MAX(StatementEntity.extensionProgress)\n                  FROM StatementEntity\n                       \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                 WHERE \n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n     \n               ) AS sProgress,\n               (SELECT EXISTS(\n                       SELECT 1\n                         FROM StatementEntity\n                              \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                        WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n               )) AS sIsCompleted,\n               (SELECT CASE\n                       /*If there is a statement marked as success, then count as successful even if\n                        *there were subsequent failed attempts\n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n                                   )                           \n                       ) THEN 1\n                       /*If there are no statements marked as success, however there are statements marekd as fail,\n                        *then count as fail \n                        */\n                       WHEN (\n                            SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                           \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                    WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                      AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n                                   )                           \n                       ) THEN 0\n                       /* Else there is no known success/fail result*/\n                       ELSE NULL\n                       END\n               ) AS sIsSuccess,\n               -- See ClazzGradebookScreen for info on which score is selected\n               (SELECT CASE\n                       -- When there is a peer marked assignment, take the average of the latest distinct ...\n                       WHEN (     PersonUidsAndCourseBlocks.cbType = 103\n                              AND PersonUidsAndCourseBlocks.caMarkingType = 2\n                            ) \n                            THEN (SELECT AVG(StatementEntity.resultScoreScaled)\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                     AND StatementEntity.timestamp = (\n                                         SELECT MAX(StatementEntity_Inner.timestamp)\n                                           FROM StatementEntity StatementEntity_Inner\n                                                \n       JOIN ActorEntity ActorEntity_Inner\n            ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid\n       LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner\n            ON ActorEntity_Inner.actorObjectType = 2\n               AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                          WHERE (\n            StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity_Inner.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                            AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid)\n                                   LIMIT 1)\n                       -- When an assignment, but not peer marked, then the latest score     \n                       WHEN PersonUidsAndCourseBlocks.cbType = 103\n                            THEN (SELECT StatementEntity.resultScoreScaled\n                                    FROM StatementEntity\n                                         \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                                   WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    )\n                                ORDER BY StatementEntity.timestamp DESC\n                                   LIMIT 1)\n                       -- else the best score accomplished so far            \n                       ELSE (SELECT MAX(StatementEntity.resultScoreScaled) \n                               FROM StatementEntity\n                                    \n       JOIN ActorEntity\n            ON ActorEntity.actorUid = StatementEntity.statementActorUid\n       LEFT JOIN GroupMemberActorJoin\n            ON ActorEntity.actorObjectType = 2\n               AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN (\n                   SELECT GroupMemberActorJoin.gmajGroupActorUid, \n                          GroupMemberActorJoin.gmajMemberActorUid\n                     FROM GroupMemberActorJoin\n                    WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid\n                      AND GroupMemberActorJoin.gmajMemberActorUid IN (\n                          SELECT ActorUidsForPersonUid.actorUid\n                            FROM ActorUidsForPersonUid\n                           WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid))\n    \n                              WHERE (\n            StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid\n        AND StatementEntity.statementActorUid IN (\n            SELECT ActorUidsForPersonUid.actorUid\n              FROM ActorUidsForPersonUid\n             WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)  \n                   \n    ))            \n                       END\n               ) AS sScoreScaled\n          FROM PersonUidsAndCourseBlocks\n         WHERE ? = ? \n    \n', true);
    return prepareAndUseStatementAsync(this.fix_1, tmp, StatementDao_JdbcImpl$findStatusForStudentsInClazz$slambda_0(studentPersonUids, clazzUid, accountPersonUid, null), $completion);
  };
  protoOf(StatementDao_JdbcImpl).giv = function (clazzUid, studentPersonUids, accountPersonUid) {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = ['ClazzAssignment', 'CourseBlock', 'Person', 'GroupMemberActorJoin', 'ActorEntity', 'StatementEntity'];
    return doorFlow(this.fix_1, tmp, StatementDao_JdbcImpl$findStatusForStudentsInClazzAsFlow$slambda_0(this, studentPersonUids, clazzUid, accountPersonUid, null));
  };
  function StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda$lambda($this, $repoPath) {
    return function () {
      return '' + $this + ': repoHttpRequestWithFallback: exception for ' + $repoPath;
    };
  }
  function StatementDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entityList, resultContinuation) {
    this.riy_1 = this$0;
    this.siy_1 = $entityList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementDao_Repo$insertOrIgnoreListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementDao_Repo$insertOrIgnoreListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(StatementDao_Repo$insertOrIgnoreListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.riy_1.viy_1.eiv(this.siy_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(StatementDao_Repo$insertOrIgnoreListAsync$slambda).q7e = function (completion) {
    return new StatementDao_Repo$insertOrIgnoreListAsync$slambda(this.riy_1, this.siy_1, completion);
  };
  function StatementDao_Repo$insertOrIgnoreListAsync$slambda_0(this$0, $entityList, resultContinuation) {
    var i = new StatementDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entityList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda(this$0, $clazzUid, $studentPersonUids, $accountPersonUid, resultContinuation) {
    this.iiz_1 = this$0;
    this.jiz_1 = $clazzUid;
    this.kiz_1 = $studentPersonUids;
    this.liz_1 = $accountPersonUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.miz_1 = this.iiz_1.uiy_1;
            var tmp_1 = this;
            tmp_1.niz_1 = 'StatementDao/findStatusForStudentsInClazzAsFlow';
            this.id_1 = 3;
            var tmp_2 = this;
            tmp_2.oiz_1 = this.iiz_1.wiy_1;
            var tmp_3 = this;
            tmp_3.piz_1 = this.oiz_1;
            var tmp_4 = this;
            var this_0 = new HttpRequestBuilder();
            setRepoUrl(this_0, this.iiz_1.uiy_1.a3d(), 'StatementDao/findStatusForStudentsInClazzAsFlow');
            doorNodeIdHeader(this_0, this.iiz_1.uiy_1);
            header(this_0, 'cache-control', 'no-store');
            parameter(this_0, 'clazzUid', this.iiz_1.uiy_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.jiz_1));
            parameter(this_0, 'studentPersonUids', this.iiz_1.uiy_1.a3d().c6c_1.w4b(ListSerializer(serializer(Companion_getInstance())), this.kiz_1));
            parameter(this_0, 'accountPersonUid', this.iiz_1.uiy_1.a3d().c6c_1.w4b(serializer(Companion_getInstance()), this.liz_1));
            tmp_4.qiz_1 = this_0;
            this.qiz_1.n3c_1 = Companion_getInstance_0().m30_1;
            var tmp_5 = this;
            tmp_5.riz_1 = this.piz_1;
            var tmp_6 = this;
            tmp_6.siz_1 = this.qiz_1;
            this.hd_1 = 1;
            suspendResult = (new HttpStatement(this.siz_1, this.riz_1)).m45(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.tiz_1 = suspendResult;
            this.hd_1 = 2;
            suspendResult = onClientRepoDoorMessageHttpResponse(this.iiz_1.tiy_1, this.tiz_1, this.iiz_1.uiy_1.a3d().c6c_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.id_1 = 4;
            this.hd_1 = 5;
            continue $sm;
          case 3:
            this.id_1 = 4;
            var tmp_7 = this.kd_1;
            if (tmp_7 instanceof Exception) {
              var e = this.kd_1;
              Napier_getInstance().i5k(e, 'DoorLog', StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda$lambda(this.miz_1, this.niz_1));
              this.hd_1 = 5;
              continue $sm;
            } else {
              throw this.kd_1;
            }

          case 4:
            throw this.kd_1;
          case 5:
            this.id_1 = 4;
            return Unit_instance;
        }
      } catch ($p) {
        var e_0 = $p;
        if (this.id_1 === 4) {
          throw e_0;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e_0;
        }
      }
     while (true);
  };
  protoOf(StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda).q7e = function (completion) {
    return new StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda(this.iiz_1, this.jiz_1, this.kiz_1, this.liz_1, completion);
  };
  function StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda_0(this$0, $clazzUid, $studentPersonUids, $accountPersonUid, resultContinuation) {
    var i = new StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda(this$0, $clazzUid, $studentPersonUids, $accountPersonUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function $findStatusForStudentsInClazzCOROUTINE$459(_this__u8e3s4, clazzUid, studentPersonUids, accountPersonUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.cj0_1 = _this__u8e3s4;
    this.dj0_1 = clazzUid;
    this.ej0_1 = studentPersonUids;
    this.fj0_1 = accountPersonUid;
  }
  protoOf($findStatusForStudentsInClazzCOROUTINE$459).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cj0_1.viy_1.fiv(this.dj0_1, this.ej0_1, this.fj0_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var _result = suspendResult;
            return _result;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function StatementDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    StatementDao.call(this);
    this.tiy_1 = _db;
    this.uiy_1 = _repo;
    this.viy_1 = _dao;
    this.wiy_1 = _httpClient;
    this.xiy_1 = _clientId;
    this.yiy_1 = _endpoint;
    this.ziy_1 = new RepoDaoFlowHelper(this.uiy_1);
  }
  protoOf(StatementDao_Repo).eiv = function (entityList, $completion) {
    return withRepoChangeMonitorAsync(this.uiy_1, 'StatementEntity', StatementDao_Repo$insertOrIgnoreListAsync$slambda_0(this, entityList, null), $completion);
  };
  protoOf(StatementDao_Repo).fiv = function (clazzUid, studentPersonUids, accountPersonUid, $completion) {
    var tmp = new $findStatusForStudentsInClazzCOROUTINE$459(this, clazzUid, studentPersonUids, accountPersonUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementDao_Repo).giv = function (clazzUid, studentPersonUids, accountPersonUid) {
    var tmp = this.viy_1.giv(clazzUid, studentPersonUids, accountPersonUid);
    return this.ziy_1.t6d(tmp, StatementDao_Repo$findStatusForStudentsInClazzAsFlow$slambda_0(this, clazzUid, studentPersonUids, accountPersonUid, null));
  };
  function StatementEntityJsonDao() {
  }
  function StatementEntityJsonDao_DoorWrapper(_db, _dao) {
    StatementEntityJsonDao.call(this);
    this.hj0_1 = _db;
    this.ij0_1 = _dao;
  }
  protoOf(StatementEntityJsonDao_DoorWrapper).gj0 = function (entityList, $completion) {
    return this.ij0_1.gj0(entityList, $completion);
  };
  function StatementEntityJsonDao_JdbcImpl$_insertAdapterStatementEntityJson_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.jj0_1);
  }
  protoOf(StatementEntityJsonDao_JdbcImpl$_insertAdapterStatementEntityJson_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO StatementEntityJson (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) VALUES(?, ?, ?, ?)';
  };
  protoOf(StatementEntityJsonDao_JdbcImpl$_insertAdapterStatementEntityJson_ignore$1).nj0 = function (stmt, entity) {
    stmt.a5o(1, entity.oj0_1);
    stmt.a5o(2, entity.pj0_1);
    stmt.a5o(3, entity.qj0_1);
    stmt.d5o(4, entity.rj0_1);
  };
  protoOf(StatementEntityJsonDao_JdbcImpl$_insertAdapterStatementEntityJson_ignore$1).u5l = function (stmt, entity) {
    return this.nj0(stmt, entity instanceof StatementEntityJson ? entity : THROW_CCE());
  };
  function StatementEntityJsonDao_JdbcImpl(_db) {
    StatementEntityJsonDao.call(this);
    this.jj0_1 = _db;
    var tmp = this;
    tmp.kj0_1 = new StatementEntityJsonDao_JdbcImpl$_insertAdapterStatementEntityJson_ignore$1(this);
  }
  protoOf(StatementEntityJsonDao_JdbcImpl).gj0 = function (entityList, $completion) {
    return this.kj0_1.e5n(entityList, $completion);
  };
  function StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entityList, resultContinuation) {
    this.aj1_1 = this$0;
    this.bj1_1 = $entityList;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.aj1_1.ej1_1.gj0(this.bj1_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda).q7e = function (completion) {
    return new StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda(this.aj1_1, this.bj1_1, completion);
  };
  function StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda_0(this$0, $entityList, resultContinuation) {
    var i = new StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda(this$0, $entityList, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function StatementEntityJsonDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    StatementEntityJsonDao.call(this);
    this.cj1_1 = _db;
    this.dj1_1 = _repo;
    this.ej1_1 = _dao;
    this.fj1_1 = _httpClient;
    this.gj1_1 = _clientId;
    this.hj1_1 = _endpoint;
  }
  protoOf(StatementEntityJsonDao_Repo).gj0 = function (entityList, $completion) {
    return withRepoChangeMonitorAsync(this.dj1_1, 'StatementEntityJson', StatementEntityJsonDao_Repo$insertOrIgnoreListAsync$slambda_0(this, entityList, null), $completion);
  };
  function VerbDao() {
  }
  function VerbDao_DoorWrapper(_db, _dao) {
    VerbDao.call(this);
    this.jj1_1 = _db;
    this.kj1_1 = _dao;
  }
  protoOf(VerbDao_DoorWrapper).ij1 = function (entities, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = entities.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.VerbDao_DoorWrapper.insertOrIgnoreAsync.<anonymous>' call
      element.oj1_1 = systemTimeInMillis();
    }
    return this.kj1_1.ij1(entities, $completion);
  };
  function VerbDao_JdbcImpl$_insertAdapterVerbEntity_ignore$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.pj1_1);
  }
  protoOf(VerbDao_JdbcImpl$_insertAdapterVerbEntity_ignore$1).z5m = function (returnsId) {
    return 'INSERT  OR IGNORE INTO VerbEntity (verbUid, verbUrlId, verbDeleted, verbLct) VALUES(?, ?, ?, ?)';
  };
  protoOf(VerbDao_JdbcImpl$_insertAdapterVerbEntity_ignore$1).tj1 = function (stmt, entity) {
    stmt.a5o(1, entity.lj1_1);
    stmt.d5o(2, entity.mj1_1);
    stmt.n5n(3, entity.nj1_1);
    stmt.a5o(4, entity.oj1_1);
  };
  protoOf(VerbDao_JdbcImpl$_insertAdapterVerbEntity_ignore$1).u5l = function (stmt, entity) {
    return this.tj1(stmt, entity instanceof VerbEntity ? entity : THROW_CCE());
  };
  function VerbDao_JdbcImpl(_db) {
    VerbDao.call(this);
    this.pj1_1 = _db;
    var tmp = this;
    tmp.qj1_1 = new VerbDao_JdbcImpl$_insertAdapterVerbEntity_ignore$1(this);
  }
  protoOf(VerbDao_JdbcImpl).ij1 = function (entities, $completion) {
    return this.qj1_1.e5n(entities, $completion);
  };
  function VerbDao_Repo$insertOrIgnoreAsync$slambda(this$0, $entities, resultContinuation) {
    this.cj2_1 = this$0;
    this.dj2_1 = $entities;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(VerbDao_Repo$insertOrIgnoreAsync$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(VerbDao_Repo$insertOrIgnoreAsync$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(VerbDao_Repo$insertOrIgnoreAsync$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.cj2_1.gj2_1.ij1(this.dj2_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(VerbDao_Repo$insertOrIgnoreAsync$slambda).q7e = function (completion) {
    return new VerbDao_Repo$insertOrIgnoreAsync$slambda(this.cj2_1, this.dj2_1, completion);
  };
  function VerbDao_Repo$insertOrIgnoreAsync$slambda_0(this$0, $entities, resultContinuation) {
    var i = new VerbDao_Repo$insertOrIgnoreAsync$slambda(this$0, $entities, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function VerbDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    VerbDao.call(this);
    this.ej2_1 = _db;
    this.fj2_1 = _repo;
    this.gj2_1 = _dao;
    this.hj2_1 = _httpClient;
    this.ij2_1 = _clientId;
    this.jj2_1 = _endpoint;
  }
  protoOf(VerbDao_Repo).ij1 = function (entities, $completion) {
    return withRepoChangeMonitorAsync(this.fj2_1, 'VerbEntity', VerbDao_Repo$insertOrIgnoreAsync$slambda_0(this, entities, null), $completion);
  };
  function VerbLangMapEntryDao() {
  }
  function VerbLangMapEntryDao_DoorWrapper(_db, _dao) {
    VerbLangMapEntryDao.call(this);
    this.lj2_1 = _db;
    this.mj2_1 = _dao;
  }
  protoOf(VerbLangMapEntryDao_DoorWrapper).kj2 = function (list, $completion) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var _generatedPks = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = list.w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.dao.xapi.VerbLangMapEntryDao_DoorWrapper.upsertList.<anonymous>' call
      element.rj2_1 = systemTimeInMillis();
    }
    return this.mj2_1.kj2(list, $completion);
  };
  function VerbLangMapEntryDao_JdbcImpl$_insertAdapterVerbLangMapEntry_upsert$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.sj2_1);
  }
  protoOf(VerbLangMapEntryDao_JdbcImpl$_insertAdapterVerbLangMapEntry_upsert$1).z5m = function (returnsId) {
    return 'INSERT OR REPLACE INTO VerbLangMapEntry (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) VALUES(?, ?, ?, ?, ?)';
  };
  protoOf(VerbLangMapEntryDao_JdbcImpl$_insertAdapterVerbLangMapEntry_upsert$1).wj2 = function (stmt, entity) {
    stmt.a5o(1, entity.nj2_1);
    stmt.a5o(2, entity.oj2_1);
    stmt.d5o(3, entity.pj2_1);
    stmt.d5o(4, entity.qj2_1);
    stmt.a5o(5, entity.rj2_1);
  };
  protoOf(VerbLangMapEntryDao_JdbcImpl$_insertAdapterVerbLangMapEntry_upsert$1).u5l = function (stmt, entity) {
    return this.wj2(stmt, entity instanceof VerbLangMapEntry ? entity : THROW_CCE());
  };
  function VerbLangMapEntryDao_JdbcImpl(_db) {
    VerbLangMapEntryDao.call(this);
    this.sj2_1 = _db;
    var tmp = this;
    tmp.tj2_1 = new VerbLangMapEntryDao_JdbcImpl$_insertAdapterVerbLangMapEntry_upsert$1(this);
  }
  protoOf(VerbLangMapEntryDao_JdbcImpl).kj2 = function (list, $completion) {
    return this.tj2_1.e5n(list, $completion);
  };
  function VerbLangMapEntryDao_Repo$upsertList$slambda(this$0, $list, resultContinuation) {
    this.fj3_1 = this$0;
    this.gj3_1 = $list;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(VerbLangMapEntryDao_Repo$upsertList$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(VerbLangMapEntryDao_Repo$upsertList$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(VerbLangMapEntryDao_Repo$upsertList$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.fj3_1.jj3_1.kj2(this.gj3_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(VerbLangMapEntryDao_Repo$upsertList$slambda).q7e = function (completion) {
    return new VerbLangMapEntryDao_Repo$upsertList$slambda(this.fj3_1, this.gj3_1, completion);
  };
  function VerbLangMapEntryDao_Repo$upsertList$slambda_0(this$0, $list, resultContinuation) {
    var i = new VerbLangMapEntryDao_Repo$upsertList$slambda(this$0, $list, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function VerbLangMapEntryDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    VerbLangMapEntryDao.call(this);
    this.hj3_1 = _db;
    this.ij3_1 = _repo;
    this.jj3_1 = _dao;
    this.kj3_1 = _httpClient;
    this.lj3_1 = _clientId;
    this.mj3_1 = _endpoint;
  }
  protoOf(VerbLangMapEntryDao_Repo).kj2 = function (list, $completion) {
    return withRepoChangeMonitorAsync(this.ij3_1, 'VerbLangMapEntry', VerbLangMapEntryDao_Repo$upsertList$slambda_0(this, list, null), $completion);
  };
  function XapiSessionEntityDao() {
  }
  function XapiSessionEntityDao_DoorWrapper(_db, _dao) {
    XapiSessionEntityDao.call(this);
    this.oj3_1 = _db;
    this.pj3_1 = _dao;
  }
  protoOf(XapiSessionEntityDao_DoorWrapper).nj3 = function (completed, time, xseUid, $completion) {
    return this.pj3_1.nj3(completed, time, xseUid, $completion);
  };
  function XapiSessionEntityDao_JdbcImpl$_insertAdapterXapiSessionEntity_abort$1(this$0) {
    EntityInsertionAdapter.call(this, this$0.qj3_1);
  }
  protoOf(XapiSessionEntityDao_JdbcImpl$_insertAdapterXapiSessionEntity_abort$1).z5m = function (returnsId) {
    return 'INSERT INTO XapiSessionEntity (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
  };
  protoOf(XapiSessionEntityDao_JdbcImpl$_insertAdapterXapiSessionEntity_abort$1).uj3 = function (stmt, entity) {
    if (entity.vj3_1.equals(new Long(0, 0))) {
      stmt.f5o(1, null);
    } else {
      stmt.a5o(1, entity.vj3_1);
    }
    stmt.a5o(2, entity.wj3_1);
    stmt.a5o(3, entity.xj3_1);
    stmt.a5o(4, entity.yj3_1);
    stmt.a5o(5, entity.zj3_1);
    stmt.a5o(6, entity.aj4_1);
    stmt.a5o(7, entity.bj4_1);
    stmt.d5o(8, entity.cj4_1);
    stmt.a5o(9, entity.dj4_1);
    stmt.a5o(10, entity.ej4_1);
    stmt.a5o(11, entity.fj4_1);
    stmt.a5o(12, entity.gj4_1);
    stmt.d5o(13, entity.hj4_1);
    stmt.a5o(14, entity.ij4_1);
    stmt.a5o(15, entity.jj4_1);
    stmt.a5o(16, entity.kj4_1);
    stmt.d5o(17, entity.lj4_1);
    stmt.n5n(18, entity.mj4_1);
    stmt.d5o(19, entity.nj4_1);
  };
  protoOf(XapiSessionEntityDao_JdbcImpl$_insertAdapterXapiSessionEntity_abort$1).u5l = function (stmt, entity) {
    return this.uj3(stmt, entity instanceof XapiSessionEntity ? entity : THROW_CCE());
  };
  function XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda($completed, $time, $xseUid, resultContinuation) {
    this.wj4_1 = $completed;
    this.xj4_1 = $time;
    this.yj4_1 = $xseUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda).o6p = function (_stmt, $completion) {
    var tmp = this.r5l(_stmt, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda).he = function (p1, $completion) {
    return this.o6p((!(p1 == null) ? isInterface(p1, PreparedStatement) : false) ? p1 : THROW_CCE(), $completion);
  };
  protoOf(XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.zj4_1.n5n(1, this.wj4_1);
            this.zj4_1.a5o(2, this.xj4_1);
            this.zj4_1.a5o(3, this.yj4_1);
            this.hd_1 = 1;
            suspendResult = executeUpdateAsyncKmp(this.zj4_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda).r5l = function (_stmt, completion) {
    var i = new XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda(this.wj4_1, this.xj4_1, this.yj4_1, completion);
    i.zj4_1 = _stmt;
    return i;
  };
  function XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda_0($completed, $time, $xseUid, resultContinuation) {
    var i = new XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda($completed, $time, $xseUid, resultContinuation);
    var l = function (_stmt, $completion) {
      return i.o6p(_stmt, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function $updateLatestAsCompleteCOROUTINE$465(_this__u8e3s4, completed, time, xseUid, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.ij5_1 = _this__u8e3s4;
    this.jj5_1 = completed;
    this.kj5_1 = time;
    this.lj5_1 = xseUid;
  }
  protoOf($updateLatestAsCompleteCOROUTINE$465).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            var tmp_0 = new PreparedStatementConfig('\n        UPDATE XapiSessionEntity\n           SET xseCompleted = ?,\n               xseLastMod = CAST(? AS BIGINT)\n         WHERE xseUid = CAST(? AS BIGINT)\n\n    ', VOID, VOID, VOID, '\n        UPDATE XapiSessionEntity\n           SET xseCompleted = ?,\n               xseLastMod = ?\n         WHERE xseUid = ?\n\n    \n', false);
            suspendResult = prepareAndUseStatementAsync(this.ij5_1.qj3_1, tmp_0, XapiSessionEntityDao_JdbcImpl$updateLatestAsComplete$slambda_0(this.jj5_1, this.kj5_1, this.lj5_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function XapiSessionEntityDao_JdbcImpl(_db) {
    XapiSessionEntityDao.call(this);
    this.qj3_1 = _db;
    var tmp = this;
    tmp.rj3_1 = new XapiSessionEntityDao_JdbcImpl$_insertAdapterXapiSessionEntity_abort$1(this);
  }
  protoOf(XapiSessionEntityDao_JdbcImpl).nj3 = function (completed, time, xseUid, $completion) {
    var tmp = new $updateLatestAsCompleteCOROUTINE$465(this, completed, time, xseUid, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  function XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda(this$0, $completed, $time, $xseUid, resultContinuation) {
    this.uj5_1 = this$0;
    this.vj5_1 = $completed;
    this.wj5_1 = $time;
    this.xj5_1 = $xseUid;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda).e8d = function ($completion) {
    var tmp = this.q7e($completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda).r7e = function ($completion) {
    return this.e8d($completion);
  };
  protoOf(XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 2;
            this.hd_1 = 1;
            suspendResult = this.uj5_1.aj6_1.nj3(this.vj5_1, this.wj5_1, this.xj5_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_instance;
          case 2:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 2) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda).q7e = function (completion) {
    return new XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda(this.uj5_1, this.vj5_1, this.wj5_1, this.xj5_1, completion);
  };
  function XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda_0(this$0, $completed, $time, $xseUid, resultContinuation) {
    var i = new XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda(this$0, $completed, $time, $xseUid, resultContinuation);
    var l = function ($completion) {
      return i.e8d($completion);
    };
    l.$arity = 0;
    return l;
  }
  function XapiSessionEntityDao_Repo(_db, _repo, _dao, _httpClient, _clientId, _endpoint) {
    XapiSessionEntityDao.call(this);
    this.yj5_1 = _db;
    this.zj5_1 = _repo;
    this.aj6_1 = _dao;
    this.bj6_1 = _httpClient;
    this.cj6_1 = _clientId;
    this.dj6_1 = _endpoint;
  }
  protoOf(XapiSessionEntityDao_Repo).nj3 = function (completed, time, xseUid, $completion) {
    return withRepoChangeMonitorAsync(this.zj5_1, 'XapiSessionEntity', XapiSessionEntityDao_Repo$updateLatestAsComplete$slambda_0(this, completed, time, xseUid, null), $completion);
  };
  function shallowCopy(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzAssignment();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.i7z_1 = _this__u8e3s4.i7z_1;
    this_0.j7z_1 = _this__u8e3s4.j7z_1;
    this_0.k7z_1 = _this__u8e3s4.k7z_1;
    this_0.l7z_1 = _this__u8e3s4.l7z_1;
    this_0.m7z_1 = _this__u8e3s4.m7z_1;
    this_0.n7z_1 = _this__u8e3s4.n7z_1;
    this_0.o7z_1 = _this__u8e3s4.o7z_1;
    this_0.p7z_1 = _this__u8e3s4.p7z_1;
    this_0.q7z_1 = _this__u8e3s4.q7z_1;
    this_0.r7z_1 = _this__u8e3s4.r7z_1;
    this_0.s7z_1 = _this__u8e3s4.s7z_1;
    this_0.t7z_1 = _this__u8e3s4.t7z_1;
    this_0.u7z_1 = _this__u8e3s4.u7z_1;
    this_0.v7z_1 = _this__u8e3s4.v7z_1;
    this_0.w7z_1 = _this__u8e3s4.w7z_1;
    this_0.x7z_1 = _this__u8e3s4.x7z_1;
    this_0.y7z_1 = _this__u8e3s4.y7z_1;
    this_0.z7z_1 = _this__u8e3s4.z7z_1;
    this_0.a80_1 = _this__u8e3s4.a80_1;
    this_0.b80_1 = _this__u8e3s4.b80_1;
    this_0.c80_1 = _this__u8e3s4.c80_1;
    this_0.d80_1 = _this__u8e3s4.d80_1;
    this_0.e80_1 = _this__u8e3s4.e80_1;
    this_0.f80_1 = _this__u8e3s4.f80_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_0(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzEnrolmentWithLeavingReason();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.j9a_1 = _this__u8e3s4.j9a_1;
    this_0.k9a_1 = _this__u8e3s4.k9a_1;
    this_0.w8n_1 = _this__u8e3s4.w8n_1;
    this_0.x8n_1 = _this__u8e3s4.x8n_1;
    this_0.y8n_1 = _this__u8e3s4.y8n_1;
    this_0.z8n_1 = _this__u8e3s4.z8n_1;
    this_0.a8o_1 = _this__u8e3s4.a8o_1;
    this_0.b8o_1 = _this__u8e3s4.b8o_1;
    this_0.c8o_1 = _this__u8e3s4.c8o_1;
    this_0.d8o_1 = _this__u8e3s4.d8o_1;
    this_0.e8o_1 = _this__u8e3s4.e8o_1;
    this_0.f8o_1 = _this__u8e3s4.f8o_1;
    this_0.g8o_1 = _this__u8e3s4.g8o_1;
    this_0.h8o_1 = _this__u8e3s4.h8o_1;
    this_0.i8o_1 = _this__u8e3s4.i8o_1;
    this_0.j8o_1 = _this__u8e3s4.j8o_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_1(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzLogAttendanceRecord();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.l9r_1 = _this__u8e3s4.l9r_1;
    this_0.m9r_1 = _this__u8e3s4.m9r_1;
    this_0.n9r_1 = _this__u8e3s4.n9r_1;
    this_0.o9r_1 = _this__u8e3s4.o9r_1;
    this_0.p9r_1 = _this__u8e3s4.p9r_1;
    this_0.q9r_1 = _this__u8e3s4.q9r_1;
    this_0.r9r_1 = _this__u8e3s4.r9r_1;
    this_0.s9r_1 = _this__u8e3s4.s9r_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_2(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzLog();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.r9w_1 = _this__u8e3s4.r9w_1;
    this_0.s9w_1 = _this__u8e3s4.s9w_1;
    this_0.t9w_1 = _this__u8e3s4.t9w_1;
    this_0.u9w_1 = _this__u8e3s4.u9w_1;
    this_0.v9w_1 = _this__u8e3s4.v9w_1;
    this_0.w9w_1 = _this__u8e3s4.w9w_1;
    this_0.x9w_1 = _this__u8e3s4.x9w_1;
    this_0.y9w_1 = _this__u8e3s4.y9w_1;
    this_0.z9w_1 = _this__u8e3s4.z9w_1;
    this_0.a9x_1 = _this__u8e3s4.a9x_1;
    this_0.b9x_1 = _this__u8e3s4.b9x_1;
    this_0.c9x_1 = _this__u8e3s4.c9x_1;
    this_0.d9x_1 = _this__u8e3s4.d9x_1;
    this_0.e9x_1 = _this__u8e3s4.e9x_1;
    this_0.f9x_1 = _this__u8e3s4.f9x_1;
    this_0.g9x_1 = _this__u8e3s4.g9x_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_3(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzWithHolidayCalendarAndAndTerminology();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.e8m_1 = _this__u8e3s4.e8m_1;
    this_0.f8m_1 = _this__u8e3s4.f8m_1;
    this_0.g8m_1 = _this__u8e3s4.g8m_1;
    this_0.m8j_1 = _this__u8e3s4.m8j_1;
    this_0.n8j_1 = _this__u8e3s4.n8j_1;
    this_0.o8j_1 = _this__u8e3s4.o8j_1;
    this_0.p8j_1 = _this__u8e3s4.p8j_1;
    this_0.q8j_1 = _this__u8e3s4.q8j_1;
    this_0.r8j_1 = _this__u8e3s4.r8j_1;
    this_0.s8j_1 = _this__u8e3s4.s8j_1;
    this_0.t8j_1 = _this__u8e3s4.t8j_1;
    this_0.u8j_1 = _this__u8e3s4.u8j_1;
    this_0.v8j_1 = _this__u8e3s4.v8j_1;
    this_0.w8j_1 = _this__u8e3s4.w8j_1;
    this_0.x8j_1 = _this__u8e3s4.x8j_1;
    this_0.y8j_1 = _this__u8e3s4.y8j_1;
    this_0.z8j_1 = _this__u8e3s4.z8j_1;
    this_0.a8k_1 = _this__u8e3s4.a8k_1;
    this_0.b8k_1 = _this__u8e3s4.b8k_1;
    this_0.c8k_1 = _this__u8e3s4.c8k_1;
    this_0.d8k_1 = _this__u8e3s4.d8k_1;
    this_0.e8k_1 = _this__u8e3s4.e8k_1;
    this_0.f8k_1 = _this__u8e3s4.f8k_1;
    this_0.g8k_1 = _this__u8e3s4.g8k_1;
    this_0.h8k_1 = _this__u8e3s4.h8k_1;
    this_0.i8k_1 = _this__u8e3s4.i8k_1;
    this_0.j8k_1 = _this__u8e3s4.j8k_1;
    this_0.k8k_1 = _this__u8e3s4.k8k_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_4(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ContentEntry();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.xan_1 = _this__u8e3s4.xan_1;
    this_0.yan_1 = _this__u8e3s4.yan_1;
    this_0.zan_1 = _this__u8e3s4.zan_1;
    this_0.aao_1 = _this__u8e3s4.aao_1;
    this_0.bao_1 = _this__u8e3s4.bao_1;
    this_0.cao_1 = _this__u8e3s4.cao_1;
    this_0.dao_1 = _this__u8e3s4.dao_1;
    this_0.eao_1 = _this__u8e3s4.eao_1;
    this_0.fao_1 = _this__u8e3s4.fao_1;
    this_0.gao_1 = _this__u8e3s4.gao_1;
    this_0.hao_1 = _this__u8e3s4.hao_1;
    this_0.iao_1 = _this__u8e3s4.iao_1;
    this_0.jao_1 = _this__u8e3s4.jao_1;
    this_0.kao_1 = _this__u8e3s4.kao_1;
    this_0.lao_1 = _this__u8e3s4.lao_1;
    this_0.mao_1 = _this__u8e3s4.mao_1;
    this_0.nao_1 = _this__u8e3s4.nao_1;
    this_0.oao_1 = _this__u8e3s4.oao_1;
    this_0.pao_1 = _this__u8e3s4.pao_1;
    this_0.qao_1 = _this__u8e3s4.qao_1;
    this_0.rao_1 = _this__u8e3s4.rao_1;
    this_0.sao_1 = _this__u8e3s4.sao_1;
    this_0.tao_1 = _this__u8e3s4.tao_1;
    this_0.uao_1 = _this__u8e3s4.uao_1;
    this_0.vao_1 = _this__u8e3s4.vao_1;
    this_0.wao_1 = _this__u8e3s4.wao_1;
    this_0.xao_1 = _this__u8e3s4.xao_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_5(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseAssignmentMark();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.ubn_1 = _this__u8e3s4.ubn_1;
    this_0.vbn_1 = _this__u8e3s4.vbn_1;
    this_0.wbn_1 = _this__u8e3s4.wbn_1;
    this_0.xbn_1 = _this__u8e3s4.xbn_1;
    this_0.ybn_1 = _this__u8e3s4.ybn_1;
    this_0.zbn_1 = _this__u8e3s4.zbn_1;
    this_0.abo_1 = _this__u8e3s4.abo_1;
    this_0.bbo_1 = _this__u8e3s4.bbo_1;
    this_0.cbo_1 = _this__u8e3s4.cbo_1;
    this_0.dbo_1 = _this__u8e3s4.dbo_1;
    this_0.ebo_1 = _this__u8e3s4.ebo_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_6(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseAssignmentSubmission();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.zbt_1 = _this__u8e3s4.zbt_1;
    this_0.abu_1 = _this__u8e3s4.abu_1;
    this_0.bbu_1 = _this__u8e3s4.bbu_1;
    this_0.cbu_1 = _this__u8e3s4.cbu_1;
    this_0.dbu_1 = _this__u8e3s4.dbu_1;
    this_0.ebu_1 = _this__u8e3s4.ebu_1;
    this_0.fbu_1 = _this__u8e3s4.fbu_1;
    this_0.gbu_1 = _this__u8e3s4.gbu_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_7(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseGroupMember();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.ecw_1 = _this__u8e3s4.ecw_1;
    this_0.fcw_1 = _this__u8e3s4.fcw_1;
    this_0.gcw_1 = _this__u8e3s4.gcw_1;
    this_0.hcw_1 = _this__u8e3s4.hcw_1;
    this_0.icw_1 = _this__u8e3s4.icw_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_8(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseGroupSet();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.v84_1 = _this__u8e3s4.v84_1;
    this_0.w84_1 = _this__u8e3s4.w84_1;
    this_0.x84_1 = _this__u8e3s4.x84_1;
    this_0.y84_1 = _this__u8e3s4.y84_1;
    this_0.z84_1 = _this__u8e3s4.z84_1;
    this_0.a85_1 = _this__u8e3s4.a85_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_9(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseTerminology();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.h8m_1 = _this__u8e3s4.h8m_1;
    this_0.i8m_1 = _this__u8e3s4.i8m_1;
    this_0.j8m_1 = _this__u8e3s4.j8m_1;
    this_0.k8m_1 = _this__u8e3s4.k8m_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_10(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new DiscussionPost();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.cee_1 = _this__u8e3s4.cee_1;
    this_0.dee_1 = _this__u8e3s4.dee_1;
    this_0.eee_1 = _this__u8e3s4.eee_1;
    this_0.fee_1 = _this__u8e3s4.fee_1;
    this_0.gee_1 = _this__u8e3s4.gee_1;
    this_0.hee_1 = _this__u8e3s4.hee_1;
    this_0.iee_1 = _this__u8e3s4.iee_1;
    this_0.jee_1 = _this__u8e3s4.jee_1;
    this_0.kee_1 = _this__u8e3s4.kee_1;
    this_0.lee_1 = _this__u8e3s4.lee_1;
    this_0.mee_1 = _this__u8e3s4.mee_1;
    this_0.nee_1 = _this__u8e3s4.nee_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_11(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new HolidayCalendar();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.x8k_1 = _this__u8e3s4.x8k_1;
    this_0.y8k_1 = _this__u8e3s4.y8k_1;
    this_0.z8k_1 = _this__u8e3s4.z8k_1;
    this_0.a8l_1 = _this__u8e3s4.a8l_1;
    this_0.b8l_1 = _this__u8e3s4.b8l_1;
    this_0.c8l_1 = _this__u8e3s4.c8l_1;
    this_0.d8l_1 = _this__u8e3s4.d8l_1;
    this_0.e8l_1 = _this__u8e3s4.e8l_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_12(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.dcf_1 = _this__u8e3s4.dcf_1;
    this_0.ecf_1 = _this__u8e3s4.ecf_1;
    this_0.fcf_1 = _this__u8e3s4.fcf_1;
    this_0.gcf_1 = _this__u8e3s4.gcf_1;
    this_0.hcf_1 = _this__u8e3s4.hcf_1;
    this_0.icf_1 = _this__u8e3s4.icf_1;
    this_0.jcf_1 = _this__u8e3s4.jcf_1;
    this_0.kcf_1 = _this__u8e3s4.kcf_1;
    this_0.lcf_1 = _this__u8e3s4.lcf_1;
    this_0.mcf_1 = _this__u8e3s4.mcf_1;
    this_0.ncf_1 = _this__u8e3s4.ncf_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_13(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new LeavingReason();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.l9a_1 = _this__u8e3s4.l9a_1;
    this_0.m9a_1 = _this__u8e3s4.m9a_1;
    this_0.n9a_1 = _this__u8e3s4.n9a_1;
    this_0.o9a_1 = _this__u8e3s4.o9a_1;
    this_0.p9a_1 = _this__u8e3s4.p9a_1;
    this_0.q9a_1 = _this__u8e3s4.q9a_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_14(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new PeerReviewerAllocation();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.cfm_1 = _this__u8e3s4.cfm_1;
    this_0.dfm_1 = _this__u8e3s4.dfm_1;
    this_0.efm_1 = _this__u8e3s4.efm_1;
    this_0.ffm_1 = _this__u8e3s4.ffm_1;
    this_0.gfm_1 = _this__u8e3s4.gfm_1;
    this_0.hfm_1 = _this__u8e3s4.hfm_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_15(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new PersonParentJoin();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.gfx_1 = _this__u8e3s4.gfx_1;
    this_0.hfx_1 = _this__u8e3s4.hfx_1;
    this_0.ifx_1 = _this__u8e3s4.ifx_1;
    this_0.jfx_1 = _this__u8e3s4.jfx_1;
    this_0.kfx_1 = _this__u8e3s4.kfx_1;
    this_0.lfx_1 = _this__u8e3s4.lfx_1;
    this_0.mfx_1 = _this__u8e3s4.mfx_1;
    this_0.nfx_1 = _this__u8e3s4.nfx_1;
    this_0.ofx_1 = _this__u8e3s4.ofx_1;
    this_0.pfx_1 = _this__u8e3s4.pfx_1;
    this_0.qfx_1 = _this__u8e3s4.qfx_1;
    this_0.rfx_1 = _this__u8e3s4.rfx_1;
    this_0.sfx_1 = _this__u8e3s4.sfx_1;
    this_0.tfx_1 = _this__u8e3s4.tfx_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_16(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new Person();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.x9b_1 = _this__u8e3s4.x9b_1;
    this_0.y9b_1 = _this__u8e3s4.y9b_1;
    this_0.z9b_1 = _this__u8e3s4.z9b_1;
    this_0.a9c_1 = _this__u8e3s4.a9c_1;
    this_0.b9c_1 = _this__u8e3s4.b9c_1;
    this_0.c9c_1 = _this__u8e3s4.c9c_1;
    this_0.d9c_1 = _this__u8e3s4.d9c_1;
    this_0.e9c_1 = _this__u8e3s4.e9c_1;
    this_0.f9c_1 = _this__u8e3s4.f9c_1;
    this_0.g9c_1 = _this__u8e3s4.g9c_1;
    this_0.h9c_1 = _this__u8e3s4.h9c_1;
    this_0.i9c_1 = _this__u8e3s4.i9c_1;
    this_0.j9c_1 = _this__u8e3s4.j9c_1;
    this_0.k9c_1 = _this__u8e3s4.k9c_1;
    this_0.l9c_1 = _this__u8e3s4.l9c_1;
    this_0.m9c_1 = _this__u8e3s4.m9c_1;
    this_0.n9c_1 = _this__u8e3s4.n9c_1;
    this_0.o9c_1 = _this__u8e3s4.o9c_1;
    this_0.p9c_1 = _this__u8e3s4.p9c_1;
    this_0.q9c_1 = _this__u8e3s4.q9c_1;
    this_0.r9c_1 = _this__u8e3s4.r9c_1;
    this_0.s9c_1 = _this__u8e3s4.s9c_1;
    this_0.t9c_1 = _this__u8e3s4.t9c_1;
    this_0.u9c_1 = _this__u8e3s4.u9c_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_17(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ReportFilter();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.ej6_1 = _this__u8e3s4.ej6_1;
    this_0.fj6_1 = _this__u8e3s4.fj6_1;
    this_0.gj6_1 = _this__u8e3s4.gj6_1;
    this_0.hj6_1 = _this__u8e3s4.hj6_1;
    this_0.ij6_1 = _this__u8e3s4.ij6_1;
    this_0.jj6_1 = _this__u8e3s4.jj6_1;
    this_0.kj6_1 = _this__u8e3s4.kj6_1;
    this_0.lj6_1 = _this__u8e3s4.lj6_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_18(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new Schedule();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.hgy_1 = _this__u8e3s4.hgy_1;
    this_0.igy_1 = _this__u8e3s4.igy_1;
    this_0.jgy_1 = _this__u8e3s4.jgy_1;
    this_0.kgy_1 = _this__u8e3s4.kgy_1;
    this_0.lgy_1 = _this__u8e3s4.lgy_1;
    this_0.mgy_1 = _this__u8e3s4.mgy_1;
    this_0.ngy_1 = _this__u8e3s4.ngy_1;
    this_0.ogy_1 = _this__u8e3s4.ogy_1;
    this_0.pgy_1 = _this__u8e3s4.pgy_1;
    this_0.qgy_1 = _this__u8e3s4.qgy_1;
    this_0.rgy_1 = _this__u8e3s4.rgy_1;
    this_0.sgy_1 = _this__u8e3s4.sgy_1;
    this_0.tgy_1 = _this__u8e3s4.tgy_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_19(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new Site();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.ih6_1 = _this__u8e3s4.ih6_1;
    this_0.jh6_1 = _this__u8e3s4.jh6_1;
    this_0.kh6_1 = _this__u8e3s4.kh6_1;
    this_0.lh6_1 = _this__u8e3s4.lh6_1;
    this_0.mh6_1 = _this__u8e3s4.mh6_1;
    this_0.nh6_1 = _this__u8e3s4.nh6_1;
    this_0.oh6_1 = _this__u8e3s4.oh6_1;
    this_0.ph6_1 = _this__u8e3s4.ph6_1;
    this_0.qh6_1 = _this__u8e3s4.qh6_1;
    block(this_0);
    return this_0;
  }
  function shallowCopy_20(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new SiteTerms();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.vhb_1 = _this__u8e3s4.vhb_1;
    this_0.whb_1 = _this__u8e3s4.whb_1;
    this_0.xhb_1 = _this__u8e3s4.xhb_1;
    this_0.yhb_1 = _this__u8e3s4.yhb_1;
    this_0.zhb_1 = _this__u8e3s4.zhb_1;
    this_0.ahc_1 = _this__u8e3s4.ahc_1;
    this_0.bhc_1 = _this__u8e3s4.bhc_1;
    this_0.chc_1 = _this__u8e3s4.chc_1;
    this_0.dhc_1 = _this__u8e3s4.dhc_1;
    block(this_0);
    return this_0;
  }
  function get_UNSET_DISTANT_FUTURE() {
    return UNSET_DISTANT_FUTURE;
  }
  var UNSET_DISTANT_FUTURE;
  function PermissionFlags() {
    PermissionFlags_instance = this;
    this.mj6_1 = new Long(1, 0);
    this.nj6_1 = new Long(2, 0);
    this.oj6_1 = new Long(4, 0);
    this.pj6_1 = new Long(8, 0);
    this.qj6_1 = new Long(16, 0);
    this.rj6_1 = new Long(32, 0);
    this.sj6_1 = new Long(64, 0);
    this.tj6_1 = new Long(128, 0);
    this.uj6_1 = new Long(256, 0);
    this.vj6_1 = new Long(512, 0);
    this.wj6_1 = new Long(1024, 0);
    this.xj6_1 = new Long(2048, 0);
    this.yj6_1 = new Long(4096, 0);
    this.zj6_1 = new Long(8192, 0);
    this.aj7_1 = new Long(16384, 0);
    this.bj7_1 = new Long(32768, 0);
    this.cj7_1 = new Long(65536, 0);
    this.dj7_1 = new Long(131072, 0);
    this.ej7_1 = new Long(-1, 2147483647);
  }
  var PermissionFlags_instance;
  function PermissionFlags_getInstance() {
    if (PermissionFlags_instance == null)
      new PermissionFlags();
    return PermissionFlags_instance;
  }
  function get_MIGRATE_USERNAME_CLIENT() {
    _init_properties_UsernameFilterClientMigration_kt__kpjhqb();
    return MIGRATE_USERNAME_CLIENT;
  }
  var MIGRATE_USERNAME_CLIENT;
  function MIGRATE_USERNAME_CLIENT$lambda(_anonymous_parameter_0__qggqh8) {
    _init_properties_UsernameFilterClientMigration_kt__kpjhqb();
    return emptyList();
  }
  var properties_initialized_UsernameFilterClientMigration_kt_4cnqd7;
  function _init_properties_UsernameFilterClientMigration_kt__kpjhqb() {
    if (!properties_initialized_UsernameFilterClientMigration_kt_4cnqd7) {
      properties_initialized_UsernameFilterClientMigration_kt_4cnqd7 = true;
      MIGRATE_USERNAME_CLIENT = new DoorMigrationStatementList(202, 203, MIGRATE_USERNAME_CLIENT$lambda);
    }
  }
  function ClazzAssignmentDaoCommon() {
    this.fj7_1 = '\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ';
    this.gj7_1 = '\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = :assignmentUid)\n                              AND CourseGroupMember.cgmPersonUid = :accountPersonUid\n                            LIMIT 1), -1)\n                    END\n    ';
    this.hj7_1 = "\n             WITH SubmitterList (submitterId, name)\n            AS (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                       Person.firstNames || ' ' || Person.lastName AS name\n                  FROM ClazzEnrolment\n                  \n                       JOIN Person \n                       ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                       \n                 WHERE :groupUid = 0 \n                   AND clazzEnrolmentClazzUid = :clazzUid\n                   AND clazzEnrolmentActive\n                   AND clazzEnrolmentRole = 1000\n              GROUP BY submitterId, name\n            UNION                 \n             SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                    :group || ' ' || CourseGroupMember.cgmGroupNumber AS name  \n               FROM CourseGroupMember\n                    JOIN CourseGroupSet\n                    ON CourseGroupSet.cgsUid = :groupUid\n              WHERE CourseGroupMember.cgmSetUid = CourseGroupSet.cgsUid\n                AND CourseGroupMember.cgmGroupNumber != 0\n           GROUP BY submitterId, name\n            )\n        ";
    this.ij7_1 = '\n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = :clazzUid\n                           AND (CoursePermission.cpToPersonUid = :accountPersonUid \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = :accountPersonUid\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ';
    this.jj7_1 = '\n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid)  \n    ';
    this.kj7_1 = '\n        AccountSubmitterUid(accountSubmitterUid) AS \n        (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = :assignmentUid)\n                              AND CourseGroupMember.cgmPersonUid = :accountPersonUid\n                            LIMIT 1), -1)\n                    END\n    )\n    ';
    this.lj7_1 = '\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    ';
    this.mj7_1 = '\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid) = 2)\n    ';
    this.nj7_1 = "\n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = :assignmentUid\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = :accountPersonUid))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                :group || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = :assignmentUid\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = :accountPersonUid\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    ";
    this.oj7_1 = 5;
    this.pj7_1 = 6;
  }
  var ClazzAssignmentDaoCommon_instance;
  function ClazzAssignmentDaoCommon_getInstance() {
    return ClazzAssignmentDaoCommon_instance;
  }
  function ClazzDaoCommon() {
    this.qj7_1 = 1;
    this.rj7_1 = 2;
    this.sj7_1 = 3;
    this.tj7_1 = 4;
    this.uj7_1 = 5;
    this.vj7_1 = 6;
    this.wj7_1 = 'SELECT * FROM Clazz WHERE CAST(isClazzActive AS INTEGER) = 1';
  }
  var ClazzDaoCommon_instance;
  function ClazzDaoCommon_getInstance() {
    return ClazzDaoCommon_instance;
  }
  function ClazzEnrolmentDaoCommon() {
    this.xj7_1 = 1;
    this.yj7_1 = 2;
    this.zj7_1 = 3;
    this.aj8_1 = 4;
    this.bj8_1 = 7;
    this.cj8_1 = 8;
    this.dj8_1 = 9;
    this.ej8_1 = 10;
    this.fj8_1 = 1;
    this.gj8_1 = '\n        WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS\n              (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid\n                 FROM ClazzEnrolment\n                WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid\n                  AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                  AND :time BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft)\n    ';
    this.hj8_1 = '\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = :clazzEnrolmentUid         \n    ';
    this.ij8_1 = '\n        CASE (\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = :clazzEnrolmentUid         \n    )\n             WHEN 1000 THEN 8\n             ELSE 8\n        END     \n    ';
    this.jj8_1 = '\n        (SELECT EXISTS(\n                SELECT 1\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid\n                   AND ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                   AND ClazzEnrolment.clazzEnrolmentRole = 1000))\n    ';
    this.kj8_1 = "\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = :roleId \n                           AND (:filter != 1 \n                                 OR (:currentTime \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = :clazzUid\n                           AND (CoursePermission.cpToPersonUid = :accountPersonUid \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         :permission\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = :accountPersonUid\n                           AND (SystemPermission.spPermissionsFlag & \n     :permission\n         \n        ) > 0)\n               )\n    \n    )\n                        OR Person.personUid = :accountPersonUid\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE :searchText\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(:sortOrder)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(:sortOrder)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(:sortOrder)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(:sortOrder)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ";
    this.lj8_1 = "\n        PersonUids(personUid) AS (\n            SELECT CourseMember.personUid \n              FROM (SELECT Person.*,\n                           (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                              FROM ClazzEnrolment \n                             WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n            \n                           (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                              FROM ClazzEnrolment \n                             WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n            \n                           (SELECT ClazzEnrolment.clazzEnrolmentRole \n                              FROM ClazzEnrolment \n                             WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                               AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                               AND ClazzEnrolment.clazzEnrolmentActive\n                          ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                             LIMIT 1) AS enrolmentRole\n                      FROM Person\n                     WHERE Person.personUid IN \n                           (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                              FROM ClazzEnrolment \n                             WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                               AND ClazzEnrolment.clazzEnrolmentActive \n                               AND ClazzEnrolment.clazzEnrolmentRole = :roleId \n                               AND (:filter != 1 \n                                     OR (:currentTime \n                                          BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                          AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                       /* Begin permission check */\n                       AND (\n                               ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = :clazzUid\n                           AND (CoursePermission.cpToPersonUid = :accountPersonUid \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                                \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = :accountPersonUid\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                                \n        ) > 0)\n               )\n    )\n                            OR Person.personUid = :accountPersonUid\n                           )  \n                       /* End permission check */                   \n                       AND Person.firstNames || ' ' || Person.lastName LIKE :searchText\n                   GROUP BY Person.personUid) AS CourseMember\n          ORDER BY CASE(:sortOrder)\n                    WHEN 1 THEN CourseMember.firstNames\n                    WHEN 3 THEN CourseMember.lastName\n                    ELSE ''\n                END ASC,\n                CASE(:sortOrder)\n                    WHEN 2 THEN CourseMember.firstNames\n                    WHEN 4 THEN CourseMember.lastName\n                    ELSE ''\n                END DESC,\n                CASE(:sortOrder)\n                    WHEN 7 THEN CourseMember.earliestJoinDate\n                    WHEN 9 THEN CourseMember.latestDateLeft\n                    ELSE 0\n                END ASC,\n                CASE(:sortOrder)\n                    WHEN 8 THEN CourseMember.earliestJoinDate\n                    WHEN 10 THEN CourseMember.latestDateLeft\n                    ELSE 0\n                END DESC\n             LIMIT :studentsLimit\n            OFFSET :studentsOffset   \n         )\n    ";
  }
  var ClazzEnrolmentDaoCommon_instance;
  function ClazzEnrolmentDaoCommon_getInstance() {
    return ClazzEnrolmentDaoCommon_instance;
  }
  function ContentEntryDaoCommon() {
    this.mj8_1 = 1;
    this.nj8_1 = 2;
    this.oj8_1 = '\n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    ';
    this.pj8_1 = '\n               :accountPersonUid AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    ';
  }
  var ContentEntryDaoCommon_instance;
  function ContentEntryDaoCommon_getInstance() {
    return ContentEntryDaoCommon_instance;
  }
  function CourseAssignmentMarkDaoCommon() {
    this.qj8_1 = 1;
    this.rj8_1 = 0;
  }
  var CourseAssignmentMarkDaoCommon_instance;
  function CourseAssignmentMarkDaoCommon_getInstance() {
    return CourseAssignmentMarkDaoCommon_instance;
  }
  function deactivateByUids(_this__u8e3s4, uidList, changeTime, $completion) {
    var tmp = new $deactivateByUidsCOROUTINE$468(_this__u8e3s4, uidList, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  }
  function $deactivateByUidsCOROUTINE$468(_this__u8e3s4, uidList, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.aj9_1 = _this__u8e3s4;
    this.bj9_1 = uidList;
    this.cj9_1 = changeTime;
  }
  protoOf($deactivateByUidsCOROUTINE$468).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.dj9_1 = this.bj9_1;
            this.ej9_1 = this.dj9_1.w();
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.ej9_1.f()) {
              this.hd_1 = 3;
              continue $sm;
            }

            this.fj9_1 = this.ej9_1.e();
            var tmp_1 = this;
            tmp_1.gj9_1 = this.fj9_1;
            this.hd_1 = 2;
            suspendResult = this.aj9_1.ycc(this.gj9_1, false, this.cj9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.hd_1 = 1;
            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function CourseGroupSetDaoConstants() {
    this.hj9_1 = 1;
    this.ij9_1 = 2;
  }
  var CourseGroupSetDaoConstants_instance;
  function CourseGroupSetDaoConstants_getInstance() {
    return CourseGroupSetDaoConstants_instance;
  }
  function LanguageDaoCommon() {
    this.jj9_1 = 1;
    this.kj9_1 = 2;
    this.lj9_1 = 3;
    this.mj9_1 = 4;
    this.nj9_1 = 5;
    this.oj9_1 = 6;
  }
  var LanguageDaoCommon_instance;
  function LanguageDaoCommon_getInstance() {
    return LanguageDaoCommon_instance;
  }
  function deactivateByUids_0(_this__u8e3s4, uidList, changeTime, $completion) {
    var tmp = new $deactivateByUidsCOROUTINE$469(_this__u8e3s4, uidList, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  }
  function $deactivateByUidsCOROUTINE$469(_this__u8e3s4, uidList, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.xj9_1 = _this__u8e3s4;
    this.yj9_1 = uidList;
    this.zj9_1 = changeTime;
  }
  protoOf($deactivateByUidsCOROUTINE$469).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.aja_1 = this.yj9_1;
            this.bja_1 = this.aja_1.w();
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.bja_1.f()) {
              this.hd_1 = 3;
              continue $sm;
            }

            this.cja_1 = this.bja_1.e();
            var tmp_1 = this;
            tmp_1.dja_1 = this.cja_1;
            this.hd_1 = 2;
            suspendResult = this.xj9_1.ycc(this.dja_1, false, this.zj9_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.hd_1 = 1;
            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function PersonDaoCommon() {
    this.eja_1 = 1;
    this.fja_1 = 2;
    this.gja_1 = 3;
    this.hja_1 = 4;
    this.ija_1 = "\n         WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given the active user \n                 for their enrolments \n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE :accountPersonUid != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = :accountPersonUid\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE :accountPersonUid != 0\n                  AND CoursePermission.cpToPersonUid = :accountPersonUid)\n               \n         SELECT Person.*, PersonPicture.*\n           FROM Person\n                LEFT JOIN PersonPicture\n                     ON PersonPicture.personPictureUid = Person.personUid\n          WHERE /* Begin permission check */ \n                (         \n                      (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE :accountPersonUid != 0 \n                  AND SystemPermission.spToPersonUid = :accountPersonUid\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                       8192\n                       \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                    OR (Person.personUid IN \n                               (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                  FROM CanViewPersonUidsViaCoursePermission))\n                    OR (Person.personUid = :accountPersonUid)\n                )\n                /* End permission check */\n           AND (:excludeClazz = 0 OR :excludeClazz NOT IN\n                    (SELECT clazzEnrolmentClazzUid \n                       FROM ClazzEnrolment \n                      WHERE clazzEnrolmentPersonUid = Person.personUid \n                            AND :timestamp BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                AND ClazzEnrolment.clazzEnrolmentDateLeft\n                        AND ClazzEnrolment.clazzEnrolmentActive))\n           AND Person.personType = 0                  \n           AND (Person.personUid NOT IN (:excludeSelected))\n           AND (:searchText = '%' \n               OR Person.firstNames || ' ' || Person.lastName LIKE :searchText)\n      GROUP BY Person.personUid, PersonPicture.personPictureUid\n      ORDER BY CASE(:sortOrder)\n               WHEN 1 THEN Person.firstNames\n               WHEN 3 THEN Person.lastName\n               ELSE ''\n               END ASC,\n               CASE(:sortOrder)\n               WHEN 2 THEN Person.firstNames\n               WHEN 4 THEN Person.lastName\n               ELSE ''\n               END DESC\n    ";
  }
  var PersonDaoCommon_instance;
  function PersonDaoCommon_getInstance() {
    return PersonDaoCommon_instance;
  }
  function deactivateByUids_1(_this__u8e3s4, uidList, changeTime, $completion) {
    var tmp = new $deactivateByUidsCOROUTINE$470(_this__u8e3s4, uidList, changeTime, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  }
  function $deactivateByUidsCOROUTINE$470(_this__u8e3s4, uidList, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.rja_1 = _this__u8e3s4;
    this.sja_1 = uidList;
    this.tja_1 = changeTime;
  }
  protoOf($deactivateByUidsCOROUTINE$470).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 4;
            var tmp_0 = this;
            tmp_0.uja_1 = this.sja_1;
            this.vja_1 = this.uja_1.w();
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!this.vja_1.f()) {
              this.hd_1 = 3;
              continue $sm;
            }

            this.wja_1 = this.vja_1.e();
            var tmp_1 = this;
            tmp_1.xja_1 = this.wja_1;
            this.hd_1 = 2;
            suspendResult = this.rja_1.mgx(this.xja_1, false, this.tja_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.hd_1 = 1;
            continue $sm;
          case 3:
            return Unit_instance;
          case 4:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 4) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  function get_MIGRATION_105_106() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_105_106;
  }
  var MIGRATION_105_106;
  function get_MIGRATION_106_107() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_106_107;
  }
  var MIGRATION_106_107;
  function get_MIGRATION_107_108() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_107_108;
  }
  var MIGRATION_107_108;
  function get_MIGRATION_108_109() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_108_109;
  }
  var MIGRATION_108_109;
  function get_MIGRATION_120_121() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_120_121;
  }
  var MIGRATION_120_121;
  function get_MIGRATION_121_122() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_121_122;
  }
  var MIGRATION_121_122;
  function get_MIGRATION_122_123() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_122_123;
  }
  var MIGRATION_122_123;
  function get_MIGRATION_123_124() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_123_124;
  }
  var MIGRATION_123_124;
  function get_MIGRATION_124_125() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_124_125;
  }
  var MIGRATION_124_125;
  function get_MIGRATION_125_126() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_125_126;
  }
  var MIGRATION_125_126;
  function get_MIGRATION_126_127() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_126_127;
  }
  var MIGRATION_126_127;
  function get_MIGRATION_127_128() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_127_128;
  }
  var MIGRATION_127_128;
  function get_MIGRATION_128_129() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_128_129;
  }
  var MIGRATION_128_129;
  function get_MIGRATION_129_130() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_129_130;
  }
  var MIGRATION_129_130;
  function get_MIGRATION_130_131() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_130_131;
  }
  var MIGRATION_130_131;
  function get_MIGRATION_132_133() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_132_133;
  }
  var MIGRATION_132_133;
  function get_MIGRATION_133_134() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_133_134;
  }
  var MIGRATION_133_134;
  function get_MIGRATION_134_135() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_134_135;
  }
  var MIGRATION_134_135;
  function get_MIGRATION_135_136() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_135_136;
  }
  var MIGRATION_135_136;
  function get_MIGRATION_136_137() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_136_137;
  }
  var MIGRATION_136_137;
  function get_MIGRATION_137_138() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_137_138;
  }
  var MIGRATION_137_138;
  function get_MIGRATION_138_139() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_138_139;
  }
  var MIGRATION_138_139;
  function get_MIGRATION_139_140() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_139_140;
  }
  var MIGRATION_139_140;
  function get_MIGRATION_140_141() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_140_141;
  }
  var MIGRATION_140_141;
  function get_MIGRATION_141_142() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_141_142;
  }
  var MIGRATION_141_142;
  function get_MIGRATION_142_143() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_142_143;
  }
  var MIGRATION_142_143;
  function get_MIGRATION_143_144() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_143_144;
  }
  var MIGRATION_143_144;
  var MIGRATION_144_145_SERVER;
  function get_MIGRATION_144_145_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_144_145_CLIENT;
  }
  var MIGRATION_144_145_CLIENT;
  function get_MIGRATION_145_146() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_145_146;
  }
  var MIGRATION_145_146;
  function get_MIGRATION_146_147() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_146_147;
  }
  var MIGRATION_146_147;
  function get_MIGRATION_147_148() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_147_148;
  }
  var MIGRATION_147_148;
  var MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS;
  function get_MIGRATION_148_149_NO_OFFLINE_ITEMS() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_148_149_NO_OFFLINE_ITEMS;
  }
  var MIGRATION_148_149_NO_OFFLINE_ITEMS;
  function get_MIGRATION_149_150() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_149_150;
  }
  var MIGRATION_149_150;
  function get_MIGRATION_150_151() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_150_151;
  }
  var MIGRATION_150_151;
  function get_MIGRATION_151_152() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_151_152;
  }
  var MIGRATION_151_152;
  function get_MIGRATION_152_153() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_152_153;
  }
  var MIGRATION_152_153;
  function get_MIGRATION_153_154() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_153_154;
  }
  var MIGRATION_153_154;
  function get_MIGRATION_154_155() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_154_155;
  }
  var MIGRATION_154_155;
  var MIGRATION_155_156_SERVER;
  function get_MIGRATION_155_156_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_155_156_CLIENT;
  }
  var MIGRATION_155_156_CLIENT;
  function get_MIGRATION_156_157() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_156_157;
  }
  var MIGRATION_156_157;
  function get_MIGRATION_157_158() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_157_158;
  }
  var MIGRATION_157_158;
  function get_MIGRATION_158_159() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_158_159;
  }
  var MIGRATION_158_159;
  function get_MIGRATION_159_160() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_159_160;
  }
  var MIGRATION_159_160;
  function get_MIGRATION_160_161() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_160_161;
  }
  var MIGRATION_160_161;
  var MIGRATION_161_162_SERVER;
  function get_MIGRATION_161_162_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_161_162_CLIENT;
  }
  var MIGRATION_161_162_CLIENT;
  function get_MIGRATION_162_163() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_162_163;
  }
  var MIGRATION_162_163;
  function get_MIGRATION_163_164() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_163_164;
  }
  var MIGRATION_163_164;
  function get_MIGRATION_164_165() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_164_165;
  }
  var MIGRATION_164_165;
  function get_MIGRATION_165_166() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_165_166;
  }
  var MIGRATION_165_166;
  function get_MIGRATION_166_167() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_166_167;
  }
  var MIGRATION_166_167;
  function get_MIGRATION_167_168() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_167_168;
  }
  var MIGRATION_167_168;
  function get_MIGRATION_168_169() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_168_169;
  }
  var MIGRATION_168_169;
  var MIGRATION_169_170_SERVER;
  function get_MIGRATION_169_170_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_169_170_CLIENT;
  }
  var MIGRATION_169_170_CLIENT;
  function get_MIGRATION_170_171() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_170_171;
  }
  var MIGRATION_170_171;
  function get_MIGRATION_171_172() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_171_172;
  }
  var MIGRATION_171_172;
  function get_MIGRATION_172_194() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_172_194;
  }
  var MIGRATION_172_194;
  function get_MIGRATION_194_195() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_194_195;
  }
  var MIGRATION_194_195;
  function get_MIGRATION_195_196() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_195_196;
  }
  var MIGRATION_195_196;
  function get_MIGRATION_196_197() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_196_197;
  }
  var MIGRATION_196_197;
  function get_MIGRATION_197_198() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_197_198;
  }
  var MIGRATION_197_198;
  function get_MIGRATION_198_199() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_198_199;
  }
  var MIGRATION_198_199;
  function get_MIGRATION_199_200() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_199_200;
  }
  var MIGRATION_199_200;
  function get_MIGRATION_200_201() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_200_201;
  }
  var MIGRATION_200_201;
  function get_MIGRATION_201_202() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_201_202;
  }
  var MIGRATION_201_202;
  function get_MIGRATION_203_204() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_203_204;
  }
  var MIGRATION_203_204;
  function migrationList() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf_0([get_MIGRATION_105_106(), get_MIGRATION_106_107(), get_MIGRATION_107_108(), get_MIGRATION_108_109(), get_MIGRATION_120_121(), get_MIGRATION_121_122(), get_MIGRATION_122_123(), get_MIGRATION_123_124(), get_MIGRATION_124_125(), get_MIGRATION_125_126(), get_MIGRATION_126_127(), get_MIGRATION_127_128(), get_MIGRATION_128_129(), get_MIGRATION_129_130(), get_MIGRATION_130_131(), get_MIGRATION_132_133(), get_MIGRATION_133_134(), get_MIGRATION_134_135(), get_MIGRATION_135_136(), get_MIGRATION_136_137(), get_MIGRATION_137_138(), get_MIGRATION_138_139(), get_MIGRATION_139_140(), get_MIGRATION_140_141(), get_MIGRATION_141_142(), get_MIGRATION_142_143(), get_MIGRATION_143_144(), get_MIGRATION_145_146(), get_MIGRATION_146_147(), get_MIGRATION_147_148(), get_MIGRATION_149_150(), get_MIGRATION_150_151(), get_MIGRATION_151_152(), get_MIGRATION_152_153(), get_MIGRATION_153_154(), get_MIGRATION_154_155(), get_MIGRATION_156_157(), get_MIGRATION_157_158(), get_MIGRATION_158_159(), get_MIGRATION_159_160(), get_MIGRATION_160_161(), get_MIGRATION_162_163(), get_MIGRATION_163_164(), get_MIGRATION_164_165(), get_MIGRATION_165_166(), get_MIGRATION_166_167(), get_MIGRATION_167_168(), get_MIGRATION_168_169(), get_MIGRATION_170_171(), get_MIGRATION_171_172(), get_MIGRATION_172_194(), get_MIGRATION_194_195(), get_MIGRATION_195_196(), get_MIGRATION_196_197(), get_MIGRATION_197_198(), get_MIGRATION_198_199(), get_MIGRATION_199_200(), get_MIGRATION_200_201(), get_MIGRATION_201_202(), get_MIGRATION_203_204()]);
  }
  function MIGRATION_105_106$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.mutableListOf' call
    var stmtList = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.plusAssign' call
    var element = 'ALTER TABLE CourseAssignmentSubmissionAttachment ADD COLUMN casaFileName TEXT';
    stmtList.i1(element);
    return stmtList;
  }
  function MIGRATION_106_107$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.collections.mutableListOf' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_106_107.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS SqliteChangeSeqNums');
    this_0.i1('DROP TABLE IF EXISTS UpdateNotification');
    return this_0;
  }
  function MIGRATION_107_108$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.mutableListOf' call
    var stmtList = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.plusAssign' call
    var element = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerComment TEXT';
    stmtList.i1(element);
    // Inline function 'kotlin.collections.plusAssign' call
    var element_0 = 'ALTER TABLE ClazzAssignment ADD COLUMN caPeerReviewerCount  INTEGER  NOT NULL  DEFAULT 0';
    stmtList.i1(element_0);
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_1 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerSubmitterUid  INTEGER  NOT NULL  DEFAULT 0';
      stmtList.i1(element_1);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_2 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerPersonUid  INTEGER  NOT NULL  DEFAULT 0';
      stmtList.i1(element_2);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_3 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (`praUid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `praMarkerSubmitterUid` INTEGER NOT NULL, `praToMarkerSubmitterUid` INTEGER NOT NULL, `praAssignmentUid` INTEGER NOT NULL, `praActive` INTEGER NOT NULL, `praLct` INTEGER NOT NULL)';
      stmtList.i1(element_3);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_4 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocationReplicate (`prarPk` INTEGER NOT NULL, `prarVersionId` INTEGER NOT NULL DEFAULT 0, `prarDestination` INTEGER NOT NULL, `prarPending` INTEGER NOT NULL DEFAULT 1, PRIMARY KEY(`prarPk`, `prarDestination`))';
      stmtList.i1(element_4);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_5 = 'CREATE INDEX IF NOT EXISTS `index_PeerReviewerAllocationReplicate_prarPk_prarDestination_prarVersionId` ON PeerReviewerAllocationReplicate (`prarPk`, `prarDestination`, `prarVersionId`)';
      stmtList.i1(element_5);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_6 = 'CREATE INDEX IF NOT EXISTS `index_PeerReviewerAllocationReplicate_prarDestination_prarPending` ON PeerReviewerAllocationReplicate (`prarDestination`, `prarPending`)';
      stmtList.i1(element_6);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_7 = ' CREATE TRIGGER ch_ins_140 AFTER INSERT ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, NEW.praUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = NEW.praUid); END ';
      stmtList.i1(element_7);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_8 = ' CREATE TRIGGER ch_upd_140 AFTER UPDATE ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, NEW.praUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = NEW.praUid); END ';
      stmtList.i1(element_8);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_9 = ' CREATE TRIGGER ch_del_140 AFTER DELETE ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, OLD.praUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = OLD.praUid); END ';
      stmtList.i1(element_9);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_10 = 'CREATE VIEW PeerReviewerAllocation_ReceiveView AS  SELECT PeerReviewerAllocation.*, ClazzAssignmentReplicate.* FROM PeerReviewerAllocation LEFT JOIN ClazzAssignmentReplicate ON ClazzAssignmentReplicate.caPk = PeerReviewerAllocation.praUid ';
      stmtList.i1(element_10);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_11 = ' CREATE TRIGGER peerreviewerallocation_remote_insert_ins INSTEAD OF INSERT ON PeerReviewerAllocation_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES (NEW.praUid, NEW.praMarkerSubmitterUid, NEW.praToMarkerSubmitterUid, NEW.praAssignmentUid, NEW.praActive, NEW.praLct) /*psql ON CONFLICT (praUid) DO UPDATE SET praMarkerSubmitterUid = EXCLUDED.praMarkerSubmitterUid, praToMarkerSubmitterUid = EXCLUDED.praToMarkerSubmitterUid, praAssignmentUid = EXCLUDED.praAssignmentUid, praActive = EXCLUDED.praActive, praLct = EXCLUDED.praLct */; END ';
      stmtList.i1(element_11);
    } else {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_12 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerSubmitterUid  BIGINT  NOT NULL  DEFAULT 0';
      stmtList.i1(element_12);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_13 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerPersonUid  BIGINT  NOT NULL  DEFAULT 0';
      stmtList.i1(element_13);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_14 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (  praMarkerSubmitterUid  BIGINT  NOT NULL , praToMarkerSubmitterUid  BIGINT  NOT NULL , praAssignmentUid  BIGINT  NOT NULL , praActive  BOOL  NOT NULL , praLct  BIGINT  NOT NULL , praUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      stmtList.i1(element_14);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_15 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocationReplicate (  prarPk  BIGINT  NOT NULL , prarVersionId  BIGINT  NOT NULL  DEFAULT 0 , prarDestination  BIGINT  NOT NULL , prarPending  BOOL  NOT NULL  DEFAULT true, PRIMARY KEY (prarPk, prarDestination) )';
      stmtList.i1(element_15);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_16 = 'CREATE INDEX index_PeerReviewerAllocationReplicate_prarPk_prarDestination_prarVersionId ON PeerReviewerAllocationReplicate (prarPk, prarDestination, prarVersionId)';
      stmtList.i1(element_16);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_17 = 'CREATE INDEX index_PeerReviewerAllocationReplicate_prarDestination_prarPending ON PeerReviewerAllocationReplicate (prarDestination, prarPending)';
      stmtList.i1(element_17);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_18 = ' CREATE OR REPLACE FUNCTION ch_upd_140_fn() RETURNS TRIGGER AS $$ BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (140, NEW.praUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END $$ LANGUAGE plpgsql ';
      stmtList.i1(element_18);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_19 = ' CREATE TRIGGER ch_upd_140_trig AFTER UPDATE OR INSERT ON PeerReviewerAllocation FOR EACH ROW EXECUTE PROCEDURE ch_upd_140_fn(); ';
      stmtList.i1(element_19);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_20 = ' CREATE OR REPLACE FUNCTION ch_del_140_fn() RETURNS TRIGGER AS $$ BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (140, OLD.praUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END $$ LANGUAGE plpgsql ';
      stmtList.i1(element_20);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_21 = ' CREATE TRIGGER ch_del_140_trig AFTER DELETE ON PeerReviewerAllocation FOR EACH ROW EXECUTE PROCEDURE ch_del_140_fn(); ';
      stmtList.i1(element_21);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_22 = 'CREATE VIEW PeerReviewerAllocation_ReceiveView AS  SELECT PeerReviewerAllocation.*, ClazzAssignmentReplicate.* FROM PeerReviewerAllocation LEFT JOIN ClazzAssignmentReplicate ON ClazzAssignmentReplicate.caPk = PeerReviewerAllocation.praUid ';
      stmtList.i1(element_22);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_23 = "CREATE OR REPLACE FUNCTION peerreviewerallocation_remote_insert_fn() RETURNS TRIGGER AS $$ BEGIN INSERT INTO PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES (NEW.praUid, NEW.praMarkerSubmitterUid, NEW.praToMarkerSubmitterUid, NEW.praAssignmentUid, NEW.praActive, NEW.praLct) ON CONFLICT (praUid) DO UPDATE SET praMarkerSubmitterUid = EXCLUDED.praMarkerSubmitterUid, praToMarkerSubmitterUid = EXCLUDED.praToMarkerSubmitterUid, praAssignmentUid = EXCLUDED.praAssignmentUid, praActive = EXCLUDED.praActive, praLct = EXCLUDED.praLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END $$ LANGUAGE plpgsql";
      stmtList.i1(element_23);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_24 = ' CREATE TRIGGER peerreviewerallocation_remote_insert_trig INSTEAD OF INSERT ON PeerReviewerAllocation_ReceiveView FOR EACH ROW EXECUTE PROCEDURE peerreviewerallocation_remote_insert_fn() ';
      stmtList.i1(element_24);
    }
    return stmtList;
  }
  function MIGRATION_108_109$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.mutableListOf' call
    var stmtList = ArrayList_init_$Create$();
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      // Inline function 'kotlin.collections.plusAssign' call
      var element = 'CREATE TABLE IF NOT EXISTS ExternalAppPermission (  eapPersonUid  INTEGER  NOT NULL , eapPackageId  TEXT , eapStartTime  INTEGER  NOT NULL , eapExpireTime  INTEGER  NOT NULL , eapAuthToken  TEXT , eapAndroidAccountName  TEXT , eapUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      stmtList.i1(element);
    } else {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_0 = 'CREATE TABLE IF NOT EXISTS ExternalAppPermission (  eapPersonUid  BIGINT  NOT NULL , eapPackageId  TEXT , eapStartTime  BIGINT  NOT NULL , eapExpireTime  BIGINT  NOT NULL , eapAuthToken  TEXT , eapAndroidAccountName  TEXT , eapUid  SERIAL  PRIMARY KEY  NOT NULL )';
      stmtList.i1(element_0);
    }
    return stmtList;
  }
  function MIGRATION_120_121$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_120_121.<anonymous>.<anonymous>' call
    var tmp0_subject = dbType(db);
    Companion_getInstance_1();
    if (tmp0_subject === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS StudentResult (  srSourcedId  TEXT , srCourseBlockUid  INTEGER  NOT NULL , srClazzUid  INTEGER  NOT NULL , srAssignmentUid  INTEGER  NOT NULL , srLineItemSourcedId  TEXT , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  INTEGER  NOT NULL , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  INTEGER  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  REAl  NOT NULL , srScoreDate  INTEGER  NOT NULL , srLastModified  INTEGER  NOT NULL , srComment  TEXT , srAppId  TEXT , srActive  INTEGER  NOT NULL , srUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      Companion_getInstance_1();
      if (tmp0_subject === 2) {
        this_0.i1('CREATE TABLE IF NOT EXISTS StudentResult (  srSourcedId  TEXT , srCourseBlockUid  BIGINT  NOT NULL , srClazzUid  BIGINT  NOT NULL , srAssignmentUid  BIGINT  NOT NULL , srLineItemSourcedId  TEXT , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  BIGINT  NOT NULL , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  BIGINT  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  FLOAT  NOT NULL , srScoreDate  BIGINT  NOT NULL , srLastModified  BIGINT  NOT NULL , srComment  TEXT , srAppId  TEXT , srActive  BOOL  NOT NULL , srUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      }
    }
    return this_0.f3();
  }
  function MIGRATION_121_122$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_121_122.<anonymous>.<anonymous>' call
    var tmp0_subject = dbType(db);
    Companion_getInstance_1();
    if (tmp0_subject === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  INTEGER  NOT NULL , orPk1  INTEGER  NOT NULL , orPk2  INTEGER  NOT NULL , orTableId  INTEGER  NOT NULL , orUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ReplicationOperation (  repOpRemoteNodeId  INTEGER  NOT NULL , repOpStatus  INTEGER  NOT NULL , repOpTableId  INTEGER  NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS PendingRepositorySession (  endpointUrl  TEXT , remoteNodeId  INTEGER  NOT NULL , rsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      Companion_getInstance_1();
      if (tmp0_subject === 2) {
        this_0.i1('CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  BIGINT  NOT NULL , orPk1  BIGINT  NOT NULL , orPk2  BIGINT  NOT NULL , orTableId  INTEGER  NOT NULL , orUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
        this_0.i1('CREATE TABLE IF NOT EXISTS ReplicationOperation (  repOpRemoteNodeId  BIGINT  NOT NULL , repOpStatus  INTEGER  NOT NULL , repOpTableId  INTEGER  NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )');
        this_0.i1('CREATE TABLE IF NOT EXISTS PendingRepositorySession (  endpointUrl  TEXT , remoteNodeId  BIGINT  NOT NULL , rsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      }
    }
    return this_0.f3();
  }
  function MIGRATION_122_123$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('DROP TABLE IF EXISTS CourseDiscussion');
  }
  function MIGRATION_123_124$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_123_124.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS ContentJobItem');
    this_0.i1('DROP TABLE IF EXISTS ContentJob');
    var tmp0_subject = dbType(db);
    Companion_getInstance_1();
    if (tmp0_subject === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentJob (  toUri  TEXT , cjProgress  INTEGER  NOT NULL , cjTotal  INTEGER  NOT NULL , cjNotificationTitle  TEXT , cjIsMeteredAllowed  INTEGER  NOT NULL , params  TEXT , cjLct  INTEGER  NOT NULL , cjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  INTEGER  NOT NULL , sourceUri  TEXT , cjiIsLeaf  INTEGER  NOT NULL , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContainerUid  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiRecursiveProgress  INTEGER  NOT NULL , cjiRecursiveTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiServerJobId  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiContainerProcessed  INTEGER  NOT NULL , cjiLastModified  INTEGER  NOT NULL , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
    } else {
      Companion_getInstance_1();
      if (tmp0_subject === 2) {
        this_0.i1('CREATE TABLE IF NOT EXISTS ContentJob (  toUri  TEXT , cjProgress  BIGINT  NOT NULL , cjTotal  BIGINT  NOT NULL , cjNotificationTitle  TEXT , cjIsMeteredAllowed  BOOL  NOT NULL , params  TEXT , cjLct  BIGINT  NOT NULL , cjUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
        this_0.i1('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  BIGINT  NOT NULL , sourceUri  TEXT , cjiIsLeaf  BOOL  NOT NULL , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContainerUid  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiRecursiveProgress  BIGINT  NOT NULL , cjiRecursiveTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  BOOL  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiServerJobId  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiContainerProcessed  BOOL  NOT NULL , cjiLastModified  BIGINT  NOT NULL , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
        this_0.i1('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
      }
    }
    return this_0.f3();
  }
  function MIGRATION_124_125$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_124_125.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS ContentJobItem');
    var tmp0_subject = dbType(db);
    Companion_getInstance_1();
    if (tmp0_subject === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  INTEGER  NOT NULL , sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiIsLeaf  INTEGER  NOT NULL , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiRecursiveProgress  INTEGER  NOT NULL , cjiRecursiveTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiServerJobId  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiContainerProcessed  INTEGER  NOT NULL , cjiLastModified  INTEGER  NOT NULL , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevUrl  TEXT , cevContentType  TEXT , cevSitemapUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      Companion_getInstance_1();
      if (tmp0_subject === 2) {
        this_0.i1('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  BIGINT  NOT NULL , sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiIsLeaf  BOOL  NOT NULL , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiRecursiveProgress  BIGINT  NOT NULL , cjiRecursiveTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  BOOL  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiServerJobId  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiContainerProcessed  BOOL  NOT NULL , cjiLastModified  BIGINT  NOT NULL , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
        this_0.i1('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
        this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  BIGINT  NOT NULL , cevUrl  TEXT , cevContentType  TEXT , cevSitemapUrl  TEXT , cevSize  BIGINT  NOT NULL , cevInActive  BOOL  NOT NULL , cevLastModified  BIGINT  NOT NULL , cevLct  BIGINT  NOT NULL , cevUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      }
    }
    return this_0.f3();
  }
  function MIGRATION_125_126$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_126_127$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_126_127.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS TransferJob (  tjType  INTEGER  NOT NULL , tjStatus  INTEGER  NOT NULL , tjName  TEXT , tjUuid  TEXT , tjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS TransferJobItem (  tjiTjUid  INTEGER  NOT NULL , tjTotalSize  INTEGER  NOT NULL , tjTransferred  INTEGER  NOT NULL , tjAttemptCount  INTEGER  NOT NULL , tjiSrc  TEXT , tjiDest  TEXT , tjiType  INTEGER  NOT NULL , tjiStatus  INTEGER  NOT NULL , tjiTableId  INTEGER  NOT NULL , tjiEntityUid  INTEGER  NOT NULL , tjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS TransferJob (  tjType  INTEGER  NOT NULL , tjStatus  INTEGER  NOT NULL , tjName  TEXT , tjUuid  TEXT , tjUid  SERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS TransferJobItem (  tjiTjUid  INTEGER  NOT NULL , tjTotalSize  BIGINT  NOT NULL , tjTransferred  BIGINT  NOT NULL , tjAttemptCount  INTEGER  NOT NULL , tjiSrc  TEXT , tjiDest  TEXT , tjiType  INTEGER  NOT NULL , tjiStatus  INTEGER  NOT NULL , tjiTableId  INTEGER  NOT NULL , tjiEntityUid  BIGINT  NOT NULL , tjiUid  SERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_127_128$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_127_128.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('DROP TABLE IF EXISTS PersonPicture');
      this_0.i1('CREATE TABLE IF NOT EXISTS PersonPicture (  personPictureLct  INTEGER  NOT NULL , personPictureUri  TEXT , personPictureThumbnailUri  TEXT , fileSize  INTEGER  NOT NULL , personPictureActive  INTEGER  NOT NULL , personPictureUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('ALTER TABLE TransferJobItem ADD COLUMN tjiEntityEtag  INTEGER  NOT NULL  DEFAULT 0');
    } else {
      this_0.i1('DROP TABLE IF EXISTS PersonPicture');
      this_0.i1('CREATE TABLE IF NOT EXISTS PersonPicture (  personPictureLct  BIGINT  NOT NULL , personPictureUri  TEXT , personPictureThumbnailUri  TEXT , fileSize  INTEGER  NOT NULL , personPictureActive  BOOL  NOT NULL , personPictureUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('ALTER TABLE TransferJobItem ADD COLUMN tjiEntityEtag  BIGINT  NOT NULL  DEFAULT 0');
    }
    return this_0.f3();
  }
  function MIGRATION_128_129$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_128_129.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS CoursePicture');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS CoursePicture (  coursePictureLct  INTEGER  NOT NULL , coursePictureUri  TEXT , coursePictureThumbnailUri  TEXT , coursePictureActive  INTEGER  NOT NULL , coursePictureUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS CoursePicture (  coursePictureLct  BIGINT  NOT NULL , coursePictureUri  TEXT , coursePictureThumbnailUri  TEXT , coursePictureActive  BOOL  NOT NULL , coursePictureUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_129_130$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_129_130.<anonymous>.<anonymous>' call
    this_0.i1('ALTER TABLE TransferJobItem ADD COLUMN tjiLockIdToRelease INTEGER NOT NULL DEFAULT 0');
    return this_0.f3();
  }
  function MIGRATION_130_131$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_130_131.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS CacheLockJoin (  cljTableId  INTEGER  NOT NULL , cljEntityUid  INTEGER  NOT NULL , cljUrl  TEXT  NOT NULL , cljLockId  INTEGER  NOT NULL , cljStatus  INTEGER  NOT NULL , cljType  INTEGER  NOT NULL , cljId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS CacheLockJoin (  cljTableId  INTEGER  NOT NULL , cljEntityUid  BIGINT  NOT NULL , cljUrl  TEXT  NOT NULL , cljLockId  INTEGER  NOT NULL , cljStatus  INTEGER  NOT NULL , cljType  INTEGER  NOT NULL , cljId  SERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)');
    }
    return this_0.f3();
  }
  function MIGRATION_132_133$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_132_133.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE ContentJobItem');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)');
    }
    return this_0.f3();
  }
  function MIGRATION_133_134$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_133_134.<anonymous>.<anonymous>' call
    this_0.i1('CREATE INDEX tji_table_entity_etag ON TransferJobItem (tjiTableId, tjiEntityUid, tjiEntityEtag)');
    return this_0.f3();
  }
  function MIGRATION_134_135$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_134_135.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS OfflineItem (  oiNodeId  INTEGER  NOT NULL , oiClazzUid  INTEGER  NOT NULL , oiCourseBlockUid  INTEGER  NOT NULL , oiContentEntryUid  INTEGER  NOT NULL , oiActive  INTEGER  NOT NULL , oiLct  INTEGER  NOT NULL , oiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS OfflineItem (  oiNodeId  BIGINT  NOT NULL , oiClazzUid  BIGINT  NOT NULL , oiCourseBlockUid  BIGINT  NOT NULL , oiContentEntryUid  BIGINT  NOT NULL , oiActive  BOOL  NOT NULL , oiLct  BIGINT  NOT NULL , oiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)');
    }
    return this_0.f3();
  }
  function MIGRATION_135_136$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_135_136.<anonymous>.<anonymous>' call
    this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjTableId INTEGER NOT NULL DEFAULT 0');
    this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjCreationType INTEGER NOT NULL DEFAULT 0');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjEntityUid INTEGER NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjTimeCreated INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjEntityUid BIGINT NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjTimeCreated BIGINT NOT NULL DEFAULT 0');
    }
    this_0.i1('CREATE INDEX TransferJob_idx_tjTableId_EntityUid ON TransferJob (tjTableId, tjEntityUid)');
    return this_0.f3();
  }
  function MIGRATION_136_137$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_136_137.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob (  oiptjOiUid  INTEGER  NOT NULL , oiptjTableId  INTEGER  NOT NULL , oiptjEntityUid  INTEGER  NOT NULL , oiptjUrl  TEXT , oiptjType  INTEGER  NOT NULL , oiptjId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob (  oiptjOiUid  BIGINT  NOT NULL , oiptjTableId  INTEGER  NOT NULL , oiptjEntityUid  BIGINT  NOT NULL , oiptjUrl  TEXT , oiptjType  INTEGER  NOT NULL , oiptjId  SERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_137_138$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_137_138.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE ContentEntryVersion RENAME to ContentEntryVersion_OLD');
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevUrl  TEXT , cevContentType  TEXT , cevManifestUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('INSERT INTO ContentEntryVersion (cevContentEntryUid, cevUrl, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid) SELECT cevContentEntryUid, cevUrl, cevContentType, cevSitemapUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid FROM ContentEntryVersion_OLD');
      this_0.i1('DROP TABLE ContentEntryVersion_OLD');
    } else {
      this_0.i1('ALTER TABLE ContentEntryVersion RENAME COLUMN cevSitemapUrl TO cevManifestUrl');
    }
    return this_0.f3();
  }
  function MIGRATION_138_139$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_138_139.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE ContentEntryVersion RENAME to ContentEntryVersion_OLD');
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevOpenUri  TEXT , cevContentType  TEXT , cevManifestUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('INSERT INTO ContentEntryVersion (cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid) SELECT cevContentEntryUid, cevUrl, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid FROM ContentEntryVersion_OLD');
      this_0.i1('DROP TABLE ContentEntryVersion_OLD');
    } else {
      this_0.i1('ALTER TABLE ContentEntryVersion RENAME COLUMN cevUrl to cevOpenUri');
    }
    return this_0.f3();
  }
  function MIGRATION_139_140$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_139_140.<anonymous>.<anonymous>' call
    this_0.i1('CREATE INDEX transferjob_tjuid ON TransferJobItem (tjiTjUid)');
    return this_0.f3();
  }
  function MIGRATION_140_141$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_140_141.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 2) {
      this_0.i1('ALTER TABLE UserSession ALTER COLUMN usLcb TYPE BIGINT');
    }
    return this_0.f3();
  }
  function MIGRATION_141_142$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('DROP TABLE IF EXISTS ClazzAssignmentContentJoin');
  }
  function MIGRATION_142_143$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_142_143.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE ContentEntryParentChildJoin ADD COLUMN cepcjDeleted INTEGER NOT NULL DEFAULT 0');
      this_0.i1('CREATE TABLE IF NOT EXISTS DeletedItem (  delItemName  TEXT , delItemIconUri  TEXT , delItemLastModTime  INTEGER  NOT NULL , delItemTimeDeleted  INTEGER  NOT NULL , delItemEntityTable  INTEGER  NOT NULL , delItemEntityUid  INTEGER  NOT NULL , delItemDeletedByPersonUid  INTEGER  NOT NULL , delItemStatus  INTEGER  NOT NULL , delItemIsFolder  INTEGER  NOT NULL  DEFAULT 0 , delItemUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)');
    } else {
      this_0.i1('ALTER TABLE ContentEntryParentChildJoin ADD COLUMN cepcjDeleted BOOL NOT NULL DEFAULT false');
      this_0.i1('CREATE TABLE IF NOT EXISTS DeletedItem (  delItemName  TEXT , delItemIconUri  TEXT , delItemLastModTime  BIGINT  NOT NULL , delItemTimeDeleted  BIGINT  NOT NULL , delItemEntityTable  INTEGER  NOT NULL , delItemEntityUid  BIGINT  NOT NULL , delItemDeletedByPersonUid  BIGINT  NOT NULL , delItemStatus  INTEGER  NOT NULL , delItemIsFolder  BOOL  NOT NULL  DEFAULT false, delItemUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)');
    }
    return this_0.f3();
  }
  function MIGRATION_143_144$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_143_144.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS Message');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS Message (  messageSenderPersonUid  INTEGER  NOT NULL , messageToPersonUid  INTEGER  NOT NULL , messageText  TEXT , messageTimestamp  INTEGER  NOT NULL , messageLct  INTEGER  NOT NULL , messageUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS Message (  messageSenderPersonUid  BIGINT  NOT NULL , messageToPersonUid  BIGINT  NOT NULL , messageText  TEXT , messageTimestamp  BIGINT  NOT NULL , messageLct  BIGINT  NOT NULL , messageUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_144_145_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var insertOutgoingReplicationSql = '\n           INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2)\n                SELECT UserSession.usClientNodeId AS destNodeId,\n                       ' + 126 + ' AS orTableId,\n                       NEW.messageUid AS orPk1,\n                       0 as orPk2\n                 FROM UserSession\n                WHERE (   UserSession.usPersonUid = NEW.messageSenderPersonUid \n                       OR UserSession.usPersonUid = NEW.messageToPersonUid)\n                  AND UserSession.usStatus = ' + 1 + '     \n                  AND UserSession.usClientNodeId NOT IN \n                      (SELECT ReplicationOperation.repOpRemoteNodeId\n                         FROM ReplicationOperation\n                        WHERE ReplicationOperation.repOpTableId = ' + 126 + ');\n        ';
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_144_145_SERVER.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('\n                    CREATE TRIGGER IF NOT EXISTS message_send_trigger\n                    AFTER INSERT ON Message\n                    FOR EACH ROW\n                    BEGIN\n                    ' + insertOutgoingReplicationSql + '\n                    END    \n                ');
    } else {
      this_0.i1('\n                    CREATE OR REPLACE FUNCTION message_send_fn() RETURNS TRIGGER AS $$\n                    BEGIN\n                    ' + insertOutgoingReplicationSql + '\n                    RETURN NEW;\n                    END $$ LANGUAGE plpgsql\n                ');
      this_0.i1('\n                    CREATE TRIGGER message_send_trig AFTER INSERT \n                    ON Message\n                    FOR EACH ROW EXECUTE PROCEDURE message_send_fn()\n                ');
    }
    return this_0.f3();
  }
  function MIGRATION_144_145_CLIENT$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_145_146$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('CREATE INDEX message_idx_send_to_time ON Message (messageSenderPersonUid, messageToPersonUid, messageTimestamp)');
  }
  function MIGRATION_146_147$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_146_147.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 2) {
      this_0.i1('ALTER TABLE CacheLockJoin ALTER COLUMN cljLockId TYPE BIGINT');
    }
    return this_0.f3();
  }
  function MIGRATION_147_148$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_147_148.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 2) {
      this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjOiUid BIGINT NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE CacheLockJoin ADD COLUMN cljOiUid BIGINT NOT NULL DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE TransferJob ADD COLUMN tjOiUid INTEGER NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE CacheLockJoin ADD COLUMN cljOiUid INTEGER NOT NULL DEFAULT 0');
    }
    this_0.i1('CREATE INDEX idx_clj_offline_item_uid ON CacheLockJoin (cljOiUid)');
    return this_0.f3();
  }
  function MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('\n        CREATE TRIGGER IF NOT EXISTS offline_item_inactive_trig \n                AFTER UPDATE ON OfflineItem\n                FOR EACH ROW WHEN NEW.oiActive = 0 AND OLD.oiActive = 1\n                BEGIN \n                UPDATE CacheLockJoin\n                   SET cljStatus = ' + 3 + '\n                 WHERE cljOiUid = NEW.oiUid;  \n                END\n        ');
  }
  function MIGRATION_148_149_NO_OFFLINE_ITEMS$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_149_150$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_149_150.<anonymous>.<anonymous>' call
    var tmp;
    var tmp_0 = dbType(db);
    Companion_getInstance_1();
    if (tmp_0 === 1) {
      tmp = 'INTEGER';
    } else {
      tmp = 'BIGINT';
    }
    var fieldType = tmp;
    this_0.i1('ALTER TABLE ContentEntryVersion ADD COLUMN cevStorageSize ' + fieldType + ' NOT NULL DEFAULT 0');
    this_0.i1('ALTER TABLE ContentEntryVersion ADD COLUMN cevOriginalSize ' + fieldType + ' NOT NULL DEFAULT 0');
    return this_0.f3();
  }
  function MIGRATION_150_151$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE TransferJobItem ADD COLUMN tjiPartialTmpFile TEXT');
  }
  function MIGRATION_151_152$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_151_152.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 2) {
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(50, NEW.personPictureUid, NEW.personPictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 50\n                               AND cljEntityUid = OLD.personPictureUid\n                               AND cljUrl = OLD.personPictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_50_personPictureUri_ins_t\n                            AFTER INSERT ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_50_personPictureUri_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND OLD.personPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_50_personPictureUri_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND NEW.personPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_50_personPictureUri();\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(50, NEW.personPictureUid, NEW.personPictureThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 50\n                               AND cljEntityUid = OLD.personPictureUid\n                               AND cljUrl = OLD.personPictureThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_ins_t\n                            AFTER INSERT ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND OLD.personPictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_50_personPictureThumbnailUr_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND NEW.personPictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_50_personPictureThumbnailUr();\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(125, NEW.coursePictureUid, NEW.coursePictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 125\n                               AND cljEntityUid = OLD.coursePictureUid\n                               AND cljUrl = OLD.coursePictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureUri_ins_t\n                            AFTER INSERT ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureUri_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND OLD.coursePictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_125_coursePictureUri_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND NEW.coursePictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_125_coursePictureUri();\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(125, NEW.coursePictureUid, NEW.coursePictureThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 125\n                               AND cljEntityUid = OLD.coursePictureUid\n                               AND cljUrl = OLD.coursePictureThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_ins_t\n                            AFTER INSERT ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND OLD.coursePictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_125_coursePictureThumbnailUr_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND NEW.coursePictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_125_coursePictureThumbnailUr();\n                        ');
    }
    return this_0.f3();
  }
  function MIGRATION_152_153$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_152_153.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS EnrolmentRequest (  erClazzUid  INTEGER  NOT NULL , erClazzName  TEXT , erPersonUid  INTEGER  NOT NULL , erPersonFullname  TEXT , erPersonPictureUri  TEXT , erPersonUsername  TEXT , erRole  INTEGER  NOT NULL , erRequestTime  INTEGER  NOT NULL , erStatus  INTEGER  NOT NULL , erStatusSetByPersonUid  INTEGER  NOT NULL , erDeleted  INTEGER  NOT NULL , erStatusSetAuth  TEXT , erLastModified  INTEGER  NOT NULL , erUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS EnrolmentRequest (  erClazzUid  BIGINT  NOT NULL , erClazzName  TEXT , erPersonUid  BIGINT  NOT NULL , erPersonFullname  TEXT , erPersonPictureUri  TEXT , erPersonUsername  TEXT , erRole  INTEGER  NOT NULL , erRequestTime  BIGINT  NOT NULL , erStatus  INTEGER  NOT NULL , erStatusSetByPersonUid  BIGINT  NOT NULL , erDeleted  BOOL  NOT NULL , erStatusSetAuth  TEXT , erLastModified  BIGINT  NOT NULL , erUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.i1('CREATE INDEX idx_enrolmentrequest_by_clazz ON EnrolmentRequest (erClazzUid, erStatus)');
    this_0.i1('CREATE INDEX idx_enrolmentrequest_by_person ON EnrolmentRequest (erPersonUid, erStatus)');
    return this_0.f3();
  }
  function MIGRATION_153_154$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_153_154.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS CoursePermission (  cpLastModified  INTEGER  NOT NULL , cpClazzUid  INTEGER  NOT NULL , cpToEnrolmentRole  INTEGER  NOT NULL , cpToPersonUid  INTEGER  NOT NULL , cpToGroupUid  INTEGER  NOT NULL , cpPermissionsFlag  INTEGER  NOT NULL , cpIsDeleted  INTEGER  NOT NULL , cpUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS SystemPermission (  spToPersonUid  INTEGER  NOT NULL , spToGroupUid  INTEGER  NOT NULL , spPermissionsFlag  INTEGER  NOT NULL , spLastModified  INTEGER  NOT NULL , spIsDeleted  INTEGER  NOT NULL , spUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('ALTER TABLE Clazz ADD COLUMN clazzOwnerPersonUid INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS CoursePermission (  cpLastModified  BIGINT  NOT NULL , cpClazzUid  BIGINT  NOT NULL , cpToEnrolmentRole  INTEGER  NOT NULL , cpToPersonUid  BIGINT  NOT NULL , cpToGroupUid  BIGINT  NOT NULL , cpPermissionsFlag  BIGINT  NOT NULL , cpIsDeleted  BOOL  NOT NULL , cpUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS SystemPermission (  spToPersonUid  BIGINT  NOT NULL , spToGroupUid  BIGINT  NOT NULL , spPermissionsFlag  BIGINT  NOT NULL , spLastModified  BIGINT  NOT NULL , spIsDeleted  BOOL  NOT NULL , spUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('ALTER TABLE Clazz ADD COLUMN clazzOwnerPersonUid BIGINT NOT NULL DEFAULT 0');
    }
    this_0.i1('CREATE INDEX idx_coursepermission_clazzuid ON CoursePermission (cpClazzUid)');
    this_0.i1('CREATE INDEX idx_systempermission_personuid ON SystemPermission (spToPersonUid)');
    return this_0.f3();
  }
  function MIGRATION_154_155$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_154_155.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE CourseAssignmentSubmission ADD COLUMN casClazzUid INTEGER NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE CourseAssignmentMark ADD COLUMN camClazzUid INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE CourseAssignmentSubmission ADD COLUMN casClazzUid BIGINT NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE CourseAssignmentMark ADD COLUMN camClazzUid BIGINT NOT NULL DEFAULT 0');
    }
    return this_0.f3();
  }
  function MIGRATION_155_156_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_155_156_SERVER.<anonymous>.<anonymous>' call
    var tmp;
    var tmp_0 = dbType(db);
    Companion_getInstance_1();
    if (tmp_0 === 1) {
      tmp = '0';
    } else {
      tmp = 'false';
    }
    var falseVal = tmp;
    Companion_getInstance();
    this_0.i1("\n            INSERT INTO SystemPermission(spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted)\n            SELECT Person.personUid AS spToPersonUid,\n                   0 AS spToGroupUid,\n                   CASE \n                   WHEN Person.username = 'admin' THEN " + (new Long(-1, 2147483647)).toString() + '\n                   ELSE 0\n                   END AS spPermissionsFlag,\n                   ' + systemTimeInMillis().toString() + ' AS spLastModified,\n                   ' + falseVal + ' AS spIsDeleted\n              FROM Person\n        ');
    var tmp_1 = systemTimeInMillis().toString();
    Companion_getInstance_78();
    this_0.i1('\n            INSERT INTO CoursePermission(cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted)\n            SELECT ' + tmp_1 + ' AS cpLastModified,\n                   Clazz.clazzUid AS cpClazzUid,\n                   ' + 1001 + ' AS cpToEnrolmentRole,\n                   0 AS cpToPersonUid,\n                   0 AS cpToGroupUid,\n                   ' + (new Long(8703, 0)).toString() + ' AS cpPermissionsFlag,\n                   ' + falseVal + ' AS cpIsDeleted\n              FROM Clazz     \n        ');
    var tmp_2 = systemTimeInMillis().toString();
    Companion_getInstance_78();
    this_0.i1('\n            INSERT INTO CoursePermission(cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted)\n            SELECT ' + tmp_2 + ' AS cpLastModified,\n                   Clazz.clazzUid AS cpClazzUid,\n                   ' + 1000 + ' AS cpToEnrolmentRole,\n                   0 AS cpToPersonUid,\n                   0 AS cpToGroupUid,\n                   ' + (new Long(8193, 0)).toString() + ' AS cpPermissionsFlag,\n                   ' + falseVal + ' AS cpIsDeleted\n              FROM Clazz     \n        ');
    this_0.i1("\n           UPDATE Clazz\n              SET clazzOwnerPersonUid = \n                  (SELECT Person.personUid\n                     FROM Person\n                    WHERE Person.username = 'admin'\n                    LIMIT 1) \n        ");
    this_0.i1('\n            UPDATE ScopedGrant\n               SET sgPermissions = 0,\n                   sgLct = ' + systemTimeInMillis().toString() + '\n        ');
    return this_0.f3();
  }
  function MIGRATION_155_156_CLIENT$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_156_157$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_156_157.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS CourseAssignmentSubmissionAttachment');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile (  casaSubmissionUid  INTEGER  NOT NULL , casaCaUid  INTEGER  NOT NULL , casaClazzUid  INTEGER  NOT NULL , casaMimeType  TEXT , casaFileName  TEXT , casaUri  TEXT , casaSize  INTEGER  NOT NULL , casaTimestamp  INTEGER  NOT NULL , casaUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile (  casaSubmissionUid  BIGINT  NOT NULL , casaCaUid  BIGINT  NOT NULL , casaClazzUid  BIGINT  NOT NULL , casaMimeType  TEXT , casaFileName  TEXT , casaUri  TEXT , casaSize  INTEGER  NOT NULL , casaTimestamp  BIGINT  NOT NULL , casaUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_157_158$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_157_158.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaDeleted INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaDeleted BOOL NOT NULL DEFAULT FALSE');
    }
    return this_0.f3();
  }
  function MIGRATION_158_159$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_158_159.<anonymous>.<anonymous>' call
    var tmp;
    var tmp_0 = dbType(db);
    Companion_getInstance_1();
    if (tmp_0 === 1) {
      tmp = 'INTEGER';
    } else {
      tmp = 'BIGINT';
    }
    var colType = tmp;
    this_0.i1('ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaSubmitterUid ' + colType + ' NOT NULL DEFAULT 0');
    return this_0.f3();
  }
  function MIGRATION_159_160$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_159_160.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE IF EXISTS Comments');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS Comments (  commentsText  TEXT , commentsEntityUid  INTEGER  NOT NULL , commentsStatus  INTEGER  NOT NULL , commentsFromPersonUid  INTEGER  NOT NULL , commentsForSubmitterUid  INTEGER  NOT NULL , commentsFromSubmitterUid  INTEGER  NOT NULL , commentsFlagged  INTEGER  NOT NULL , commentsDeleted  INTEGER  NOT NULL , commentsDateTimeAdded  INTEGER  NOT NULL , commentsLct  INTEGER  NOT NULL , commentsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS Comments (  commentsText  TEXT , commentsEntityUid  BIGINT  NOT NULL , commentsStatus  INTEGER  NOT NULL , commentsFromPersonUid  BIGINT  NOT NULL , commentsForSubmitterUid  BIGINT  NOT NULL , commentsFromSubmitterUid  BIGINT  NOT NULL , commentsFlagged  BOOL  NOT NULL , commentsDeleted  BOOL  NOT NULL , commentsDateTimeAdded  BIGINT  NOT NULL , commentsLct  BIGINT  NOT NULL , commentsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.i1('CREATE INDEX idx_comments_entity_submitter ON Comments (commentsEntityUid, commentsForSubmitterUid)');
    return this_0.f3();
  }
  function MIGRATION_160_161$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_160_161.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 2) {
      this_0.i1('ALTER TABLE DiscussionPost DROP COLUMN discussionPostVisible');
      this_0.i1('ALTER TABLE DiscussionPost DROP COLUMN discussionPostArchive');
      this_0.i1('ALTER TABLE DiscussionPost ADD COLUMN dpDeleted BOOL NOT NULL DEFAULT FALSE');
      this_0.i1('ALTER TABLE DiscussionPost ADD COLUMN discussionPostReplyToPostUid BIGINT NOT NULL DEFAULT 0');
      this_0.i1('ALTER TABLE DiscussionPost ADD COLUMN discussionPostCourseBlockUid BIGINT NOT NULL DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE DiscussionPost RENAME to DiscussionPost_OLD');
      this_0.i1('CREATE TABLE IF NOT EXISTS DiscussionPost (  discussionPostReplyToPostUid  INTEGER  NOT NULL , discussionPostTitle  TEXT , discussionPostMessage  TEXT , discussionPostStartDate  INTEGER  NOT NULL , discussionPostCourseBlockUid  INTEGER  NOT NULL , dpDeleted  INTEGER  NOT NULL , discussionPostStartedPersonUid  INTEGER  NOT NULL , discussionPostClazzUid  INTEGER  NOT NULL , discussionPostLct  INTEGER  NOT NULL , discussionPostUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('INSERT INTO DiscussionPost (discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostUid) SELECT discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, 0 AS dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostUid FROM DiscussionPost_OLD');
      this_0.i1('DROP TABLE DiscussionPost_OLD');
    }
    return this_0.f3();
  }
  function MIGRATION_161_162_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_161_162_SERVER.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('\n                        CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Ins_casaUri\n                        AFTER INSERT ON CourseAssignmentSubmissionFile\n                        FOR EACH ROW WHEN NEW.casaUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);\n                        END\n                    ');
      this_0.i1('\n                    CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_New\n                    AFTER UPDATE ON CourseAssignmentSubmissionFile\n                    FOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND NEW.casaUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);\n                    END   \n                ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_Old\nAFTER UPDATE ON CourseAssignmentSubmissionFile\nFOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND OLD.casaUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 90\n       AND cljEntityUid = OLD.casaUid\n       AND cljUrl = OLD.casaUri;\nEND        ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Del_casaUri\nAFTER DELETE ON CourseAssignmentSubmissionFile\nFOR EACH ROW WHEN OLD.casaUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 90\n       AND cljEntityUid = OLD.casaUid\n       AND cljUrl = OLD.casaUri;\nEND       ');
    } else {
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_90_casaUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_90_casaUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 90\n                               AND cljEntityUid = OLD.casaUid\n                               AND cljUrl = OLD.casaUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_90_casaUri_ins_t\n                            AFTER INSERT ON CourseAssignmentSubmissionFile\n                            FOR EACH ROW\n                            WHEN (NEW.casaUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_90_casaUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_90_casaUri_upd_t\n                            AFTER UPDATE ON CourseAssignmentSubmissionFile\n                            FOR EACH ROW\n                            WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND OLD.casaUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_90_casaUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_90_casaUri_upd_t\n                            AFTER UPDATE ON CourseAssignmentSubmissionFile\n                            FOR EACH ROW\n                            WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND NEW.casaUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_90_casaUri();\n                        ');
    }
    return this_0.f3();
  }
  function MIGRATION_161_162_CLIENT$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_162_163$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE ContentEntry ADD COLUMN contentOwnerType INTEGER NOT NULL DEFAULT 0');
  }
  function MIGRATION_163_164$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiCompressionLevel INTEGER NOT NULL DEFAULT 0');
  }
  function MIGRATION_164_165$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_164_165.<anonymous>.<anonymous>' call
    this_0.i1('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiError TEXT');
    var tmp = dbType(it);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiErrorDismissed INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiErrorDismissed BOOL NOT NULL DEFAULT FALSE');
    }
    return this_0.f3();
  }
  function MIGRATION_165_166$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var tmp;
    var tmp_0 = dbType(it);
    Companion_getInstance_1();
    if (tmp_0 === 1) {
      tmp = listOf('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiOwnerPersonUid INTEGER NOT NULL DEFAULT 0');
    } else {
      tmp = listOf('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiOwnerPersonUid BIGINT NOT NULL DEFAULT 0');
    }
    return tmp;
  }
  function MIGRATION_166_167$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('UPDATE ContentEntryImportJob SET cjiStatus = 24 WHERE cjiStatus = 4');
  }
  function MIGRATION_167_168$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var tmp;
    var tmp_0 = dbType(db);
    Companion_getInstance_1();
    if (tmp_0 === 1) {
      tmp = listOf('CREATE TABLE IF NOT EXISTS CourseBlockPicture (  cbpUid  INTEGER  PRIMARY KEY  NOT NULL , cbpLct  INTEGER  NOT NULL , cbpPictureUri  TEXT , cbpThumbnailUri  TEXT )');
    } else {
      tmp = listOf('CREATE TABLE IF NOT EXISTS CourseBlockPicture (  cbpUid  BIGINT  PRIMARY KEY  NOT NULL , cbpLct  BIGINT  NOT NULL , cbpPictureUri  TEXT , cbpThumbnailUri  TEXT )');
    }
    return tmp;
  }
  function MIGRATION_168_169$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var tmp;
    var tmp_0 = dbType(db);
    Companion_getInstance_1();
    if (tmp_0 === 1) {
      tmp = listOf('CREATE TABLE IF NOT EXISTS ContentEntryPicture2 (  cepUid  INTEGER  PRIMARY KEY  NOT NULL , cepLct  INTEGER  NOT NULL , cepPictureUri  TEXT , cepThumbnailUri  TEXT )');
    } else {
      tmp = listOf('CREATE TABLE IF NOT EXISTS ContentEntryPicture2 (  cepUid  BIGINT  PRIMARY KEY  NOT NULL , cepLct  BIGINT  NOT NULL , cepPictureUri  TEXT , cepThumbnailUri  TEXT )');
    }
    return tmp;
  }
  function MIGRATION_169_170_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_169_170_SERVER.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('\n                        CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpPictureUri\n                        AFTER INSERT ON CourseBlockPicture\n                        FOR EACH ROW WHEN NEW.cbpPictureUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);\n                        END\n                    ');
      this_0.i1('\n                        CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpThumbnailUri\n                        AFTER INSERT ON CourseBlockPicture\n                        FOR EACH ROW WHEN NEW.cbpThumbnailUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);\n                        END\n                    ');
      this_0.i1('\n                    CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_New\n                    AFTER UPDATE ON CourseBlockPicture\n                    FOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);\n                    END   \n                ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_Old\nAFTER UPDATE ON CourseBlockPicture\nFOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpPictureUri;\nEND        ');
      this_0.i1('\n                    CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_New\n                    AFTER UPDATE ON CourseBlockPicture\n                    FOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);\n                    END   \n                ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_Old\nAFTER UPDATE ON CourseBlockPicture\nFOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpThumbnailUri;\nEND        ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpPictureUri\nAFTER DELETE ON CourseBlockPicture\nFOR EACH ROW WHEN OLD.cbpPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpPictureUri;\nEND       ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpThumbnailUri\nAFTER DELETE ON CourseBlockPicture\nFOR EACH ROW WHEN OLD.cbpThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpThumbnailUri;\nEND       ');
      this_0.i1('\n                        CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepPictureUri\n                        AFTER INSERT ON ContentEntryPicture2\n                        FOR EACH ROW WHEN NEW.cepPictureUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);\n                        END\n                    ');
      this_0.i1('\n                        CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepThumbnailUri\n                        AFTER INSERT ON ContentEntryPicture2\n                        FOR EACH ROW WHEN NEW.cepThumbnailUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);\n                        END\n                    ');
      this_0.i1('\n                    CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_New\n                    AFTER UPDATE ON ContentEntryPicture2\n                    FOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);\n                    END   \n                ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_Old\nAFTER UPDATE ON ContentEntryPicture2\nFOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepPictureUri;\nEND        ');
      this_0.i1('\n                    CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_New\n                    AFTER UPDATE ON ContentEntryPicture2\n                    FOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);\n                    END   \n                ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_Old\nAFTER UPDATE ON ContentEntryPicture2\nFOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepThumbnailUri;\nEND        ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepPictureUri\nAFTER DELETE ON ContentEntryPicture2\nFOR EACH ROW WHEN OLD.cepPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepPictureUri;\nEND       ');
      this_0.i1('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepThumbnailUri\nAFTER DELETE ON ContentEntryPicture2\nFOR EACH ROW WHEN OLD.cepThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepThumbnailUri;\nEND       ');
    } else {
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6677\n                               AND cljEntityUid = OLD.cbpUid\n                               AND cljUrl = OLD.cbpPictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_ins_t\n                            AFTER INSERT ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_6677_cbpPictureUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6677_cbpPictureUri();\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6677\n                               AND cljEntityUid = OLD.cbpUid\n                               AND cljUrl = OLD.cbpThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_ins_t\n                            AFTER INSERT ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_6677_cbpThumbnailUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6677_cbpThumbnailUri();\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6678\n                               AND cljEntityUid = OLD.cepUid\n                               AND cljUrl = OLD.cepPictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6678_cepPictureUri_ins_t\n                            AFTER INSERT ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6678_cepPictureUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_6678_cepPictureUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6678_cepPictureUri();\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.i1('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6678\n                               AND cljEntityUid = OLD.cepUid\n                               AND cljUrl = OLD.cepThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_ins_t\n                            AFTER INSERT ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri();\n                        ');
      this_0.i1('\n                            CREATE TRIGGER retain_d_clj_6678_cepThumbnailUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6678_cepThumbnailUri();\n                        ');
    }
    return this_0.f3();
  }
  function MIGRATION_169_170_CLIENT$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_170_171$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_170_171.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS TransferJobError (  tjeTjUid  INTEGER  NOT NULL , tjeTime  INTEGER  NOT NULL , tjeErrorStr  TEXT , tjeDismissed  INTEGER  NOT NULL , tjeId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS TransferJobError (  tjeTjUid  INTEGER  NOT NULL , tjeTime  BIGINT  NOT NULL , tjeErrorStr  TEXT , tjeDismissed  BOOL  NOT NULL , tjeId  SERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.i1('CREATE INDEX idx_transferjoberror_tjetjuid ON TransferJobError (tjeTjUid)');
    return this_0.f3();
  }
  function MIGRATION_171_172$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_171_172.<anonymous>.<anonymous>' call
    this_0.i1('ALTER TABLE CourseBlock ADD COLUMN cbSourcedId TEXT');
    this_0.i1('CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)');
    this_0.i1('CREATE INDEX idx_courseblock_cbsourcedid ON CourseBlock (cbSourcedId)');
    return this_0.f3();
  }
  function MIGRATION_172_194$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>' call
    this_0.i1('ALTER TABLE CourseBlock ADD COLUMN cbClazzSourcedId TEXT');
    this_0.i1('ALTER TABLE CourseBlock ADD COLUMN cbCreatedByAppId TEXT');
    this_0.i1('ALTER TABLE CourseBlock ADD COLUMN cbMetadata TEXT');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE CourseBlock RENAME to CourseBlock_OLD');
      this_0.i1('CREATE TABLE IF NOT EXISTS CourseBlock (  cbType  INTEGER  NOT NULL , cbIndentLevel  INTEGER  NOT NULL , cbModuleParentBlockUid  INTEGER  NOT NULL , cbTitle  TEXT , cbDescription  TEXT , cbCompletionCriteria  INTEGER  NOT NULL , cbHideUntilDate  INTEGER  NOT NULL , cbDeadlineDate  INTEGER  NOT NULL , cbLateSubmissionPenalty  INTEGER  NOT NULL , cbGracePeriodDate  INTEGER  NOT NULL , cbMaxPoints  REAl , cbMinPoints  REAL , cbIndex  INTEGER  NOT NULL , cbClazzUid  INTEGER  NOT NULL , cbClazzSourcedId  TEXT , cbActive  INTEGER  NOT NULL , cbHidden  INTEGER  NOT NULL , cbEntityUid  INTEGER  NOT NULL , cbLct  INTEGER  NOT NULL , cbSourcedId  TEXT , cbMetadata  TEXT , cbCreatedByAppId  TEXT , cbUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('INSERT INTO CourseBlock (cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, cbUid) SELECT cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, cbUid FROM CourseBlock_OLD');
      this_0.i1('DROP TABLE CourseBlock_OLD');
      this_0.i1('CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)');
      this_0.i1('CREATE INDEX idx_courseblock_cbsourcedid ON CourseBlock (cbSourcedId)');
    } else {
      this_0.i1('ALTER TABLE CourseBlock ALTER COLUMN cbMaxPoints TYPE FLOAT');
      this_0.i1('ALTER TABLE CourseBlock ALTER COLUMN cbMaxPoints DROP NOT NULL');
      this_0.i1('ALTER TABLE CourseBlock ALTER COLUMN cbMinPoints TYPE FLOAT');
      this_0.i1('ALTER TABLE CourseBlock ALTER COLUMN cbMinPoints DROP NOT NULL');
    }
    var tmp_0;
    var tmp_1 = dbType(db);
    Companion_getInstance_1();
    if (tmp_1 === 1) {
      tmp_0 = 'INTEGER';
    } else {
      tmp_0 = 'BIGINT';
    }
    var bigIntType = tmp_0;
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator = numberRangeToNumber(3, 4).w();
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>.<anonymous>' call
      this_0.i1('ALTER TABLE OutgoingReplication ADD COLUMN orPk' + element + ' ' + bigIntType + ' NOT NULL DEFAULT 0');
    }
    var tmp_2 = dbType(db);
    Companion_getInstance_1();
    if (tmp_2 === 1) {
      this_0.i1('ALTER TABLE OutgoingReplication RENAME to OutgoingReplication_OLD');
      this_0.i1('CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  INTEGER  NOT NULL , orPk1  INTEGER  NOT NULL , orPk2  INTEGER  NOT NULL  DEFAULT 0 , orPk3  INTEGER  NOT NULL  DEFAULT 0 , orPk4  INTEGER  NOT NULL  DEFAULT 0 , orTableId  INTEGER  NOT NULL , orUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('INSERT INTO OutgoingReplication (destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid) SELECT destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid FROM OutgoingReplication_OLD');
      this_0.i1('DROP TABLE OutgoingReplication_OLD');
    } else {
      this_0.i1('ALTER TABLE OutgoingReplication ALTER COLUMN orPk2 SET DEFAULT 0');
    }
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator_0 = listOf_0(['StudentResult', 'StatementEntity', 'AgentEntity', 'VerbLangMapEntry', 'XObjectEntity', 'ContextXObjectStatementJoin', 'VerbEntity']).w();
    while (tmp0_iterator_0.f()) {
      var element_0 = tmp0_iterator_0.e();
      // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>.<anonymous>' call
      this_0.i1('DROP TABLE IF EXISTS ' + element_0);
    }
    var tmp_3 = dbType(db);
    Companion_getInstance_1();
    if (tmp_3 === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS StudentResult (  srUid  INTEGER  PRIMARY KEY  NOT NULL , srSourcedId  TEXT , srCourseBlockUid  INTEGER  NOT NULL , srLineItemSourcedId  TEXT , srLineItemHref  TEXT , srClazzUid  INTEGER  NOT NULL , srAssignmentUid  INTEGER  NOT NULL , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  INTEGER  NOT NULL , srStudentPersonSourcedId  TEXT , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  INTEGER  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  REAl  NOT NULL , srScoreDate  INTEGER  NOT NULL , srLastModified  INTEGER  NOT NULL , srComment  TEXT , srAppId  TEXT , srDeleted  INTEGER  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityEntity (  actUid  INTEGER  PRIMARY KEY  NOT NULL , actIdIri  TEXT , actType  TEXT , actMoreInfo  TEXT , actInteractionType  INTEGER  NOT NULL , actCorrectResponsePatterns  TEXT , actLct  INTEGER  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityExtensionEntity (  aeeActivityUid  INTEGER  NOT NULL , aeeKeyHash  INTEGER  NOT NULL , aeeKey  TEXT , aeeJson  TEXT , aeeLastMod  INTEGER  NOT NULL , aeeIsDeleted  INTEGER  NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityInteractionEntity (  aieActivityUid  INTEGER  NOT NULL , aieHash  INTEGER  NOT NULL , aieProp  INTEGER  NOT NULL , aieId  TEXT , aieLastMod  INTEGER  NOT NULL , aieIsDeleted  INTEGER  NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityLangMapEntry (  almeActivityUid  INTEGER  NOT NULL , almeHash  INTEGER  NOT NULL , almeLangCode  TEXT , almeValue  TEXT , almeAieHash  INTEGER  NOT NULL , almeLastMod  INTEGER  NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActorEntity (  actorPersonUid  INTEGER  NOT NULL , actorName  TEXT , actorMbox  TEXT , actorMbox_sha1sum  TEXT , actorOpenid  TEXT , actorAccountName  TEXT , actorAccountHomePage  TEXT , actorEtag  INTEGER  NOT NULL , actorLct  INTEGER  NOT NULL , actorObjectType  INTEGER  NOT NULL , actorUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS GroupMemberActorJoin (  gmajGroupActorUid  BIGINT  NOT NULL , gmajMemberActorUid  BIGINT  NOT NULL , gmajLastMod  BIGINT  NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS StatementContextActivityJoin (  scajFromStatementIdHi  INTEGER  NOT NULL , scajFromStatementIdLo  INTEGER  NOT NULL , scajToHash  INTEGER  NOT NULL , scajContextType  INTEGER  NOT NULL , scajToActivityUid  INTEGER  NOT NULL , scajToActivityId  TEXT , scajEtag  INTEGER  NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS StatementEntity (  statementIdHi  INTEGER  NOT NULL , statementIdLo  INTEGER  NOT NULL , statementActorPersonUid  INTEGER  NOT NULL , statementVerbUid  INTEGER  NOT NULL , statementObjectType  INTEGER  NOT NULL , statementObjectUid1  INTEGER  NOT NULL , statementObjectUid2  INTEGER  NOT NULL , statementActorUid  INTEGER  NOT NULL , authorityActorUid  INTEGER  NOT NULL , teamUid  INTEGER  NOT NULL , resultCompletion  INTEGER , resultSuccess  INTEGER , resultScoreScaled  REAl , resultScoreRaw  REAl , resultScoreMin  REAl , resultScoreMax  REAl , resultDuration  INTEGER , resultResponse  TEXT , timestamp  INTEGER  NOT NULL , stored  INTEGER  NOT NULL , contextRegistrationHi  INTEGER  NOT NULL , contextRegistrationLo  INTEGER  NOT NULL , contextPlatform  TEXT , contextStatementRefIdHi  INTEGER  NOT NULL , contextStatementRefIdLo  INTEGER  NOT NULL , contextInstructorActorUid  INTEGER  NOT NULL , statementLct  INTEGER  NOT NULL , extensionProgress  INTEGER , completionOrProgress  INTEGER  NOT NULL , statementContentEntryUid  INTEGER  NOT NULL , statementLearnerGroupUid  INTEGER  NOT NULL , statementClazzUid  INTEGER  NOT NULL , statementCbUid  INTEGER  NOT NULL , statementDoorNode  INTEGER  NOT NULL , isSubStatement  INTEGER  NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS StatementEntityJson (  stmtJsonIdHi  INTEGER  NOT NULL , stmtJsonIdLo  INTEGER  NOT NULL , stmtEtag  INTEGER  NOT NULL , fullStatement  TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS VerbEntity (  verbUid  INTEGER  PRIMARY KEY  NOT NULL , verbUrlId  TEXT , verbDeleted  INTEGER  NOT NULL , verbLct  INTEGER  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS VerbLangMapEntry (  vlmeVerbUid  INTEGER  NOT NULL , vlmeLangHash  INTEGER  NOT NULL , vlmeLangCode  TEXT , vlmeEntryString  TEXT , vlmeLastModified  INTEGER  NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseRootActivityId  TEXT , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS StudentResult (  srUid  BIGINT  PRIMARY KEY  NOT NULL , srSourcedId  TEXT , srCourseBlockUid  BIGINT  NOT NULL , srLineItemSourcedId  TEXT , srLineItemHref  TEXT , srClazzUid  BIGINT  NOT NULL , srAssignmentUid  BIGINT  NOT NULL , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  BIGINT  NOT NULL , srStudentPersonSourcedId  TEXT , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  BIGINT  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  FLOAT  NOT NULL , srScoreDate  BIGINT  NOT NULL , srLastModified  BIGINT  NOT NULL , srComment  TEXT , srAppId  TEXT , srDeleted  BOOL  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityEntity (  actUid  BIGINT  PRIMARY KEY  NOT NULL , actIdIri  TEXT , actType  TEXT , actMoreInfo  TEXT , actInteractionType  INTEGER  NOT NULL , actCorrectResponsePatterns  TEXT , actLct  BIGINT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityExtensionEntity (  aeeActivityUid  BIGINT  NOT NULL , aeeKeyHash  BIGINT  NOT NULL , aeeKey  TEXT , aeeJson  TEXT , aeeLastMod  BIGINT  NOT NULL , aeeIsDeleted  BOOL  NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityInteractionEntity (  aieActivityUid  BIGINT  NOT NULL , aieHash  BIGINT  NOT NULL , aieProp  INTEGER  NOT NULL , aieId  TEXT , aieLastMod  BIGINT  NOT NULL , aieIsDeleted  BOOL  NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActivityLangMapEntry (  almeActivityUid  BIGINT  NOT NULL , almeHash  BIGINT  NOT NULL , almeLangCode  TEXT , almeValue  TEXT , almeAieHash  BIGINT  NOT NULL , almeLastMod  BIGINT  NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS ActorEntity (  actorPersonUid  BIGINT  NOT NULL , actorName  TEXT , actorMbox  TEXT , actorMbox_sha1sum  TEXT , actorOpenid  TEXT , actorAccountName  TEXT , actorAccountHomePage  TEXT , actorEtag  BIGINT  NOT NULL , actorLct  BIGINT  NOT NULL , actorObjectType  INTEGER  NOT NULL , actorUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS GroupMemberActorJoin (  gmajGroupActorUid  BIGINT  NOT NULL , gmajMemberActorUid  BIGINT  NOT NULL , gmajLastMod  BIGINT  NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS StatementContextActivityJoin (  scajFromStatementIdHi  BIGINT  NOT NULL , scajFromStatementIdLo  BIGINT  NOT NULL , scajToHash  BIGINT  NOT NULL , scajContextType  INTEGER  NOT NULL , scajToActivityUid  BIGINT  NOT NULL , scajToActivityId  TEXT , scajEtag  BIGINT  NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS StatementEntity (  statementIdHi  BIGINT  NOT NULL , statementIdLo  BIGINT  NOT NULL , statementActorPersonUid  BIGINT  NOT NULL , statementVerbUid  BIGINT  NOT NULL , statementObjectType  INTEGER  NOT NULL , statementObjectUid1  BIGINT  NOT NULL , statementObjectUid2  BIGINT  NOT NULL , statementActorUid  BIGINT  NOT NULL , authorityActorUid  BIGINT  NOT NULL , teamUid  BIGINT  NOT NULL , resultCompletion  BOOL , resultSuccess  BOOL , resultScoreScaled  FLOAT , resultScoreRaw  FLOAT , resultScoreMin  FLOAT , resultScoreMax  FLOAT , resultDuration  BIGINT , resultResponse  TEXT , timestamp  BIGINT  NOT NULL , stored  BIGINT  NOT NULL , contextRegistrationHi  BIGINT  NOT NULL , contextRegistrationLo  BIGINT  NOT NULL , contextPlatform  TEXT , contextStatementRefIdHi  BIGINT  NOT NULL , contextStatementRefIdLo  BIGINT  NOT NULL , contextInstructorActorUid  BIGINT  NOT NULL , statementLct  BIGINT  NOT NULL , extensionProgress  INTEGER , completionOrProgress  BOOL  NOT NULL , statementContentEntryUid  BIGINT  NOT NULL , statementLearnerGroupUid  BIGINT  NOT NULL , statementClazzUid  BIGINT  NOT NULL , statementCbUid  BIGINT  NOT NULL , statementDoorNode  BIGINT  NOT NULL , isSubStatement  BOOL  NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS StatementEntityJson (  stmtJsonIdHi  BIGINT  NOT NULL , stmtJsonIdLo  BIGINT  NOT NULL , stmtEtag  BIGINT  NOT NULL , fullStatement  TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS VerbEntity (  verbUid  BIGINT  PRIMARY KEY  NOT NULL , verbUrlId  TEXT , verbDeleted  BOOL  NOT NULL , verbLct  BIGINT  NOT NULL )');
      this_0.i1('CREATE TABLE IF NOT EXISTS VerbLangMapEntry (  vlmeVerbUid  BIGINT  NOT NULL , vlmeLangHash  BIGINT  NOT NULL , vlmeLangCode  TEXT , vlmeEntryString  TEXT , vlmeLastModified  BIGINT  NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )');
      this_0.i1('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseRootActivityId  TEXT , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.i1('CREATE INDEX idx_actorentity_actorobjecttype ON ActorEntity (actorObjectType)');
    this_0.i1('CREATE INDEX idx_actorentity_uid_personuid ON ActorEntity (actorPersonUid)');
    this_0.i1('CREATE INDEX idx_stmt_actor_person ON StatementEntity (statementActorPersonUid)');
    this_0.i1('CREATE INDEX idx_statement_clazz_person ON StatementEntity (statementClazzUid, statementActorPersonUid)');
    this_0.i1('CREATE INDEX idx_statement_cbuid_actor ON StatementEntity (statementCbUid, statementActorUid)');
    this_0.i1('CREATE INDEX idx_groupmemberactorjoin_gmajgroupactoruid ON GroupMemberActorJoin (gmajGroupActorUid)');
    this_0.i1('CREATE INDEX idx_groupmemberactorjoin_gmajmemberactoruid ON GroupMemberActorJoin (gmajMemberActorUid)');
    this_0.i1('DROP INDEX IF EXISTS idx_courseblock_cbsourcedid');
    var tmp_4;
    var tmp_5 = dbType(db);
    Companion_getInstance_1();
    if (tmp_5 === 1) {
      tmp_4 = new Pair('INTEGER', '0');
    } else {
      tmp_4 = new Pair('BOOL', 'FALSE');
    }
    var tmp0_container = tmp_4;
    var boolColType = tmp0_container.y6();
    var boolDefaultVal = tmp0_container.z6();
    this_0.i1('ALTER TABLE DiscussionPost ADD COLUMN discussionPostVisible ' + boolColType + ' NOT NULL DEFAULT ' + boolDefaultVal);
    this_0.i1('ALTER TABLE DiscussionPost ADD COLUMN discussionPostArchive ' + boolColType + ' NOT NULL DEFAULT ' + boolDefaultVal);
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator_1 = listOf_0(['NetworkNode', 'AccessToken', 'ScrapeQueueItem', 'ContainerEntry', 'ContainerEntryFile', 'LocallyAvailableContainer', 'ContainerEtag', 'ContainerImportJob', 'Role', 'XLangMapEntry', 'School', 'SchoolMember', 'Chat', 'ChatMember', 'MessageRead', 'StateEntity', 'StateContentEntity', 'Container']).w();
    while (tmp0_iterator_1.f()) {
      var element_1 = tmp0_iterator_1.e();
      // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>.<anonymous>' call
      this_0.i1('DROP TABLE IF EXISTS ' + element_1);
    }
    return this_0.f3();
  }
  function MIGRATION_194_195$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_194_195.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  INTEGER  NOT NULL , seHash  INTEGER  NOT NULL , seActivityUid  INTEGER  NOT NULL , seStateId  TEXT , seLastMod  INTEGER  NOT NULL , seTimeStored  INTEGER  NOT NULL , seContentType  TEXT , seCompressed  INTEGER  NOT NULL , seContent  TEXT , seDeleted  INTEGER  NOT NULL , seRegistrationHi  INTEGER , seRegistrationLo  INTEGER , PRIMARY KEY (seActorUid, seHash) )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  BIGINT  NOT NULL , seHash  BIGINT  NOT NULL , seActivityUid  BIGINT  NOT NULL , seStateId  TEXT , seLastMod  BIGINT  NOT NULL , seTimeStored  BIGINT  NOT NULL , seContentType  TEXT , seCompressed  INTEGER  NOT NULL , seContent  TEXT , seDeleted  BOOL  NOT NULL , seRegistrationHi  BIGINT , seRegistrationLo  BIGINT , PRIMARY KEY (seActorUid, seHash) )');
    }
    return this_0.f3();
  }
  function MIGRATION_195_196$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_195_196.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS StateDeleteCommand (  sdcActorUid  INTEGER  NOT NULL , sdcHash  INTEGER  NOT NULL , sdcActivityUid  INTEGER  NOT NULL , sdcStateId  TEXT , sdcLastMod  INTEGER  NOT NULL , sdcRegistrationHi  INTEGER , sdcRegistrationLo  INTEGER , PRIMARY KEY (sdcActorUid, sdcHash) )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS StateDeleteCommand (  sdcActorUid  BIGINT  NOT NULL , sdcHash  BIGINT  NOT NULL , sdcActivityUid  BIGINT  NOT NULL , sdcStateId  TEXT , sdcLastMod  BIGINT  NOT NULL , sdcRegistrationHi  BIGINT , sdcRegistrationLo  BIGINT , PRIMARY KEY (sdcActorUid, sdcHash) )');
    }
    return this_0.f3();
  }
  function MIGRATION_196_197$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_196_197.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      // Inline function 'kotlin.collections.forEach' call
      var tmp0_iterator = listOf_0(['INSERT', 'UPDATE']).w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_196_197.<anonymous>.<anonymous>.<anonymous>' call
        // Inline function 'kotlin.text.substring' call
        // Inline function 'kotlin.text.lowercase' call
        // Inline function 'kotlin.js.asDynamic' call
        // Inline function 'kotlin.js.asDynamic' call
        var tmp$ret$3 = element.toLowerCase().substring(0, 3);
        this_0.i1('\n                        CREATE TRIGGER IF NOT EXISTS xapi_state_delete_trig_' + tmp$ret$3 + '\n                        AFTER ' + element + ' ON StateDeleteCommand\n                        FOR EACH ROW\n                        BEGIN\n                        UPDATE StateEntity\n                           SET seDeleted = 1,\n                               seLastMod = NEW.sdcLastMod\n                         WHERE seActorUid = NEW.sdcActorUid\n                           AND seActivityUid = NEW.sdcActivityUid\n                           AND seLastMod < NEW.sdcLastMod\n                           AND (    (      NEW.sdcRegistrationHi IS NULL \n                                       AND seRegistrationHi IS NULL\n                                       AND NEW.sdcRegistrationLo IS NULL\n                                       AND seRegistrationLo IS NULL)\n                                 OR (     seRegistrationHi = NEW.sdcRegistrationHi\n                                      AND seRegistrationLo = NEW.sdcRegistrationLo))\n                           AND (    NEW.sdcStateId IS NULL\n                                 OR seStateId = NEW.sdcStateId);\n                        END         \n                ');
      }
    } else {
      this_0.i1('\n                        CREATE OR REPLACE FUNCTION xapi_state_delete_fn() RETURNS TRIGGER AS $$\n                        BEGIN\n                        UPDATE StateEntity\n                           SET seDeleted = TRUE,\n                               seLastMod = NEW.sdcLastMod\n                         WHERE seActorUid = NEW.sdcActorUid\n                           AND seActivityUid = NEW.sdcActivityUid\n                           AND seLastMod < NEW.sdcLastMod\n                           AND (    (      NEW.sdcRegistrationHi IS NULL \n                                       AND seRegistrationHi IS NULL\n                                       AND NEW.sdcRegistrationLo IS NULL\n                                       AND seRegistrationLo IS NULL)\n                                 OR (     seRegistrationHi = NEW.sdcRegistrationHi\n                                      AND seRegistrationLo = NEW.sdcRegistrationLo))\n                           AND (    NEW.sdcStateId IS NULL\n                                 OR seStateId = NEW.sdcStateId);\n                         RETURN NEW;\n                         END $$ LANGUAGE plpgsql\n                    ');
      this_0.i1('\n                    CREATE TRIGGER xapi_state_delete_trig\n                    AFTER INSERT OR UPDATE ON StateDeleteCommand\n                    FOR EACH ROW\n                    EXECUTE FUNCTION xapi_state_delete_fn();\n                ');
    }
    return this_0.f3();
  }
  function MIGRATION_197_198$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_197_198.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE XapiSessionEntity');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseRootActivityId  TEXT , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseCompleted  INTEGER  NOT NULL  DEFAULT 0 , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseRootActivityId  TEXT , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseCompleted  BOOL  NOT NULL  DEFAULT false, xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_198_199$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_198_199.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE StateEntity');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  INTEGER  NOT NULL , seHash  INTEGER  NOT NULL , seActivityUid  INTEGER  NOT NULL , seStateId  TEXT  NOT NULL , seLastMod  INTEGER  NOT NULL , seTimeStored  INTEGER  NOT NULL , seContentType  TEXT  NOT NULL , seCompressed  INTEGER  NOT NULL , seContent  TEXT  NOT NULL , seDeleted  INTEGER  NOT NULL , seRegistrationHi  INTEGER , seRegistrationLo  INTEGER , seH5PPreloaded  INTEGER  NOT NULL , seH5PSubContentId  TEXT , PRIMARY KEY (seActorUid, seHash) )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  BIGINT  NOT NULL , seHash  BIGINT  NOT NULL , seActivityUid  BIGINT  NOT NULL , seStateId  TEXT  NOT NULL , seLastMod  BIGINT  NOT NULL , seTimeStored  BIGINT  NOT NULL , seContentType  TEXT  NOT NULL , seCompressed  INTEGER  NOT NULL , seContent  TEXT  NOT NULL , seDeleted  BOOL  NOT NULL , seRegistrationHi  BIGINT , seRegistrationLo  BIGINT , seH5PPreloaded  BOOL  NOT NULL , seH5PSubContentId  TEXT , PRIMARY KEY (seActorUid, seHash) )');
    }
    return this_0.f3();
  }
  function MIGRATION_199_200$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_199_200.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE XapiSessionEntity');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseActorUid  INTEGER  NOT NULL , xseAccountUsername  TEXT  NOT NULL , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseRootActivityId  TEXT  NOT NULL , xseRootActivityUid  INTEGER  NOT NULL , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseCompleted  INTEGER  NOT NULL  DEFAULT 0 , knownActorUidToPersonUids  TEXT  NOT NULL , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseActorUid  BIGINT  NOT NULL , xseAccountUsername  TEXT  NOT NULL , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseRootActivityId  TEXT  NOT NULL , xseRootActivityUid  BIGINT  NOT NULL , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseCompleted  BOOL  NOT NULL  DEFAULT false, knownActorUidToPersonUids  TEXT  NOT NULL , xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.f3();
  }
  function MIGRATION_200_201$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_200_201.<anonymous>.<anonymous>' call
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('ALTER TABLE XapiSessionEntity ADD COLUMN xseContentEntryVersionUid  INTEGER  NOT NULL  DEFAULT 0');
    } else {
      this_0.i1('ALTER TABLE XapiSessionEntity ADD COLUMN xseContentEntryVersionUid  BIGINT  NOT NULL  DEFAULT 0');
    }
    return this_0.f3();
  }
  function MIGRATION_201_202$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_201_202.<anonymous>.<anonymous>' call
    this_0.i1('DROP TABLE ContentEntryImportJob');
    var tmp = dbType(db);
    Companion_getInstance_1();
    if (tmp === 1) {
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiCompressionLevel  INTEGER  NOT NULL  DEFAULT 3 , cjiError  TEXT , cjiErrorDismissed  INTEGER  NOT NULL , cjiOwnerPersonUid  INTEGER  NOT NULL , cjiParams  TEXT , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.i1('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiCompressionLevel  INTEGER  NOT NULL  DEFAULT 3 , cjiError  TEXT , cjiErrorDismissed  BOOL  NOT NULL , cjiOwnerPersonUid  BIGINT  NOT NULL , cjiParams  TEXT , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.i1('CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)');
    return this_0.f3();
  }
  function MIGRATION_203_204$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE ActivityLangMapEntry ADD COLUMN almePropName TEXT');
  }
  var properties_initialized_UmAppDatabaseMigrations_kt_wz5hlz;
  function _init_properties_UmAppDatabaseMigrations_kt__v2rrqh() {
    if (!properties_initialized_UmAppDatabaseMigrations_kt_wz5hlz) {
      properties_initialized_UmAppDatabaseMigrations_kt_wz5hlz = true;
      MIGRATION_105_106 = new DoorMigrationStatementList(105, 106, MIGRATION_105_106$lambda);
      MIGRATION_106_107 = new DoorMigrationStatementList(106, 107, MIGRATION_106_107$lambda);
      MIGRATION_107_108 = new DoorMigrationStatementList(107, 108, MIGRATION_107_108$lambda);
      MIGRATION_108_109 = new DoorMigrationStatementList(108, 109, MIGRATION_108_109$lambda);
      MIGRATION_120_121 = new DoorMigrationStatementList(120, 121, MIGRATION_120_121$lambda);
      MIGRATION_121_122 = new DoorMigrationStatementList(121, 122, MIGRATION_121_122$lambda);
      MIGRATION_122_123 = new DoorMigrationStatementList(122, 123, MIGRATION_122_123$lambda);
      MIGRATION_123_124 = new DoorMigrationStatementList(123, 124, MIGRATION_123_124$lambda);
      MIGRATION_124_125 = new DoorMigrationStatementList(124, 125, MIGRATION_124_125$lambda);
      MIGRATION_125_126 = new DoorMigrationStatementList(125, 126, MIGRATION_125_126$lambda);
      MIGRATION_126_127 = new DoorMigrationStatementList(126, 127, MIGRATION_126_127$lambda);
      MIGRATION_127_128 = new DoorMigrationStatementList(127, 128, MIGRATION_127_128$lambda);
      MIGRATION_128_129 = new DoorMigrationStatementList(128, 129, MIGRATION_128_129$lambda);
      MIGRATION_129_130 = new DoorMigrationStatementList(129, 130, MIGRATION_129_130$lambda);
      MIGRATION_130_131 = new DoorMigrationStatementList(130, 131, MIGRATION_130_131$lambda);
      MIGRATION_132_133 = new DoorMigrationStatementList(132, 133, MIGRATION_132_133$lambda);
      MIGRATION_133_134 = new DoorMigrationStatementList(133, 134, MIGRATION_133_134$lambda);
      MIGRATION_134_135 = new DoorMigrationStatementList(134, 135, MIGRATION_134_135$lambda);
      MIGRATION_135_136 = new DoorMigrationStatementList(135, 136, MIGRATION_135_136$lambda);
      MIGRATION_136_137 = new DoorMigrationStatementList(136, 137, MIGRATION_136_137$lambda);
      MIGRATION_137_138 = new DoorMigrationStatementList(137, 138, MIGRATION_137_138$lambda);
      MIGRATION_138_139 = new DoorMigrationStatementList(138, 139, MIGRATION_138_139$lambda);
      MIGRATION_139_140 = new DoorMigrationStatementList(139, 140, MIGRATION_139_140$lambda);
      MIGRATION_140_141 = new DoorMigrationStatementList(140, 141, MIGRATION_140_141$lambda);
      MIGRATION_141_142 = new DoorMigrationStatementList(141, 142, MIGRATION_141_142$lambda);
      MIGRATION_142_143 = new DoorMigrationStatementList(142, 143, MIGRATION_142_143$lambda);
      MIGRATION_143_144 = new DoorMigrationStatementList(143, 144, MIGRATION_143_144$lambda);
      MIGRATION_144_145_SERVER = new DoorMigrationStatementList(144, 145, MIGRATION_144_145_SERVER$lambda);
      MIGRATION_144_145_CLIENT = new DoorMigrationStatementList(144, 145, MIGRATION_144_145_CLIENT$lambda);
      MIGRATION_145_146 = new DoorMigrationStatementList(145, 146, MIGRATION_145_146$lambda);
      MIGRATION_146_147 = new DoorMigrationStatementList(146, 147, MIGRATION_146_147$lambda);
      MIGRATION_147_148 = new DoorMigrationStatementList(147, 148, MIGRATION_147_148$lambda);
      MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS = new DoorMigrationStatementList(148, 149, MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS$lambda);
      MIGRATION_148_149_NO_OFFLINE_ITEMS = new DoorMigrationStatementList(148, 149, MIGRATION_148_149_NO_OFFLINE_ITEMS$lambda);
      MIGRATION_149_150 = new DoorMigrationStatementList(149, 150, MIGRATION_149_150$lambda);
      MIGRATION_150_151 = new DoorMigrationStatementList(150, 151, MIGRATION_150_151$lambda);
      MIGRATION_151_152 = new DoorMigrationStatementList(151, 152, MIGRATION_151_152$lambda);
      MIGRATION_152_153 = new DoorMigrationStatementList(152, 153, MIGRATION_152_153$lambda);
      MIGRATION_153_154 = new DoorMigrationStatementList(153, 154, MIGRATION_153_154$lambda);
      MIGRATION_154_155 = new DoorMigrationStatementList(154, 155, MIGRATION_154_155$lambda);
      MIGRATION_155_156_SERVER = new DoorMigrationStatementList(155, 156, MIGRATION_155_156_SERVER$lambda);
      MIGRATION_155_156_CLIENT = new DoorMigrationStatementList(155, 156, MIGRATION_155_156_CLIENT$lambda);
      MIGRATION_156_157 = new DoorMigrationStatementList(156, 157, MIGRATION_156_157$lambda);
      MIGRATION_157_158 = new DoorMigrationStatementList(157, 158, MIGRATION_157_158$lambda);
      MIGRATION_158_159 = new DoorMigrationStatementList(158, 159, MIGRATION_158_159$lambda);
      MIGRATION_159_160 = new DoorMigrationStatementList(159, 160, MIGRATION_159_160$lambda);
      MIGRATION_160_161 = new DoorMigrationStatementList(160, 161, MIGRATION_160_161$lambda);
      MIGRATION_161_162_SERVER = new DoorMigrationStatementList(161, 162, MIGRATION_161_162_SERVER$lambda);
      MIGRATION_161_162_CLIENT = new DoorMigrationStatementList(161, 162, MIGRATION_161_162_CLIENT$lambda);
      MIGRATION_162_163 = new DoorMigrationStatementList(162, 163, MIGRATION_162_163$lambda);
      MIGRATION_163_164 = new DoorMigrationStatementList(163, 164, MIGRATION_163_164$lambda);
      MIGRATION_164_165 = new DoorMigrationStatementList(164, 165, MIGRATION_164_165$lambda);
      MIGRATION_165_166 = new DoorMigrationStatementList(165, 166, MIGRATION_165_166$lambda);
      MIGRATION_166_167 = new DoorMigrationStatementList(166, 167, MIGRATION_166_167$lambda);
      MIGRATION_167_168 = new DoorMigrationStatementList(167, 168, MIGRATION_167_168$lambda);
      MIGRATION_168_169 = new DoorMigrationStatementList(168, 169, MIGRATION_168_169$lambda);
      MIGRATION_169_170_SERVER = new DoorMigrationStatementList(169, 170, MIGRATION_169_170_SERVER$lambda);
      MIGRATION_169_170_CLIENT = new DoorMigrationStatementList(169, 170, MIGRATION_169_170_CLIENT$lambda);
      MIGRATION_170_171 = new DoorMigrationStatementList(170, 171, MIGRATION_170_171$lambda);
      MIGRATION_171_172 = new DoorMigrationStatementList(171, 172, MIGRATION_171_172$lambda);
      MIGRATION_172_194 = new DoorMigrationStatementList(172, 194, MIGRATION_172_194$lambda);
      MIGRATION_194_195 = new DoorMigrationStatementList(194, 195, MIGRATION_194_195$lambda);
      MIGRATION_195_196 = new DoorMigrationStatementList(195, 196, MIGRATION_195_196$lambda);
      MIGRATION_196_197 = new DoorMigrationStatementList(196, 197, MIGRATION_196_197$lambda);
      MIGRATION_197_198 = new DoorMigrationStatementList(197, 198, MIGRATION_197_198$lambda);
      MIGRATION_198_199 = new DoorMigrationStatementList(198, 199, MIGRATION_198_199$lambda);
      MIGRATION_199_200 = new DoorMigrationStatementList(199, 200, MIGRATION_199_200$lambda);
      MIGRATION_200_201 = new DoorMigrationStatementList(200, 201, MIGRATION_200_201$lambda);
      MIGRATION_201_202 = new DoorMigrationStatementList(201, 202, MIGRATION_201_202$lambda);
      MIGRATION_203_204 = new DoorMigrationStatementList(203, 204, MIGRATION_203_204$lambda);
    }
  }
  function ActorUidEtagAndLastMod(actorUid, actorEtag, actorLct) {
    actorUid = actorUid === VOID ? new Long(0, 0) : actorUid;
    actorEtag = actorEtag === VOID ? new Long(0, 0) : actorEtag;
    actorLct = actorLct === VOID ? new Long(0, 0) : actorLct;
    this.oil_1 = actorUid;
    this.pil_1 = actorEtag;
    this.qil_1 = actorLct;
  }
  protoOf(ActorUidEtagAndLastMod).toString = function () {
    return 'ActorUidEtagAndLastMod(actorUid=' + this.oil_1.toString() + ', actorEtag=' + this.pil_1.toString() + ', actorLct=' + this.qil_1.toString() + ')';
  };
  protoOf(ActorUidEtagAndLastMod).hashCode = function () {
    var result = this.oil_1.hashCode();
    result = imul(result, 31) + this.pil_1.hashCode() | 0;
    result = imul(result, 31) + this.qil_1.hashCode() | 0;
    return result;
  };
  protoOf(ActorUidEtagAndLastMod).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActorUidEtagAndLastMod))
      return false;
    var tmp0_other_with_cast = other instanceof ActorUidEtagAndLastMod ? other : THROW_CCE();
    if (!this.oil_1.equals(tmp0_other_with_cast.oil_1))
      return false;
    if (!this.pil_1.equals(tmp0_other_with_cast.pil_1))
      return false;
    if (!this.qil_1.equals(tmp0_other_with_cast.qil_1))
      return false;
    return true;
  };
  function Companion_0() {
  }
  var Companion_instance_1;
  function Companion_getInstance_3() {
    return Companion_instance_1;
  }
  function $serializer() {
    $serializer_instance = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.AssignmentPermissionAndActiveUserSubmitterUid', this, 4);
    tmp0_serialDesc.y4l('canMark', true);
    tmp0_serialDesc.y4l('canView', true);
    tmp0_serialDesc.y4l('canModerate', true);
    tmp0_serialDesc.y4l('activeUserSubmitterUid', true);
    this.yja_1 = tmp0_serialDesc;
  }
  protoOf($serializer).v4a = function () {
    return this.yja_1;
  };
  protoOf($serializer).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer).x4a = function (decoder) {
    var tmp0_desc = this.yja_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_local2 = false;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.p4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.p4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.p4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.p4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.p4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.p4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return AssignmentPermissionAndActiveUserSubmitterUid_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer).zja = function (encoder, value) {
    var tmp0_desc = this.yja_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.edg_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 0, value.edg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.fdg_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 1, value.fdg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.gdg_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 2, value.gdg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.hdg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.hdg_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer).w4a = function (encoder, value) {
    return this.zja(encoder, value instanceof AssignmentPermissionAndActiveUserSubmitterUid ? value : THROW_CCE());
  };
  var $serializer_instance;
  function $serializer_getInstance() {
    if ($serializer_instance == null)
      new $serializer();
    return $serializer_instance;
  }
  function AssignmentPermissionAndActiveUserSubmitterUid_init_$Init$(seen1, canMark, canView, canModerate, activeUserSubmitterUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance().yja_1);
    }
    if (0 === (seen1 & 1))
      $this.edg_1 = false;
    else
      $this.edg_1 = canMark;
    if (0 === (seen1 & 2))
      $this.fdg_1 = false;
    else
      $this.fdg_1 = canView;
    if (0 === (seen1 & 4))
      $this.gdg_1 = false;
    else
      $this.gdg_1 = canModerate;
    if (0 === (seen1 & 8))
      $this.hdg_1 = new Long(0, 0);
    else
      $this.hdg_1 = activeUserSubmitterUid;
    return $this;
  }
  function AssignmentPermissionAndActiveUserSubmitterUid_init_$Create$(seen1, canMark, canView, canModerate, activeUserSubmitterUid, serializationConstructorMarker) {
    return AssignmentPermissionAndActiveUserSubmitterUid_init_$Init$(seen1, canMark, canView, canModerate, activeUserSubmitterUid, serializationConstructorMarker, objectCreate(protoOf(AssignmentPermissionAndActiveUserSubmitterUid)));
  }
  function AssignmentPermissionAndActiveUserSubmitterUid(canMark, canView, canModerate, activeUserSubmitterUid) {
    canMark = canMark === VOID ? false : canMark;
    canView = canView === VOID ? false : canView;
    canModerate = canModerate === VOID ? false : canModerate;
    activeUserSubmitterUid = activeUserSubmitterUid === VOID ? new Long(0, 0) : activeUserSubmitterUid;
    this.edg_1 = canMark;
    this.fdg_1 = canView;
    this.gdg_1 = canModerate;
    this.hdg_1 = activeUserSubmitterUid;
  }
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).toString = function () {
    return 'AssignmentPermissionAndActiveUserSubmitterUid(canMark=' + this.edg_1 + ', canView=' + this.fdg_1 + ', canModerate=' + this.gdg_1 + ', activeUserSubmitterUid=' + this.hdg_1.toString() + ')';
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).hashCode = function () {
    var result = getBooleanHashCode(this.edg_1);
    result = imul(result, 31) + getBooleanHashCode(this.fdg_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.gdg_1) | 0;
    result = imul(result, 31) + this.hdg_1.hashCode() | 0;
    return result;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentPermissionAndActiveUserSubmitterUid))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentPermissionAndActiveUserSubmitterUid ? other : THROW_CCE();
    if (!(this.edg_1 === tmp0_other_with_cast.edg_1))
      return false;
    if (!(this.fdg_1 === tmp0_other_with_cast.fdg_1))
      return false;
    if (!(this.gdg_1 === tmp0_other_with_cast.gdg_1))
      return false;
    if (!this.hdg_1.equals(tmp0_other_with_cast.hdg_1))
      return false;
    return true;
  };
  function Companion_1() {
  }
  var Companion_instance_2;
  function Companion_getInstance_4() {
    return Companion_instance_2;
  }
  function $serializer_0() {
    $serializer_instance_0 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.AssignmentSubmitterUidAndName', this, 2);
    tmp0_serialDesc.y4l('name', true);
    tmp0_serialDesc.y4l('submitterUid', true);
    this.ajb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_0).v4a = function () {
    return this.ajb_1;
  };
  protoOf($serializer_0).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_0).x4a = function (decoder) {
    var tmp0_desc = this.ajb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = new Long(0, 0);
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return AssignmentSubmitterUidAndName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_0).bjb = function (encoder, value) {
    var tmp0_desc = this.ajb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.y82_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, StringSerializer_getInstance(), value.y82_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.z82_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.z82_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_0).w4a = function (encoder, value) {
    return this.bjb(encoder, value instanceof AssignmentSubmitterUidAndName ? value : THROW_CCE());
  };
  var $serializer_instance_0;
  function $serializer_getInstance_0() {
    if ($serializer_instance_0 == null)
      new $serializer_0();
    return $serializer_instance_0;
  }
  function AssignmentSubmitterUidAndName_init_$Init$(seen1, name, submitterUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_0().ajb_1);
    }
    if (0 === (seen1 & 1))
      $this.y82_1 = null;
    else
      $this.y82_1 = name;
    if (0 === (seen1 & 2))
      $this.z82_1 = new Long(0, 0);
    else
      $this.z82_1 = submitterUid;
    return $this;
  }
  function AssignmentSubmitterUidAndName_init_$Create$(seen1, name, submitterUid, serializationConstructorMarker) {
    return AssignmentSubmitterUidAndName_init_$Init$(seen1, name, submitterUid, serializationConstructorMarker, objectCreate(protoOf(AssignmentSubmitterUidAndName)));
  }
  function AssignmentSubmitterUidAndName(name, submitterUid) {
    name = name === VOID ? null : name;
    submitterUid = submitterUid === VOID ? new Long(0, 0) : submitterUid;
    this.y82_1 = name;
    this.z82_1 = submitterUid;
  }
  protoOf(AssignmentSubmitterUidAndName).toString = function () {
    return 'AssignmentSubmitterUidAndName(name=' + this.y82_1 + ', submitterUid=' + this.z82_1.toString() + ')';
  };
  protoOf(AssignmentSubmitterUidAndName).hashCode = function () {
    var result = this.y82_1 == null ? 0 : getStringHashCode(this.y82_1);
    result = imul(result, 31) + this.z82_1.hashCode() | 0;
    return result;
  };
  protoOf(AssignmentSubmitterUidAndName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentSubmitterUidAndName))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentSubmitterUidAndName ? other : THROW_CCE();
    if (!(this.y82_1 == tmp0_other_with_cast.y82_1))
      return false;
    if (!this.z82_1.equals(tmp0_other_with_cast.z82_1))
      return false;
    return true;
  };
  function Companion_2() {
    this.cjb_1 = 1;
    this.djb_1 = 2;
  }
  var Companion_instance_3;
  function Companion_getInstance_5() {
    return Companion_instance_3;
  }
  function $serializer_1() {
    $serializer_instance_1 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.BlockStatus', this, 6);
    tmp0_serialDesc.y4l('sPersonUid', true);
    tmp0_serialDesc.y4l('sCbUid', true);
    tmp0_serialDesc.y4l('sProgress', true);
    tmp0_serialDesc.y4l('sIsCompleted', true);
    tmp0_serialDesc.y4l('sIsSuccess', true);
    tmp0_serialDesc.y4l('sScoreScaled', true);
    this.ejb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_1).v4a = function () {
    return this.ejb_1;
  };
  protoOf($serializer_1).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(IntSerializer_getInstance()), BooleanSerializer_getInstance(), get_nullable(BooleanSerializer_getInstance()), get_nullable(FloatSerializer_getInstance())];
  };
  protoOf($serializer_1).x4a = function (decoder) {
    var tmp0_desc = this.ejb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = false;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, IntSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.b4f(tmp0_desc, 4, BooleanSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.b4f(tmp0_desc, 5, FloatSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, IntSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.b4f(tmp0_desc, 4, BooleanSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.b4f(tmp0_desc, 5, FloatSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return BlockStatus_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_1).fjb = function (encoder, value) {
    var tmp0_desc = this.ejb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.gaq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.gaq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.haq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.haq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.iaq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, IntSerializer_getInstance(), value.iaq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.jaq_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 3, value.jaq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.kaq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, BooleanSerializer_getInstance(), value.kaq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.laq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, FloatSerializer_getInstance(), value.laq_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_1).w4a = function (encoder, value) {
    return this.fjb(encoder, value instanceof BlockStatus ? value : THROW_CCE());
  };
  var $serializer_instance_1;
  function $serializer_getInstance_1() {
    if ($serializer_instance_1 == null)
      new $serializer_1();
    return $serializer_instance_1;
  }
  function BlockStatus_init_$Init$(seen1, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_1().ejb_1);
    }
    if (0 === (seen1 & 1))
      $this.gaq_1 = new Long(0, 0);
    else
      $this.gaq_1 = sPersonUid;
    if (0 === (seen1 & 2))
      $this.haq_1 = new Long(0, 0);
    else
      $this.haq_1 = sCbUid;
    if (0 === (seen1 & 4))
      $this.iaq_1 = null;
    else
      $this.iaq_1 = sProgress;
    if (0 === (seen1 & 8))
      $this.jaq_1 = false;
    else
      $this.jaq_1 = sIsCompleted;
    if (0 === (seen1 & 16))
      $this.kaq_1 = null;
    else
      $this.kaq_1 = sIsSuccess;
    if (0 === (seen1 & 32))
      $this.laq_1 = null;
    else
      $this.laq_1 = sScoreScaled;
    return $this;
  }
  function BlockStatus_init_$Create$(seen1, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, serializationConstructorMarker) {
    return BlockStatus_init_$Init$(seen1, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, serializationConstructorMarker, objectCreate(protoOf(BlockStatus)));
  }
  function BlockStatus(sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled) {
    sPersonUid = sPersonUid === VOID ? new Long(0, 0) : sPersonUid;
    sCbUid = sCbUid === VOID ? new Long(0, 0) : sCbUid;
    sProgress = sProgress === VOID ? null : sProgress;
    sIsCompleted = sIsCompleted === VOID ? false : sIsCompleted;
    sIsSuccess = sIsSuccess === VOID ? null : sIsSuccess;
    sScoreScaled = sScoreScaled === VOID ? null : sScoreScaled;
    this.gaq_1 = sPersonUid;
    this.haq_1 = sCbUid;
    this.iaq_1 = sProgress;
    this.jaq_1 = sIsCompleted;
    this.kaq_1 = sIsSuccess;
    this.laq_1 = sScoreScaled;
  }
  protoOf(BlockStatus).toString = function () {
    return 'BlockStatus(sPersonUid=' + this.gaq_1.toString() + ', sCbUid=' + this.haq_1.toString() + ', sProgress=' + this.iaq_1 + ', sIsCompleted=' + this.jaq_1 + ', sIsSuccess=' + this.kaq_1 + ', sScoreScaled=' + this.laq_1 + ')';
  };
  protoOf(BlockStatus).hashCode = function () {
    var result = this.gaq_1.hashCode();
    result = imul(result, 31) + this.haq_1.hashCode() | 0;
    result = imul(result, 31) + (this.iaq_1 == null ? 0 : this.iaq_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.jaq_1) | 0;
    result = imul(result, 31) + (this.kaq_1 == null ? 0 : getBooleanHashCode(this.kaq_1)) | 0;
    result = imul(result, 31) + (this.laq_1 == null ? 0 : getNumberHashCode(this.laq_1)) | 0;
    return result;
  };
  protoOf(BlockStatus).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof BlockStatus))
      return false;
    var tmp0_other_with_cast = other instanceof BlockStatus ? other : THROW_CCE();
    if (!this.gaq_1.equals(tmp0_other_with_cast.gaq_1))
      return false;
    if (!this.haq_1.equals(tmp0_other_with_cast.haq_1))
      return false;
    if (!(this.iaq_1 == tmp0_other_with_cast.iaq_1))
      return false;
    if (!(this.jaq_1 === tmp0_other_with_cast.jaq_1))
      return false;
    if (!(this.kaq_1 == tmp0_other_with_cast.kaq_1))
      return false;
    if (!equals(this.laq_1, tmp0_other_with_cast.laq_1))
      return false;
    return true;
  };
  function Companion_3() {
  }
  var Companion_instance_4;
  function Companion_getInstance_6() {
    return Companion_instance_4;
  }
  function $serializer_2() {
    $serializer_instance_2 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzAndDetailPermissions', this, 4);
    tmp0_serialDesc.y4l('clazz', true);
    tmp0_serialDesc.y4l('hasAttendancePermission', true);
    tmp0_serialDesc.y4l('hasViewMembersPermission', true);
    tmp0_serialDesc.y4l('hasLearningRecordPermission', true);
    this.gjb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_2).v4a = function () {
    return this.gjb_1;
  };
  protoOf($serializer_2).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_40()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_2).x4a = function (decoder) {
    var tmp0_desc = this.gjb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = false;
    var tmp6_local2 = false;
    var tmp7_local3 = false;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_40(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.p4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.p4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_40(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.p4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.p4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return ClazzAndDetailPermissions_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_2).hjb = function (encoder, value) {
    var tmp0_desc = this.gjb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.t8p_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_40(), value.t8p_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.u8p_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 1, value.u8p_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.v8p_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 2, value.v8p_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.w8p_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 3, value.w8p_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_2).w4a = function (encoder, value) {
    return this.hjb(encoder, value instanceof ClazzAndDetailPermissions ? value : THROW_CCE());
  };
  var $serializer_instance_2;
  function $serializer_getInstance_2() {
    if ($serializer_instance_2 == null)
      new $serializer_2();
    return $serializer_instance_2;
  }
  function ClazzAndDetailPermissions_init_$Init$(seen1, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_2().gjb_1);
    }
    if (0 === (seen1 & 1))
      $this.t8p_1 = null;
    else
      $this.t8p_1 = clazz;
    if (0 === (seen1 & 2))
      $this.u8p_1 = false;
    else
      $this.u8p_1 = hasAttendancePermission;
    if (0 === (seen1 & 4))
      $this.v8p_1 = false;
    else
      $this.v8p_1 = hasViewMembersPermission;
    if (0 === (seen1 & 8))
      $this.w8p_1 = false;
    else
      $this.w8p_1 = hasLearningRecordPermission;
    return $this;
  }
  function ClazzAndDetailPermissions_init_$Create$(seen1, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, serializationConstructorMarker) {
    return ClazzAndDetailPermissions_init_$Init$(seen1, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, serializationConstructorMarker, objectCreate(protoOf(ClazzAndDetailPermissions)));
  }
  function ClazzAndDetailPermissions(clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission) {
    clazz = clazz === VOID ? null : clazz;
    hasAttendancePermission = hasAttendancePermission === VOID ? false : hasAttendancePermission;
    hasViewMembersPermission = hasViewMembersPermission === VOID ? false : hasViewMembersPermission;
    hasLearningRecordPermission = hasLearningRecordPermission === VOID ? false : hasLearningRecordPermission;
    this.t8p_1 = clazz;
    this.u8p_1 = hasAttendancePermission;
    this.v8p_1 = hasViewMembersPermission;
    this.w8p_1 = hasLearningRecordPermission;
  }
  protoOf(ClazzAndDetailPermissions).toString = function () {
    return 'ClazzAndDetailPermissions(clazz=' + this.t8p_1 + ', hasAttendancePermission=' + this.u8p_1 + ', hasViewMembersPermission=' + this.v8p_1 + ', hasLearningRecordPermission=' + this.w8p_1 + ')';
  };
  protoOf(ClazzAndDetailPermissions).hashCode = function () {
    var result = this.t8p_1 == null ? 0 : this.t8p_1.hashCode();
    result = imul(result, 31) + getBooleanHashCode(this.u8p_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.v8p_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.w8p_1) | 0;
    return result;
  };
  protoOf(ClazzAndDetailPermissions).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAndDetailPermissions))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAndDetailPermissions ? other : THROW_CCE();
    if (!equals(this.t8p_1, tmp0_other_with_cast.t8p_1))
      return false;
    if (!(this.u8p_1 === tmp0_other_with_cast.u8p_1))
      return false;
    if (!(this.v8p_1 === tmp0_other_with_cast.v8p_1))
      return false;
    if (!(this.w8p_1 === tmp0_other_with_cast.w8p_1))
      return false;
    return true;
  };
  function ClazzAndDisplayDetails(clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent) {
    clazz = clazz === VOID ? null : clazz;
    terminology = terminology === VOID ? null : terminology;
    coursePicture = coursePicture === VOID ? null : coursePicture;
    numStudents = numStudents === VOID ? 0 : numStudents;
    numTeachers = numTeachers === VOID ? 0 : numTeachers;
    activeUserIsStudent = activeUserIsStudent === VOID ? false : activeUserIsStudent;
    this.j8q_1 = clazz;
    this.k8q_1 = terminology;
    this.l8q_1 = coursePicture;
    this.m8q_1 = numStudents;
    this.n8q_1 = numTeachers;
    this.o8q_1 = activeUserIsStudent;
  }
  protoOf(ClazzAndDisplayDetails).toString = function () {
    return 'ClazzAndDisplayDetails(clazz=' + this.j8q_1 + ', terminology=' + this.k8q_1 + ', coursePicture=' + this.l8q_1 + ', numStudents=' + this.m8q_1 + ', numTeachers=' + this.n8q_1 + ', activeUserIsStudent=' + this.o8q_1 + ')';
  };
  protoOf(ClazzAndDisplayDetails).hashCode = function () {
    var result = this.j8q_1 == null ? 0 : this.j8q_1.hashCode();
    result = imul(result, 31) + (this.k8q_1 == null ? 0 : hashCode(this.k8q_1)) | 0;
    result = imul(result, 31) + (this.l8q_1 == null ? 0 : this.l8q_1.hashCode()) | 0;
    result = imul(result, 31) + this.m8q_1 | 0;
    result = imul(result, 31) + this.n8q_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.o8q_1) | 0;
    return result;
  };
  protoOf(ClazzAndDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAndDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAndDisplayDetails ? other : THROW_CCE();
    if (!equals(this.j8q_1, tmp0_other_with_cast.j8q_1))
      return false;
    if (!equals(this.k8q_1, tmp0_other_with_cast.k8q_1))
      return false;
    if (!equals(this.l8q_1, tmp0_other_with_cast.l8q_1))
      return false;
    if (!(this.m8q_1 === tmp0_other_with_cast.m8q_1))
      return false;
    if (!(this.n8q_1 === tmp0_other_with_cast.n8q_1))
      return false;
    if (!(this.o8q_1 === tmp0_other_with_cast.o8q_1))
      return false;
    return true;
  };
  function Companion_4() {
  }
  var Companion_instance_5;
  function Companion_getInstance_7() {
    return Companion_instance_5;
  }
  function $serializer_3() {
    $serializer_instance_3 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzAssignmentAndBlock', this, 2);
    tmp0_serialDesc.y4l('assignment', true);
    tmp0_serialDesc.y4l('block', true);
    this.ijb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_3).v4a = function () {
    return this.ijb_1;
  };
  protoOf($serializer_3).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_41()), get_nullable($serializer_getInstance_67())];
  };
  protoOf($serializer_3).x4a = function (decoder) {
    var tmp0_desc = this.ijb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_41(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_67(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_41(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_67(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return ClazzAssignmentAndBlock_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_3).jjb = function (encoder, value) {
    var tmp0_desc = this.ijb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.m83_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_41(), value.m83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.n83_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_67(), value.n83_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_3).w4a = function (encoder, value) {
    return this.jjb(encoder, value instanceof ClazzAssignmentAndBlock ? value : THROW_CCE());
  };
  var $serializer_instance_3;
  function $serializer_getInstance_3() {
    if ($serializer_instance_3 == null)
      new $serializer_3();
    return $serializer_instance_3;
  }
  function ClazzAssignmentAndBlock_init_$Init$(seen1, assignment, block, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_3().ijb_1);
    }
    if (0 === (seen1 & 1))
      $this.m83_1 = null;
    else
      $this.m83_1 = assignment;
    if (0 === (seen1 & 2))
      $this.n83_1 = null;
    else
      $this.n83_1 = block;
    return $this;
  }
  function ClazzAssignmentAndBlock_init_$Create$(seen1, assignment, block, serializationConstructorMarker) {
    return ClazzAssignmentAndBlock_init_$Init$(seen1, assignment, block, serializationConstructorMarker, objectCreate(protoOf(ClazzAssignmentAndBlock)));
  }
  function ClazzAssignmentAndBlock(assignment, block) {
    assignment = assignment === VOID ? null : assignment;
    block = block === VOID ? null : block;
    this.m83_1 = assignment;
    this.n83_1 = block;
  }
  protoOf(ClazzAssignmentAndBlock).toString = function () {
    return 'ClazzAssignmentAndBlock(assignment=' + this.m83_1 + ', block=' + this.n83_1 + ')';
  };
  protoOf(ClazzAssignmentAndBlock).hashCode = function () {
    var result = this.m83_1 == null ? 0 : this.m83_1.hashCode();
    result = imul(result, 31) + (this.n83_1 == null ? 0 : this.n83_1.hashCode()) | 0;
    return result;
  };
  protoOf(ClazzAssignmentAndBlock).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAssignmentAndBlock))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAssignmentAndBlock ? other : THROW_CCE();
    if (!equals(this.m83_1, tmp0_other_with_cast.m83_1))
      return false;
    if (!equals(this.n83_1, tmp0_other_with_cast.n83_1))
      return false;
    return true;
  };
  function Companion_5() {
  }
  var Companion_instance_6;
  function Companion_getInstance_8() {
    return Companion_instance_6;
  }
  function $serializer_4() {
    $serializer_instance_4 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzEnrolmentAndPersonDetailDetails', this, 3);
    tmp0_serialDesc.y4l('enrolment', true);
    tmp0_serialDesc.y4l('clazz', true);
    tmp0_serialDesc.y4l('courseTerminology', true);
    this.kjb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_4).v4a = function () {
    return this.kjb_1;
  };
  protoOf($serializer_4).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_43()), get_nullable($serializer_getInstance_40()), get_nullable($serializer_getInstance_74())];
  };
  protoOf($serializer_4).x4a = function (decoder) {
    var tmp0_desc = this.kjb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_43(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_40(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, $serializer_getInstance_74(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_43(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_40(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, $serializer_getInstance_74(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return ClazzEnrolmentAndPersonDetailDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_4).ljb = function (encoder, value) {
    var tmp0_desc = this.kjb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.d9b_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_43(), value.d9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.e9b_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_40(), value.e9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.f9b_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_74(), value.f9b_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_4).w4a = function (encoder, value) {
    return this.ljb(encoder, value instanceof ClazzEnrolmentAndPersonDetailDetails ? value : THROW_CCE());
  };
  var $serializer_instance_4;
  function $serializer_getInstance_4() {
    if ($serializer_instance_4 == null)
      new $serializer_4();
    return $serializer_instance_4;
  }
  function ClazzEnrolmentAndPersonDetailDetails_init_$Init$(seen1, enrolment, clazz, courseTerminology, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_4().kjb_1);
    }
    if (0 === (seen1 & 1))
      $this.d9b_1 = null;
    else
      $this.d9b_1 = enrolment;
    if (0 === (seen1 & 2))
      $this.e9b_1 = null;
    else
      $this.e9b_1 = clazz;
    if (0 === (seen1 & 4))
      $this.f9b_1 = null;
    else
      $this.f9b_1 = courseTerminology;
    return $this;
  }
  function ClazzEnrolmentAndPersonDetailDetails_init_$Create$(seen1, enrolment, clazz, courseTerminology, serializationConstructorMarker) {
    return ClazzEnrolmentAndPersonDetailDetails_init_$Init$(seen1, enrolment, clazz, courseTerminology, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentAndPersonDetailDetails)));
  }
  function ClazzEnrolmentAndPersonDetailDetails(enrolment, clazz, courseTerminology) {
    enrolment = enrolment === VOID ? null : enrolment;
    clazz = clazz === VOID ? null : clazz;
    courseTerminology = courseTerminology === VOID ? null : courseTerminology;
    this.d9b_1 = enrolment;
    this.e9b_1 = clazz;
    this.f9b_1 = courseTerminology;
  }
  protoOf(ClazzEnrolmentAndPersonDetailDetails).toString = function () {
    return 'ClazzEnrolmentAndPersonDetailDetails(enrolment=' + this.d9b_1 + ', clazz=' + this.e9b_1 + ', courseTerminology=' + this.f9b_1 + ')';
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).hashCode = function () {
    var result = this.d9b_1 == null ? 0 : hashCode(this.d9b_1);
    result = imul(result, 31) + (this.e9b_1 == null ? 0 : this.e9b_1.hashCode()) | 0;
    result = imul(result, 31) + (this.f9b_1 == null ? 0 : hashCode(this.f9b_1)) | 0;
    return result;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzEnrolmentAndPersonDetailDetails))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzEnrolmentAndPersonDetailDetails ? other : THROW_CCE();
    if (!equals(this.d9b_1, tmp0_other_with_cast.d9b_1))
      return false;
    if (!equals(this.e9b_1, tmp0_other_with_cast.e9b_1))
      return false;
    if (!equals(this.f9b_1, tmp0_other_with_cast.f9b_1))
      return false;
    return true;
  };
  function Companion_6() {
  }
  var Companion_instance_7;
  function Companion_getInstance_9() {
    return Companion_instance_7;
  }
  function $serializer_5() {
    $serializer_instance_5 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzNameAndTerminology', this, 2);
    tmp0_serialDesc.y4l('clazzName', true);
    tmp0_serialDesc.y4l('terminology', true);
    this.mjb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_5).v4a = function () {
    return this.mjb_1;
  };
  protoOf($serializer_5).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), get_nullable($serializer_getInstance_74())];
  };
  protoOf($serializer_5).x4a = function (decoder) {
    var tmp0_desc = this.mjb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_74(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_74(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return ClazzNameAndTerminology_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_5).njb = function (encoder, value) {
    var tmp0_desc = this.mjb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.n8r_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, StringSerializer_getInstance(), value.n8r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.o8r_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_74(), value.o8r_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_5).w4a = function (encoder, value) {
    return this.njb(encoder, value instanceof ClazzNameAndTerminology ? value : THROW_CCE());
  };
  var $serializer_instance_5;
  function $serializer_getInstance_5() {
    if ($serializer_instance_5 == null)
      new $serializer_5();
    return $serializer_instance_5;
  }
  function ClazzNameAndTerminology_init_$Init$(seen1, clazzName, terminology, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_5().mjb_1);
    }
    if (0 === (seen1 & 1))
      $this.n8r_1 = null;
    else
      $this.n8r_1 = clazzName;
    if (0 === (seen1 & 2))
      $this.o8r_1 = null;
    else
      $this.o8r_1 = terminology;
    return $this;
  }
  function ClazzNameAndTerminology_init_$Create$(seen1, clazzName, terminology, serializationConstructorMarker) {
    return ClazzNameAndTerminology_init_$Init$(seen1, clazzName, terminology, serializationConstructorMarker, objectCreate(protoOf(ClazzNameAndTerminology)));
  }
  function ClazzNameAndTerminology(clazzName, terminology) {
    clazzName = clazzName === VOID ? null : clazzName;
    terminology = terminology === VOID ? null : terminology;
    this.n8r_1 = clazzName;
    this.o8r_1 = terminology;
  }
  protoOf(ClazzNameAndTerminology).toString = function () {
    return 'ClazzNameAndTerminology(clazzName=' + this.n8r_1 + ', terminology=' + this.o8r_1 + ')';
  };
  protoOf(ClazzNameAndTerminology).hashCode = function () {
    var result = this.n8r_1 == null ? 0 : getStringHashCode(this.n8r_1);
    result = imul(result, 31) + (this.o8r_1 == null ? 0 : hashCode(this.o8r_1)) | 0;
    return result;
  };
  protoOf(ClazzNameAndTerminology).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzNameAndTerminology))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzNameAndTerminology ? other : THROW_CCE();
    if (!(this.n8r_1 == tmp0_other_with_cast.n8r_1))
      return false;
    if (!equals(this.o8r_1, tmp0_other_with_cast.o8r_1))
      return false;
    return true;
  };
  function Companion_7() {
  }
  var Companion_instance_8;
  function Companion_getInstance_10() {
    return Companion_instance_8;
  }
  function $serializer_6() {
    $serializer_instance_6 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CommentsAndName', this, 4);
    tmp0_serialDesc.y4l('comment', true);
    tmp0_serialDesc.y4l('firstNames', true);
    tmp0_serialDesc.y4l('lastName', true);
    tmp0_serialDesc.y4l('pictureUri', true);
    this.ojb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_6).v4a = function () {
    return this.ojb_1;
  };
  protoOf($serializer_6).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_49(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_6).x4a = function (decoder) {
    var tmp0_desc = this.ojb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.z4e(tmp0_desc, 0, $serializer_getInstance_49(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.z4e(tmp0_desc, 0, $serializer_getInstance_49(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return CommentsAndName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_6).pjb = function (encoder, value) {
    var tmp0_desc = this.ojb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ba6_1.equals(new Comments())) {
      tmp1_output.d4g(tmp0_desc, 0, $serializer_getInstance_49(), value.ba6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ca6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ca6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.da6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.da6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ea6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.ea6_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_6).w4a = function (encoder, value) {
    return this.pjb(encoder, value instanceof CommentsAndName ? value : THROW_CCE());
  };
  var $serializer_instance_6;
  function $serializer_getInstance_6() {
    if ($serializer_instance_6 == null)
      new $serializer_6();
    return $serializer_instance_6;
  }
  function CommentsAndName_init_$Init$(seen1, comment, firstNames, lastName, pictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_6().ojb_1);
    }
    if (0 === (seen1 & 1))
      $this.ba6_1 = new Comments();
    else
      $this.ba6_1 = comment;
    if (0 === (seen1 & 2))
      $this.ca6_1 = null;
    else
      $this.ca6_1 = firstNames;
    if (0 === (seen1 & 4))
      $this.da6_1 = null;
    else
      $this.da6_1 = lastName;
    if (0 === (seen1 & 8))
      $this.ea6_1 = null;
    else
      $this.ea6_1 = pictureUri;
    return $this;
  }
  function CommentsAndName_init_$Create$(seen1, comment, firstNames, lastName, pictureUri, serializationConstructorMarker) {
    return CommentsAndName_init_$Init$(seen1, comment, firstNames, lastName, pictureUri, serializationConstructorMarker, objectCreate(protoOf(CommentsAndName)));
  }
  function CommentsAndName(comment, firstNames, lastName, pictureUri) {
    comment = comment === VOID ? new Comments() : comment;
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    pictureUri = pictureUri === VOID ? null : pictureUri;
    this.ba6_1 = comment;
    this.ca6_1 = firstNames;
    this.da6_1 = lastName;
    this.ea6_1 = pictureUri;
  }
  protoOf(CommentsAndName).toString = function () {
    return 'CommentsAndName(comment=' + this.ba6_1 + ', firstNames=' + this.ca6_1 + ', lastName=' + this.da6_1 + ', pictureUri=' + this.ea6_1 + ')';
  };
  protoOf(CommentsAndName).hashCode = function () {
    var result = this.ba6_1.hashCode();
    result = imul(result, 31) + (this.ca6_1 == null ? 0 : getStringHashCode(this.ca6_1)) | 0;
    result = imul(result, 31) + (this.da6_1 == null ? 0 : getStringHashCode(this.da6_1)) | 0;
    result = imul(result, 31) + (this.ea6_1 == null ? 0 : getStringHashCode(this.ea6_1)) | 0;
    return result;
  };
  protoOf(CommentsAndName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CommentsAndName))
      return false;
    var tmp0_other_with_cast = other instanceof CommentsAndName ? other : THROW_CCE();
    if (!this.ba6_1.equals(tmp0_other_with_cast.ba6_1))
      return false;
    if (!(this.ca6_1 == tmp0_other_with_cast.ca6_1))
      return false;
    if (!(this.da6_1 == tmp0_other_with_cast.da6_1))
      return false;
    if (!(this.ea6_1 == tmp0_other_with_cast.ea6_1))
      return false;
    return true;
  };
  function Companion_8() {
  }
  protoOf(Companion_8).s4x = function () {
    return $serializer_getInstance_7();
  };
  var Companion_instance_9;
  function Companion_getInstance_11() {
    return Companion_instance_9;
  }
  function $serializer_7() {
    $serializer_instance_7 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndContentJob', this, 4);
    tmp0_serialDesc.y4l('entry', true);
    tmp0_serialDesc.y4l('contentJob', true);
    tmp0_serialDesc.y4l('contentJobItem', true);
    tmp0_serialDesc.y4l('picture', true);
    this.qjb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_7).v4a = function () {
    return this.qjb_1;
  };
  protoOf($serializer_7).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_63()), get_nullable($serializer_getInstance_54()), get_nullable($serializer_getInstance_57())];
  };
  protoOf($serializer_7).x4a = function (decoder) {
    var tmp0_desc = this.qjb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_52(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_63(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_54(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_52(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_63(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_54(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return ContentEntryAndContentJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_7).rjb = function (encoder, value) {
    var tmp0_desc = this.qjb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.sjb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_52(), value.sjb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.tjb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_63(), value.tjb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.ujb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_54(), value.ujb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.vjb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_57(), value.vjb_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_7).w4a = function (encoder, value) {
    return this.rjb(encoder, value instanceof ContentEntryAndContentJob ? value : THROW_CCE());
  };
  var $serializer_instance_7;
  function $serializer_getInstance_7() {
    if ($serializer_instance_7 == null)
      new $serializer_7();
    return $serializer_instance_7;
  }
  function ContentEntryAndContentJob_init_$Init$(seen1, entry, contentJob, contentJobItem, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_7().qjb_1);
    }
    if (0 === (seen1 & 1))
      $this.sjb_1 = null;
    else
      $this.sjb_1 = entry;
    if (0 === (seen1 & 2))
      $this.tjb_1 = null;
    else
      $this.tjb_1 = contentJob;
    if (0 === (seen1 & 4))
      $this.ujb_1 = null;
    else
      $this.ujb_1 = contentJobItem;
    if (0 === (seen1 & 8))
      $this.vjb_1 = null;
    else
      $this.vjb_1 = picture;
    return $this;
  }
  function ContentEntryAndContentJob_init_$Create$(seen1, entry, contentJob, contentJobItem, picture, serializationConstructorMarker) {
    return ContentEntryAndContentJob_init_$Init$(seen1, entry, contentJob, contentJobItem, picture, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndContentJob)));
  }
  function ContentEntryAndContentJob(entry, contentJob, contentJobItem, picture) {
    entry = entry === VOID ? null : entry;
    contentJob = contentJob === VOID ? null : contentJob;
    contentJobItem = contentJobItem === VOID ? null : contentJobItem;
    picture = picture === VOID ? null : picture;
    this.sjb_1 = entry;
    this.tjb_1 = contentJob;
    this.ujb_1 = contentJobItem;
    this.vjb_1 = picture;
  }
  protoOf(ContentEntryAndContentJob).wjb = function (entry, contentJob, contentJobItem, picture) {
    return new ContentEntryAndContentJob(entry, contentJob, contentJobItem, picture);
  };
  protoOf(ContentEntryAndContentJob).xjb = function (entry, contentJob, contentJobItem, picture, $super) {
    entry = entry === VOID ? this.sjb_1 : entry;
    contentJob = contentJob === VOID ? this.tjb_1 : contentJob;
    contentJobItem = contentJobItem === VOID ? this.ujb_1 : contentJobItem;
    picture = picture === VOID ? this.vjb_1 : picture;
    return $super === VOID ? this.wjb(entry, contentJob, contentJobItem, picture) : $super.wjb.call(this, entry, contentJob, contentJobItem, picture);
  };
  protoOf(ContentEntryAndContentJob).toString = function () {
    return 'ContentEntryAndContentJob(entry=' + this.sjb_1 + ', contentJob=' + this.tjb_1 + ', contentJobItem=' + this.ujb_1 + ', picture=' + this.vjb_1 + ')';
  };
  protoOf(ContentEntryAndContentJob).hashCode = function () {
    var result = this.sjb_1 == null ? 0 : this.sjb_1.hashCode();
    result = imul(result, 31) + (this.tjb_1 == null ? 0 : this.tjb_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ujb_1 == null ? 0 : this.ujb_1.hashCode()) | 0;
    result = imul(result, 31) + (this.vjb_1 == null ? 0 : this.vjb_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndContentJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndContentJob))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndContentJob ? other : THROW_CCE();
    if (!equals(this.sjb_1, tmp0_other_with_cast.sjb_1))
      return false;
    if (!equals(this.tjb_1, tmp0_other_with_cast.tjb_1))
      return false;
    if (!equals(this.ujb_1, tmp0_other_with_cast.ujb_1))
      return false;
    if (!equals(this.vjb_1, tmp0_other_with_cast.vjb_1))
      return false;
    return true;
  };
  function Companion_9() {
  }
  var Companion_instance_10;
  function Companion_getInstance_12() {
    return Companion_instance_10;
  }
  function $serializer_8() {
    $serializer_instance_8 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndDetail', this, 4);
    tmp0_serialDesc.y4l('entry', true);
    tmp0_serialDesc.y4l('latestVersion', true);
    tmp0_serialDesc.y4l('picture', true);
    tmp0_serialDesc.y4l('status', true);
    this.yjb_1 = tmp0_serialDesc;
  }
  protoOf($serializer_8).v4a = function () {
    return this.yjb_1;
  };
  protoOf($serializer_8).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_61()), get_nullable($serializer_getInstance_57()), get_nullable($serializer_getInstance_1())];
  };
  protoOf($serializer_8).x4a = function (decoder) {
    var tmp0_desc = this.yjb_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_52(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_61(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_57(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_1(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_52(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_61(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_57(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_1(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return ContentEntryAndDetail_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_8).zjb = function (encoder, value) {
    var tmp0_desc = this.yjb_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.rap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_52(), value.rap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.sap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_61(), value.sap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.tap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_57(), value.tap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.uap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_1(), value.uap_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_8).w4a = function (encoder, value) {
    return this.zjb(encoder, value instanceof ContentEntryAndDetail ? value : THROW_CCE());
  };
  var $serializer_instance_8;
  function $serializer_getInstance_8() {
    if ($serializer_instance_8 == null)
      new $serializer_8();
    return $serializer_instance_8;
  }
  function ContentEntryAndDetail_init_$Init$(seen1, entry, latestVersion, picture, status, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_8().yjb_1);
    }
    if (0 === (seen1 & 1))
      $this.rap_1 = null;
    else
      $this.rap_1 = entry;
    if (0 === (seen1 & 2))
      $this.sap_1 = null;
    else
      $this.sap_1 = latestVersion;
    if (0 === (seen1 & 4))
      $this.tap_1 = null;
    else
      $this.tap_1 = picture;
    if (0 === (seen1 & 8))
      $this.uap_1 = null;
    else
      $this.uap_1 = status;
    return $this;
  }
  function ContentEntryAndDetail_init_$Create$(seen1, entry, latestVersion, picture, status, serializationConstructorMarker) {
    return ContentEntryAndDetail_init_$Init$(seen1, entry, latestVersion, picture, status, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndDetail)));
  }
  function ContentEntryAndDetail(entry, latestVersion, picture, status) {
    entry = entry === VOID ? null : entry;
    latestVersion = latestVersion === VOID ? null : latestVersion;
    picture = picture === VOID ? null : picture;
    status = status === VOID ? null : status;
    this.rap_1 = entry;
    this.sap_1 = latestVersion;
    this.tap_1 = picture;
    this.uap_1 = status;
  }
  protoOf(ContentEntryAndDetail).toString = function () {
    return 'ContentEntryAndDetail(entry=' + this.rap_1 + ', latestVersion=' + this.sap_1 + ', picture=' + this.tap_1 + ', status=' + this.uap_1 + ')';
  };
  protoOf(ContentEntryAndDetail).hashCode = function () {
    var result = this.rap_1 == null ? 0 : this.rap_1.hashCode();
    result = imul(result, 31) + (this.sap_1 == null ? 0 : this.sap_1.hashCode()) | 0;
    result = imul(result, 31) + (this.tap_1 == null ? 0 : this.tap_1.hashCode()) | 0;
    result = imul(result, 31) + (this.uap_1 == null ? 0 : this.uap_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndDetail))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndDetail ? other : THROW_CCE();
    if (!equals(this.rap_1, tmp0_other_with_cast.rap_1))
      return false;
    if (!equals(this.sap_1, tmp0_other_with_cast.sap_1))
      return false;
    if (!equals(this.tap_1, tmp0_other_with_cast.tap_1))
      return false;
    if (!equals(this.uap_1, tmp0_other_with_cast.uap_1))
      return false;
    return true;
  };
  function ContentEntryAndListDetail(contentEntry, picture, contentEntryParentChildJoin, status) {
    contentEntry = contentEntry === VOID ? null : contentEntry;
    picture = picture === VOID ? null : picture;
    contentEntryParentChildJoin = contentEntryParentChildJoin === VOID ? null : contentEntryParentChildJoin;
    status = status === VOID ? null : status;
    this.aar_1 = contentEntry;
    this.bar_1 = picture;
    this.car_1 = contentEntryParentChildJoin;
    this.dar_1 = status;
  }
  protoOf(ContentEntryAndListDetail).toString = function () {
    return 'ContentEntryAndListDetail(contentEntry=' + this.aar_1 + ', picture=' + this.bar_1 + ', contentEntryParentChildJoin=' + this.car_1 + ', status=' + this.dar_1 + ')';
  };
  protoOf(ContentEntryAndListDetail).hashCode = function () {
    var result = this.aar_1 == null ? 0 : this.aar_1.hashCode();
    result = imul(result, 31) + (this.bar_1 == null ? 0 : this.bar_1.hashCode()) | 0;
    result = imul(result, 31) + (this.car_1 == null ? 0 : this.car_1.hashCode()) | 0;
    result = imul(result, 31) + (this.dar_1 == null ? 0 : this.dar_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndListDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndListDetail))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndListDetail ? other : THROW_CCE();
    if (!equals(this.aar_1, tmp0_other_with_cast.aar_1))
      return false;
    if (!equals(this.bar_1, tmp0_other_with_cast.bar_1))
      return false;
    if (!equals(this.car_1, tmp0_other_with_cast.car_1))
      return false;
    if (!equals(this.dar_1, tmp0_other_with_cast.dar_1))
      return false;
    return true;
  };
  function Companion_10() {
  }
  var Companion_instance_11;
  function Companion_getInstance_13() {
    return Companion_instance_11;
  }
  function $serializer_9() {
    $serializer_instance_9 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndPicture', this, 2);
    tmp0_serialDesc.y4l('entry', true);
    tmp0_serialDesc.y4l('picture', true);
    this.ajc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_9).v4a = function () {
    return this.ajc_1;
  };
  protoOf($serializer_9).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_57())];
  };
  protoOf($serializer_9).x4a = function (decoder) {
    var tmp0_desc = this.ajc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_52(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_57(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_52(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_57(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return ContentEntryAndPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_9).bjc = function (encoder, value) {
    var tmp0_desc = this.ajc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.lap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_52(), value.lap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.map_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_57(), value.map_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_9).w4a = function (encoder, value) {
    return this.bjc(encoder, value instanceof ContentEntryAndPicture ? value : THROW_CCE());
  };
  var $serializer_instance_9;
  function $serializer_getInstance_9() {
    if ($serializer_instance_9 == null)
      new $serializer_9();
    return $serializer_instance_9;
  }
  function ContentEntryAndPicture_init_$Init$(seen1, entry, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_9().ajc_1);
    }
    if (0 === (seen1 & 1))
      $this.lap_1 = null;
    else
      $this.lap_1 = entry;
    if (0 === (seen1 & 2))
      $this.map_1 = null;
    else
      $this.map_1 = picture;
    return $this;
  }
  function ContentEntryAndPicture_init_$Create$(seen1, entry, picture, serializationConstructorMarker) {
    return ContentEntryAndPicture_init_$Init$(seen1, entry, picture, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndPicture)));
  }
  function ContentEntryAndPicture(entry, picture) {
    entry = entry === VOID ? null : entry;
    picture = picture === VOID ? null : picture;
    this.lap_1 = entry;
    this.map_1 = picture;
  }
  protoOf(ContentEntryAndPicture).toString = function () {
    return 'ContentEntryAndPicture(entry=' + this.lap_1 + ', picture=' + this.map_1 + ')';
  };
  protoOf(ContentEntryAndPicture).hashCode = function () {
    var result = this.lap_1 == null ? 0 : this.lap_1.hashCode();
    result = imul(result, 31) + (this.map_1 == null ? 0 : this.map_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndPicture))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndPicture ? other : THROW_CCE();
    if (!equals(this.lap_1, tmp0_other_with_cast.lap_1))
      return false;
    if (!equals(this.map_1, tmp0_other_with_cast.map_1))
      return false;
    return true;
  };
  function Companion_11() {
  }
  protoOf(Companion_11).s4x = function () {
    return $serializer_getInstance_10();
  };
  var Companion_instance_12;
  function Companion_getInstance_14() {
    return Companion_instance_12;
  }
  function $serializer_10() {
    $serializer_instance_10 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryImportJobProgress', this, 6);
    tmp0_serialDesc.y4l('cjiUid', true);
    tmp0_serialDesc.y4l('cjiItemProgress', true);
    tmp0_serialDesc.y4l('cjiItemTotal', true);
    tmp0_serialDesc.y4l('cjiStatus', true);
    tmp0_serialDesc.y4l('cjiError', true);
    tmp0_serialDesc.y4l('cjiOwnerPersonUid', true);
    this.cjc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_10).v4a = function () {
    return this.cjc_1;
  };
  protoOf($serializer_10).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_10).x4a = function (decoder) {
    var tmp0_desc = this.cjc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return ContentEntryImportJobProgress_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_10).djc = function (encoder, value) {
    var tmp0_desc = this.cjc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.eb3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.eb3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.fb3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.fb3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.gb3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.gb3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.hb3_1 === 4)) {
      tmp1_output.w4f(tmp0_desc, 3, value.hb3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.ib3_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.ib3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.jb3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.jb3_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_10).w4a = function (encoder, value) {
    return this.djc(encoder, value instanceof ContentEntryImportJobProgress ? value : THROW_CCE());
  };
  var $serializer_instance_10;
  function $serializer_getInstance_10() {
    if ($serializer_instance_10 == null)
      new $serializer_10();
    return $serializer_instance_10;
  }
  function ContentEntryImportJobProgress_init_$Init$(seen1, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_10().cjc_1);
    }
    if (0 === (seen1 & 1))
      $this.eb3_1 = new Long(0, 0);
    else
      $this.eb3_1 = cjiUid;
    if (0 === (seen1 & 2))
      $this.fb3_1 = new Long(0, 0);
    else
      $this.fb3_1 = cjiItemProgress;
    if (0 === (seen1 & 4))
      $this.gb3_1 = new Long(0, 0);
    else
      $this.gb3_1 = cjiItemTotal;
    if (0 === (seen1 & 8))
      $this.hb3_1 = 4;
    else
      $this.hb3_1 = cjiStatus;
    if (0 === (seen1 & 16))
      $this.ib3_1 = null;
    else
      $this.ib3_1 = cjiError;
    if (0 === (seen1 & 32))
      $this.jb3_1 = new Long(0, 0);
    else
      $this.jb3_1 = cjiOwnerPersonUid;
    return $this;
  }
  function ContentEntryImportJobProgress_init_$Create$(seen1, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, serializationConstructorMarker) {
    return ContentEntryImportJobProgress_init_$Init$(seen1, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, serializationConstructorMarker, objectCreate(protoOf(ContentEntryImportJobProgress)));
  }
  function ContentEntryImportJobProgress(cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid) {
    cjiUid = cjiUid === VOID ? new Long(0, 0) : cjiUid;
    cjiItemProgress = cjiItemProgress === VOID ? new Long(0, 0) : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? new Long(0, 0) : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? 4 : cjiStatus;
    cjiError = cjiError === VOID ? null : cjiError;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? new Long(0, 0) : cjiOwnerPersonUid;
    this.eb3_1 = cjiUid;
    this.fb3_1 = cjiItemProgress;
    this.gb3_1 = cjiItemTotal;
    this.hb3_1 = cjiStatus;
    this.ib3_1 = cjiError;
    this.jb3_1 = cjiOwnerPersonUid;
  }
  protoOf(ContentEntryImportJobProgress).toString = function () {
    return 'ContentEntryImportJobProgress(cjiUid=' + this.eb3_1.toString() + ', cjiItemProgress=' + this.fb3_1.toString() + ', cjiItemTotal=' + this.gb3_1.toString() + ', cjiStatus=' + this.hb3_1 + ', cjiError=' + this.ib3_1 + ', cjiOwnerPersonUid=' + this.jb3_1.toString() + ')';
  };
  protoOf(ContentEntryImportJobProgress).hashCode = function () {
    var result = this.eb3_1.hashCode();
    result = imul(result, 31) + this.fb3_1.hashCode() | 0;
    result = imul(result, 31) + this.gb3_1.hashCode() | 0;
    result = imul(result, 31) + this.hb3_1 | 0;
    result = imul(result, 31) + (this.ib3_1 == null ? 0 : getStringHashCode(this.ib3_1)) | 0;
    result = imul(result, 31) + this.jb3_1.hashCode() | 0;
    return result;
  };
  protoOf(ContentEntryImportJobProgress).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryImportJobProgress))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryImportJobProgress ? other : THROW_CCE();
    if (!this.eb3_1.equals(tmp0_other_with_cast.eb3_1))
      return false;
    if (!this.fb3_1.equals(tmp0_other_with_cast.fb3_1))
      return false;
    if (!this.gb3_1.equals(tmp0_other_with_cast.gb3_1))
      return false;
    if (!(this.hb3_1 === tmp0_other_with_cast.hb3_1))
      return false;
    if (!(this.ib3_1 == tmp0_other_with_cast.ib3_1))
      return false;
    if (!this.jb3_1.equals(tmp0_other_with_cast.jb3_1))
      return false;
    return true;
  };
  function Companion_12() {
  }
  var Companion_instance_13;
  function Companion_getInstance_15() {
    return Companion_instance_13;
  }
  function $serializer_11() {
    $serializer_instance_11 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseAssignmentMarkAndMarkerName', this, 4);
    tmp0_serialDesc.y4l('courseAssignmentMark', true);
    tmp0_serialDesc.y4l('markerFirstNames', true);
    tmp0_serialDesc.y4l('markerLastName', true);
    tmp0_serialDesc.y4l('markerPictureUri', true);
    this.ejc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_11).v4a = function () {
    return this.ejc_1;
  };
  protoOf($serializer_11).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_64()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_11).x4a = function (decoder) {
    var tmp0_desc = this.ejc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_64(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_64(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return CourseAssignmentMarkAndMarkerName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_11).fjc = function (encoder, value) {
    var tmp0_desc = this.ejc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.gbo_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_64(), value.gbo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.hbo_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.hbo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.ibo_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.ibo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.jbo_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.jbo_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_11).w4a = function (encoder, value) {
    return this.fjc(encoder, value instanceof CourseAssignmentMarkAndMarkerName ? value : THROW_CCE());
  };
  var $serializer_instance_11;
  function $serializer_getInstance_11() {
    if ($serializer_instance_11 == null)
      new $serializer_11();
    return $serializer_instance_11;
  }
  function CourseAssignmentMarkAndMarkerName_init_$Init$(seen1, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_11().ejc_1);
    }
    if (0 === (seen1 & 1))
      $this.gbo_1 = null;
    else
      $this.gbo_1 = courseAssignmentMark;
    if (0 === (seen1 & 2))
      $this.hbo_1 = null;
    else
      $this.hbo_1 = markerFirstNames;
    if (0 === (seen1 & 4))
      $this.ibo_1 = null;
    else
      $this.ibo_1 = markerLastName;
    if (0 === (seen1 & 8))
      $this.jbo_1 = null;
    else
      $this.jbo_1 = markerPictureUri;
    return $this;
  }
  function CourseAssignmentMarkAndMarkerName_init_$Create$(seen1, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, serializationConstructorMarker) {
    return CourseAssignmentMarkAndMarkerName_init_$Init$(seen1, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentMarkAndMarkerName)));
  }
  function CourseAssignmentMarkAndMarkerName(courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri) {
    courseAssignmentMark = courseAssignmentMark === VOID ? null : courseAssignmentMark;
    markerFirstNames = markerFirstNames === VOID ? null : markerFirstNames;
    markerLastName = markerLastName === VOID ? null : markerLastName;
    markerPictureUri = markerPictureUri === VOID ? null : markerPictureUri;
    this.gbo_1 = courseAssignmentMark;
    this.hbo_1 = markerFirstNames;
    this.ibo_1 = markerLastName;
    this.jbo_1 = markerPictureUri;
  }
  protoOf(CourseAssignmentMarkAndMarkerName).toString = function () {
    return 'CourseAssignmentMarkAndMarkerName(courseAssignmentMark=' + this.gbo_1 + ', markerFirstNames=' + this.hbo_1 + ', markerLastName=' + this.ibo_1 + ', markerPictureUri=' + this.jbo_1 + ')';
  };
  protoOf(CourseAssignmentMarkAndMarkerName).hashCode = function () {
    var result = this.gbo_1 == null ? 0 : hashCode(this.gbo_1);
    result = imul(result, 31) + (this.hbo_1 == null ? 0 : getStringHashCode(this.hbo_1)) | 0;
    result = imul(result, 31) + (this.ibo_1 == null ? 0 : getStringHashCode(this.ibo_1)) | 0;
    result = imul(result, 31) + (this.jbo_1 == null ? 0 : getStringHashCode(this.jbo_1)) | 0;
    return result;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentMarkAndMarkerName))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentMarkAndMarkerName ? other : THROW_CCE();
    if (!equals(this.gbo_1, tmp0_other_with_cast.gbo_1))
      return false;
    if (!(this.hbo_1 == tmp0_other_with_cast.hbo_1))
      return false;
    if (!(this.ibo_1 == tmp0_other_with_cast.ibo_1))
      return false;
    if (!(this.jbo_1 == tmp0_other_with_cast.jbo_1))
      return false;
    return true;
  };
  function Companion_13() {
  }
  var Companion_instance_14;
  function Companion_getInstance_16() {
    return Companion_instance_14;
  }
  function $serializer_12() {
    $serializer_instance_12 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseAssignmentSubmissionFileAndTransferJob', this, 2);
    tmp0_serialDesc.y4l('submissionFile', true);
    tmp0_serialDesc.y4l('transferJobItem', true);
    this.gjc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_12).v4a = function () {
    return this.gjc_1;
  };
  protoOf($serializer_12).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_66()), get_nullable($serializer_getInstance_108())];
  };
  protoOf($serializer_12).x4a = function (decoder) {
    var tmp0_desc = this.gjc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_66(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_108(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_66(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_108(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return CourseAssignmentSubmissionFileAndTransferJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_12).hjc = function (encoder, value) {
    var tmp0_desc = this.gjc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.lc3_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_66(), value.lc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.mc3_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_108(), value.mc3_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_12).w4a = function (encoder, value) {
    return this.hjc(encoder, value instanceof CourseAssignmentSubmissionFileAndTransferJob ? value : THROW_CCE());
  };
  var $serializer_instance_12;
  function $serializer_getInstance_12() {
    if ($serializer_instance_12 == null)
      new $serializer_12();
    return $serializer_instance_12;
  }
  function CourseAssignmentSubmissionFileAndTransferJob_init_$Init$(seen1, submissionFile, transferJobItem, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_12().gjc_1);
    }
    if (0 === (seen1 & 1))
      $this.lc3_1 = null;
    else
      $this.lc3_1 = submissionFile;
    if (0 === (seen1 & 2))
      $this.mc3_1 = null;
    else
      $this.mc3_1 = transferJobItem;
    return $this;
  }
  function CourseAssignmentSubmissionFileAndTransferJob_init_$Create$(seen1, submissionFile, transferJobItem, serializationConstructorMarker) {
    return CourseAssignmentSubmissionFileAndTransferJob_init_$Init$(seen1, submissionFile, transferJobItem, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentSubmissionFileAndTransferJob)));
  }
  function CourseAssignmentSubmissionFileAndTransferJob(submissionFile, transferJobItem) {
    submissionFile = submissionFile === VOID ? null : submissionFile;
    transferJobItem = transferJobItem === VOID ? null : transferJobItem;
    this.lc3_1 = submissionFile;
    this.mc3_1 = transferJobItem;
  }
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).toString = function () {
    return 'CourseAssignmentSubmissionFileAndTransferJob(submissionFile=' + this.lc3_1 + ', transferJobItem=' + this.mc3_1 + ')';
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).hashCode = function () {
    var result = this.lc3_1 == null ? 0 : this.lc3_1.hashCode();
    result = imul(result, 31) + (this.mc3_1 == null ? 0 : this.mc3_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentSubmissionFileAndTransferJob))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentSubmissionFileAndTransferJob ? other : THROW_CCE();
    if (!equals(this.lc3_1, tmp0_other_with_cast.lc3_1))
      return false;
    if (!equals(this.mc3_1, tmp0_other_with_cast.mc3_1))
      return false;
    return true;
  };
  function Companion_14() {
  }
  var Companion_instance_15;
  function Companion_getInstance_17() {
    return Companion_instance_15;
  }
  function $serializer_13() {
    $serializer_instance_13 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndAssignment', this, 2);
    tmp0_serialDesc.y4l('courseBlock', true);
    tmp0_serialDesc.y4l('assignment', true);
    this.ijc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_13).v4a = function () {
    return this.ijc_1;
  };
  protoOf($serializer_13).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_67()), get_nullable($serializer_getInstance_41())];
  };
  protoOf($serializer_13).x4a = function (decoder) {
    var tmp0_desc = this.ijc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_41(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_41(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return CourseBlockAndAssignment_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_13).jjc = function (encoder, value) {
    var tmp0_desc = this.ijc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.jcg_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_67(), value.jcg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.kcg_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_41(), value.kcg_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_13).w4a = function (encoder, value) {
    return this.jjc(encoder, value instanceof CourseBlockAndAssignment ? value : THROW_CCE());
  };
  var $serializer_instance_13;
  function $serializer_getInstance_13() {
    if ($serializer_instance_13 == null)
      new $serializer_13();
    return $serializer_instance_13;
  }
  function CourseBlockAndAssignment_init_$Init$(seen1, courseBlock, assignment, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_13().ijc_1);
    }
    if (0 === (seen1 & 1))
      $this.jcg_1 = null;
    else
      $this.jcg_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.kcg_1 = null;
    else
      $this.kcg_1 = assignment;
    return $this;
  }
  function CourseBlockAndAssignment_init_$Create$(seen1, courseBlock, assignment, serializationConstructorMarker) {
    return CourseBlockAndAssignment_init_$Init$(seen1, courseBlock, assignment, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndAssignment)));
  }
  function CourseBlockAndAssignment(courseBlock, assignment) {
    courseBlock = courseBlock === VOID ? null : courseBlock;
    assignment = assignment === VOID ? null : assignment;
    this.jcg_1 = courseBlock;
    this.kcg_1 = assignment;
  }
  protoOf(CourseBlockAndAssignment).toString = function () {
    return 'CourseBlockAndAssignment(courseBlock=' + this.jcg_1 + ', assignment=' + this.kcg_1 + ')';
  };
  protoOf(CourseBlockAndAssignment).hashCode = function () {
    var result = this.jcg_1 == null ? 0 : this.jcg_1.hashCode();
    result = imul(result, 31) + (this.kcg_1 == null ? 0 : this.kcg_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndAssignment).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndAssignment))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndAssignment ? other : THROW_CCE();
    if (!equals(this.jcg_1, tmp0_other_with_cast.jcg_1))
      return false;
    if (!equals(this.kcg_1, tmp0_other_with_cast.kcg_1))
      return false;
    return true;
  };
  function Companion_15() {
  }
  var Companion_instance_16;
  function Companion_getInstance_18() {
    return Companion_instance_16;
  }
  function $serializer_14() {
    $serializer_instance_14 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndDbEntities', this, 6);
    tmp0_serialDesc.y4l('courseBlock', true);
    tmp0_serialDesc.y4l('courseBlockPicture', true);
    tmp0_serialDesc.y4l('contentEntry', true);
    tmp0_serialDesc.y4l('contentEntryLang', true);
    tmp0_serialDesc.y4l('assignment', true);
    tmp0_serialDesc.y4l('assignmentCourseGroupSetName', true);
    this.kjc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_14).v4a = function () {
    return this.kjc_1;
  };
  protoOf($serializer_14).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_67()), get_nullable($serializer_getInstance_68()), get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_83()), get_nullable($serializer_getInstance_41()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_14).x4a = function (decoder) {
    var tmp0_desc = this.kjc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, $serializer_getInstance_83(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.b4f(tmp0_desc, 4, $serializer_getInstance_41(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, $serializer_getInstance_83(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.b4f(tmp0_desc, 4, $serializer_getInstance_41(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return CourseBlockAndDbEntities_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_14).ljc = function (encoder, value) {
    var tmp0_desc = this.kjc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.xce_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_67(), value.xce_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.yce_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_68(), value.yce_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.zce_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_52(), value.zce_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.acf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_83(), value.acf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.bcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, $serializer_getInstance_41(), value.bcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ccf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.ccf_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_14).w4a = function (encoder, value) {
    return this.ljc(encoder, value instanceof CourseBlockAndDbEntities ? value : THROW_CCE());
  };
  var $serializer_instance_14;
  function $serializer_getInstance_14() {
    if ($serializer_instance_14 == null)
      new $serializer_14();
    return $serializer_instance_14;
  }
  function CourseBlockAndDbEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_14().kjc_1);
    }
    if (0 === (seen1 & 1))
      $this.xce_1 = null;
    else
      $this.xce_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.yce_1 = null;
    else
      $this.yce_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.zce_1 = null;
    else
      $this.zce_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.acf_1 = null;
    else
      $this.acf_1 = contentEntryLang;
    if (0 === (seen1 & 16))
      $this.bcf_1 = null;
    else
      $this.bcf_1 = assignment;
    if (0 === (seen1 & 32))
      $this.ccf_1 = null;
    else
      $this.ccf_1 = assignmentCourseGroupSetName;
    return $this;
  }
  function CourseBlockAndDbEntities_init_$Create$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, serializationConstructorMarker) {
    return CourseBlockAndDbEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndDbEntities)));
  }
  function CourseBlockAndDbEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName) {
    courseBlock = courseBlock === VOID ? null : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryLang = contentEntryLang === VOID ? null : contentEntryLang;
    assignment = assignment === VOID ? null : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? null : assignmentCourseGroupSetName;
    this.xce_1 = courseBlock;
    this.yce_1 = courseBlockPicture;
    this.zce_1 = contentEntry;
    this.acf_1 = contentEntryLang;
    this.bcf_1 = assignment;
    this.ccf_1 = assignmentCourseGroupSetName;
  }
  protoOf(CourseBlockAndDbEntities).toString = function () {
    return 'CourseBlockAndDbEntities(courseBlock=' + this.xce_1 + ', courseBlockPicture=' + this.yce_1 + ', contentEntry=' + this.zce_1 + ', contentEntryLang=' + this.acf_1 + ', assignment=' + this.bcf_1 + ', assignmentCourseGroupSetName=' + this.ccf_1 + ')';
  };
  protoOf(CourseBlockAndDbEntities).hashCode = function () {
    var result = this.xce_1 == null ? 0 : this.xce_1.hashCode();
    result = imul(result, 31) + (this.yce_1 == null ? 0 : this.yce_1.hashCode()) | 0;
    result = imul(result, 31) + (this.zce_1 == null ? 0 : this.zce_1.hashCode()) | 0;
    result = imul(result, 31) + (this.acf_1 == null ? 0 : this.acf_1.hashCode()) | 0;
    result = imul(result, 31) + (this.bcf_1 == null ? 0 : this.bcf_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ccf_1 == null ? 0 : getStringHashCode(this.ccf_1)) | 0;
    return result;
  };
  protoOf(CourseBlockAndDbEntities).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndDbEntities))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndDbEntities ? other : THROW_CCE();
    if (!equals(this.xce_1, tmp0_other_with_cast.xce_1))
      return false;
    if (!equals(this.yce_1, tmp0_other_with_cast.yce_1))
      return false;
    if (!equals(this.zce_1, tmp0_other_with_cast.zce_1))
      return false;
    if (!equals(this.acf_1, tmp0_other_with_cast.acf_1))
      return false;
    if (!equals(this.bcf_1, tmp0_other_with_cast.bcf_1))
      return false;
    if (!(this.ccf_1 == tmp0_other_with_cast.ccf_1))
      return false;
    return true;
  };
  function Companion_16() {
  }
  var Companion_instance_17;
  function Companion_getInstance_19() {
    return Companion_instance_17;
  }
  function $serializer_15() {
    $serializer_instance_15 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndDisplayDetails', this, 4);
    tmp0_serialDesc.y4l('courseBlock', true);
    tmp0_serialDesc.y4l('courseBlockPicture', true);
    tmp0_serialDesc.y4l('contentEntry', true);
    tmp0_serialDesc.y4l('contentEntryPicture2', true);
    this.mjc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_15).v4a = function () {
    return this.mjc_1;
  };
  protoOf($serializer_15).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_67()), get_nullable($serializer_getInstance_68()), get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_57())];
  };
  protoOf($serializer_15).x4a = function (decoder) {
    var tmp0_desc = this.mjc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return CourseBlockAndDisplayDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_15).njc = function (encoder, value) {
    var tmp0_desc = this.mjc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.ocf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_67(), value.ocf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.pcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_68(), value.pcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.qcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_52(), value.qcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.rcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_57(), value.rcf_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_15).w4a = function (encoder, value) {
    return this.njc(encoder, value instanceof CourseBlockAndDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_15;
  function $serializer_getInstance_15() {
    if ($serializer_instance_15 == null)
      new $serializer_15();
    return $serializer_instance_15;
  }
  function CourseBlockAndDisplayDetails_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_15().mjc_1);
    }
    if (0 === (seen1 & 1))
      $this.ocf_1 = null;
    else
      $this.ocf_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.pcf_1 = null;
    else
      $this.pcf_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.qcf_1 = null;
    else
      $this.qcf_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.rcf_1 = null;
    else
      $this.rcf_1 = contentEntryPicture2;
    return $this;
  }
  function CourseBlockAndDisplayDetails_init_$Create$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker) {
    return CourseBlockAndDisplayDetails_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndDisplayDetails)));
  }
  function CourseBlockAndDisplayDetails(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2) {
    courseBlock = courseBlock === VOID ? null : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryPicture2 = contentEntryPicture2 === VOID ? null : contentEntryPicture2;
    this.ocf_1 = courseBlock;
    this.pcf_1 = courseBlockPicture;
    this.qcf_1 = contentEntry;
    this.rcf_1 = contentEntryPicture2;
  }
  protoOf(CourseBlockAndDisplayDetails).toString = function () {
    return 'CourseBlockAndDisplayDetails(courseBlock=' + this.ocf_1 + ', courseBlockPicture=' + this.pcf_1 + ', contentEntry=' + this.qcf_1 + ', contentEntryPicture2=' + this.rcf_1 + ')';
  };
  protoOf(CourseBlockAndDisplayDetails).hashCode = function () {
    var result = this.ocf_1 == null ? 0 : this.ocf_1.hashCode();
    result = imul(result, 31) + (this.pcf_1 == null ? 0 : this.pcf_1.hashCode()) | 0;
    result = imul(result, 31) + (this.qcf_1 == null ? 0 : this.qcf_1.hashCode()) | 0;
    result = imul(result, 31) + (this.rcf_1 == null ? 0 : this.rcf_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndDisplayDetails ? other : THROW_CCE();
    if (!equals(this.ocf_1, tmp0_other_with_cast.ocf_1))
      return false;
    if (!equals(this.pcf_1, tmp0_other_with_cast.pcf_1))
      return false;
    if (!equals(this.qcf_1, tmp0_other_with_cast.qcf_1))
      return false;
    if (!equals(this.rcf_1, tmp0_other_with_cast.rcf_1))
      return false;
    return true;
  };
  function Companion_17() {
    Companion_instance_18 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.ojc_1 = [null, null, null, null, null, null, null, null, null, new ArrayListSerializer($serializer_getInstance_88())];
  }
  protoOf(Companion_17).s4x = function () {
    return $serializer_getInstance_16();
  };
  var Companion_instance_18;
  function Companion_getInstance_20() {
    if (Companion_instance_18 == null)
      new Companion_17();
    return Companion_instance_18;
  }
  function $serializer_16() {
    $serializer_instance_16 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndEditEntities', this, 10);
    tmp0_serialDesc.y4l('courseBlock', false);
    tmp0_serialDesc.y4l('courseBlockPicture', true);
    tmp0_serialDesc.y4l('contentEntry', true);
    tmp0_serialDesc.y4l('contentEntryPicture', true);
    tmp0_serialDesc.y4l('contentJobItem', true);
    tmp0_serialDesc.y4l('contentJob', true);
    tmp0_serialDesc.y4l('contentEntryLang', true);
    tmp0_serialDesc.y4l('assignment', true);
    tmp0_serialDesc.y4l('assignmentCourseGroupSetName', true);
    tmp0_serialDesc.y4l('assignmentPeerAllocations', true);
    this.pjc_1 = tmp0_serialDesc;
  }
  protoOf($serializer_16).v4a = function () {
    return this.pjc_1;
  };
  protoOf($serializer_16).p4m = function () {
    var tmp0_cached = Companion_getInstance_20().ojc_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_67(), get_nullable($serializer_getInstance_68()), get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_57()), get_nullable($serializer_getInstance_54()), get_nullable($serializer_getInstance_63()), get_nullable($serializer_getInstance_83()), get_nullable($serializer_getInstance_41()), get_nullable(StringSerializer_getInstance()), tmp0_cached[9]];
  };
  protoOf($serializer_16).x4a = function (decoder) {
    var tmp0_desc = this.pjc_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_input = decoder.n4e(tmp0_desc);
    var tmp15_cached = Companion_getInstance_20().ojc_1;
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.z4e(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.b4f(tmp0_desc, 4, $serializer_getInstance_54(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.b4f(tmp0_desc, 5, $serializer_getInstance_63(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.b4f(tmp0_desc, 6, $serializer_getInstance_83(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.b4f(tmp0_desc, 7, $serializer_getInstance_41(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.z4e(tmp0_desc, 9, tmp15_cached[9], tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.z4e(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.b4f(tmp0_desc, 4, $serializer_getInstance_54(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.b4f(tmp0_desc, 5, $serializer_getInstance_63(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.b4f(tmp0_desc, 6, $serializer_getInstance_83(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.b4f(tmp0_desc, 7, $serializer_getInstance_41(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.z4e(tmp0_desc, 9, tmp15_cached[9], tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return CourseBlockAndEditEntities_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_16).qjc = function (encoder, value) {
    var tmp0_desc = this.pjc_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    var tmp2_cached = Companion_getInstance_20().ojc_1;
    tmp1_output.d4g(tmp0_desc, 0, $serializer_getInstance_67(), value.rjc_1);
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.sjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_68(), value.sjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.tjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_52(), value.tjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ujc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_57(), value.ujc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.vjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, $serializer_getInstance_54(), value.vjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.wjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, $serializer_getInstance_63(), value.wjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.xjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, $serializer_getInstance_83(), value.xjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.yjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 7, $serializer_getInstance_41(), value.yjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.zjc_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 8, StringSerializer_getInstance(), value.zjc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !equals(value.ajd_1, emptyList())) {
      tmp1_output.d4g(tmp0_desc, 9, tmp2_cached[9], value.ajd_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_16).w4a = function (encoder, value) {
    return this.qjc(encoder, value instanceof CourseBlockAndEditEntities ? value : THROW_CCE());
  };
  var $serializer_instance_16;
  function $serializer_getInstance_16() {
    if ($serializer_instance_16 == null)
      new $serializer_16();
    return $serializer_instance_16;
  }
  function CourseBlockAndEditEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, serializationConstructorMarker, $this) {
    if (!(1 === (1 & seen1))) {
      throwMissingFieldException(seen1, 1, $serializer_getInstance_16().pjc_1);
    }
    $this.rjc_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.sjc_1 = null;
    else
      $this.sjc_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.tjc_1 = null;
    else
      $this.tjc_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.ujc_1 = null;
    else
      $this.ujc_1 = contentEntryPicture;
    if (0 === (seen1 & 16))
      $this.vjc_1 = null;
    else
      $this.vjc_1 = contentJobItem;
    if (0 === (seen1 & 32))
      $this.wjc_1 = null;
    else
      $this.wjc_1 = contentJob;
    if (0 === (seen1 & 64))
      $this.xjc_1 = null;
    else
      $this.xjc_1 = contentEntryLang;
    if (0 === (seen1 & 128))
      $this.yjc_1 = null;
    else
      $this.yjc_1 = assignment;
    if (0 === (seen1 & 256))
      $this.zjc_1 = null;
    else
      $this.zjc_1 = assignmentCourseGroupSetName;
    if (0 === (seen1 & 512))
      $this.ajd_1 = emptyList();
    else
      $this.ajd_1 = assignmentPeerAllocations;
    return $this;
  }
  function CourseBlockAndEditEntities_init_$Create$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, serializationConstructorMarker) {
    return CourseBlockAndEditEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndEditEntities)));
  }
  function CourseBlockAndEditEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations) {
    Companion_getInstance_20();
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryPicture = contentEntryPicture === VOID ? null : contentEntryPicture;
    contentJobItem = contentJobItem === VOID ? null : contentJobItem;
    contentJob = contentJob === VOID ? null : contentJob;
    contentEntryLang = contentEntryLang === VOID ? null : contentEntryLang;
    assignment = assignment === VOID ? null : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? null : assignmentCourseGroupSetName;
    assignmentPeerAllocations = assignmentPeerAllocations === VOID ? emptyList() : assignmentPeerAllocations;
    this.rjc_1 = courseBlock;
    this.sjc_1 = courseBlockPicture;
    this.tjc_1 = contentEntry;
    this.ujc_1 = contentEntryPicture;
    this.vjc_1 = contentJobItem;
    this.wjc_1 = contentJob;
    this.xjc_1 = contentEntryLang;
    this.yjc_1 = assignment;
    this.zjc_1 = assignmentCourseGroupSetName;
    this.ajd_1 = assignmentPeerAllocations;
  }
  protoOf(CourseBlockAndEditEntities).bjd = function () {
    return new ContentEntryAndContentJob(this.tjc_1, this.wjc_1, this.vjc_1, this.ujc_1);
  };
  protoOf(CourseBlockAndEditEntities).cjd = function (courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations) {
    return new CourseBlockAndEditEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations);
  };
  protoOf(CourseBlockAndEditEntities).djd = function (courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, $super) {
    courseBlock = courseBlock === VOID ? this.rjc_1 : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? this.sjc_1 : courseBlockPicture;
    contentEntry = contentEntry === VOID ? this.tjc_1 : contentEntry;
    contentEntryPicture = contentEntryPicture === VOID ? this.ujc_1 : contentEntryPicture;
    contentJobItem = contentJobItem === VOID ? this.vjc_1 : contentJobItem;
    contentJob = contentJob === VOID ? this.wjc_1 : contentJob;
    contentEntryLang = contentEntryLang === VOID ? this.xjc_1 : contentEntryLang;
    assignment = assignment === VOID ? this.yjc_1 : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? this.zjc_1 : assignmentCourseGroupSetName;
    assignmentPeerAllocations = assignmentPeerAllocations === VOID ? this.ajd_1 : assignmentPeerAllocations;
    return $super === VOID ? this.cjd(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations) : $super.cjd.call(this, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations);
  };
  protoOf(CourseBlockAndEditEntities).toString = function () {
    return 'CourseBlockAndEditEntities(courseBlock=' + this.rjc_1 + ', courseBlockPicture=' + this.sjc_1 + ', contentEntry=' + this.tjc_1 + ', contentEntryPicture=' + this.ujc_1 + ', contentJobItem=' + this.vjc_1 + ', contentJob=' + this.wjc_1 + ', contentEntryLang=' + this.xjc_1 + ', assignment=' + this.yjc_1 + ', assignmentCourseGroupSetName=' + this.zjc_1 + ', assignmentPeerAllocations=' + this.ajd_1 + ')';
  };
  protoOf(CourseBlockAndEditEntities).hashCode = function () {
    var result = this.rjc_1.hashCode();
    result = imul(result, 31) + (this.sjc_1 == null ? 0 : this.sjc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.tjc_1 == null ? 0 : this.tjc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ujc_1 == null ? 0 : this.ujc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.vjc_1 == null ? 0 : this.vjc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.wjc_1 == null ? 0 : this.wjc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.xjc_1 == null ? 0 : this.xjc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.yjc_1 == null ? 0 : this.yjc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.zjc_1 == null ? 0 : getStringHashCode(this.zjc_1)) | 0;
    result = imul(result, 31) + hashCode(this.ajd_1) | 0;
    return result;
  };
  protoOf(CourseBlockAndEditEntities).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndEditEntities))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndEditEntities ? other : THROW_CCE();
    if (!this.rjc_1.equals(tmp0_other_with_cast.rjc_1))
      return false;
    if (!equals(this.sjc_1, tmp0_other_with_cast.sjc_1))
      return false;
    if (!equals(this.tjc_1, tmp0_other_with_cast.tjc_1))
      return false;
    if (!equals(this.ujc_1, tmp0_other_with_cast.ujc_1))
      return false;
    if (!equals(this.vjc_1, tmp0_other_with_cast.vjc_1))
      return false;
    if (!equals(this.wjc_1, tmp0_other_with_cast.wjc_1))
      return false;
    if (!equals(this.xjc_1, tmp0_other_with_cast.xjc_1))
      return false;
    if (!equals(this.yjc_1, tmp0_other_with_cast.yjc_1))
      return false;
    if (!(this.zjc_1 == tmp0_other_with_cast.zjc_1))
      return false;
    if (!equals(this.ajd_1, tmp0_other_with_cast.ajd_1))
      return false;
    return true;
  };
  function Companion_18() {
  }
  var Companion_instance_19;
  function Companion_getInstance_21() {
    return Companion_instance_19;
  }
  function $serializer_17() {
    $serializer_instance_17 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndGradebookDisplayDetails', this, 4);
    tmp0_serialDesc.y4l('block', true);
    tmp0_serialDesc.y4l('courseBlockPicture', true);
    tmp0_serialDesc.y4l('contentEntry', true);
    tmp0_serialDesc.y4l('contentEntryPicture2', true);
    this.ejd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_17).v4a = function () {
    return this.ejd_1;
  };
  protoOf($serializer_17).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_67()), get_nullable($serializer_getInstance_68()), get_nullable($serializer_getInstance_52()), get_nullable($serializer_getInstance_57())];
  };
  protoOf($serializer_17).x4a = function (decoder) {
    var tmp0_desc = this.ejd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_57(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return CourseBlockAndGradebookDisplayDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_17).fjd = function (encoder, value) {
    var tmp0_desc = this.ejd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.wcg_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_67(), value.wcg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.xcg_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_68(), value.xcg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.ycg_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_52(), value.ycg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.zcg_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_57(), value.zcg_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_17).w4a = function (encoder, value) {
    return this.fjd(encoder, value instanceof CourseBlockAndGradebookDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_17;
  function $serializer_getInstance_17() {
    if ($serializer_instance_17 == null)
      new $serializer_17();
    return $serializer_instance_17;
  }
  function CourseBlockAndGradebookDisplayDetails_init_$Init$(seen1, block, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_17().ejd_1);
    }
    if (0 === (seen1 & 1))
      $this.wcg_1 = null;
    else
      $this.wcg_1 = block;
    if (0 === (seen1 & 2))
      $this.xcg_1 = null;
    else
      $this.xcg_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.ycg_1 = null;
    else
      $this.ycg_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.zcg_1 = null;
    else
      $this.zcg_1 = contentEntryPicture2;
    return $this;
  }
  function CourseBlockAndGradebookDisplayDetails_init_$Create$(seen1, block, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker) {
    return CourseBlockAndGradebookDisplayDetails_init_$Init$(seen1, block, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndGradebookDisplayDetails)));
  }
  function CourseBlockAndGradebookDisplayDetails(block, courseBlockPicture, contentEntry, contentEntryPicture2) {
    block = block === VOID ? null : block;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryPicture2 = contentEntryPicture2 === VOID ? null : contentEntryPicture2;
    this.wcg_1 = block;
    this.xcg_1 = courseBlockPicture;
    this.ycg_1 = contentEntry;
    this.zcg_1 = contentEntryPicture2;
  }
  protoOf(CourseBlockAndGradebookDisplayDetails).toString = function () {
    return 'CourseBlockAndGradebookDisplayDetails(block=' + this.wcg_1 + ', courseBlockPicture=' + this.xcg_1 + ', contentEntry=' + this.ycg_1 + ', contentEntryPicture2=' + this.zcg_1 + ')';
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).hashCode = function () {
    var result = this.wcg_1 == null ? 0 : this.wcg_1.hashCode();
    result = imul(result, 31) + (this.xcg_1 == null ? 0 : this.xcg_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ycg_1 == null ? 0 : this.ycg_1.hashCode()) | 0;
    result = imul(result, 31) + (this.zcg_1 == null ? 0 : this.zcg_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndGradebookDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndGradebookDisplayDetails ? other : THROW_CCE();
    if (!equals(this.wcg_1, tmp0_other_with_cast.wcg_1))
      return false;
    if (!equals(this.xcg_1, tmp0_other_with_cast.xcg_1))
      return false;
    if (!equals(this.ycg_1, tmp0_other_with_cast.ycg_1))
      return false;
    if (!equals(this.zcg_1, tmp0_other_with_cast.zcg_1))
      return false;
    return true;
  };
  function Companion_19() {
  }
  var Companion_instance_20;
  function Companion_getInstance_22() {
    return Companion_instance_20;
  }
  function $serializer_18() {
    $serializer_instance_18 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndPicture', this, 2);
    tmp0_serialDesc.y4l('block', true);
    tmp0_serialDesc.y4l('picture', true);
    this.gjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_18).v4a = function () {
    return this.gjd_1;
  };
  protoOf($serializer_18).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_67()), get_nullable($serializer_getInstance_68())];
  };
  protoOf($serializer_18).x4a = function (decoder) {
    var tmp0_desc = this.gjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_67(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_68(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return CourseBlockAndPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_18).hjd = function (encoder, value) {
    var tmp0_desc = this.gjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.kce_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_67(), value.kce_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.lce_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_68(), value.lce_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_18).w4a = function (encoder, value) {
    return this.hjd(encoder, value instanceof CourseBlockAndPicture ? value : THROW_CCE());
  };
  var $serializer_instance_18;
  function $serializer_getInstance_18() {
    if ($serializer_instance_18 == null)
      new $serializer_18();
    return $serializer_instance_18;
  }
  function CourseBlockAndPicture_init_$Init$(seen1, block, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_18().gjd_1);
    }
    if (0 === (seen1 & 1))
      $this.kce_1 = null;
    else
      $this.kce_1 = block;
    if (0 === (seen1 & 2))
      $this.lce_1 = null;
    else
      $this.lce_1 = picture;
    return $this;
  }
  function CourseBlockAndPicture_init_$Create$(seen1, block, picture, serializationConstructorMarker) {
    return CourseBlockAndPicture_init_$Init$(seen1, block, picture, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndPicture)));
  }
  function CourseBlockAndPicture(block, picture) {
    block = block === VOID ? null : block;
    picture = picture === VOID ? null : picture;
    this.kce_1 = block;
    this.lce_1 = picture;
  }
  protoOf(CourseBlockAndPicture).toString = function () {
    return 'CourseBlockAndPicture(block=' + this.kce_1 + ', picture=' + this.lce_1 + ')';
  };
  protoOf(CourseBlockAndPicture).hashCode = function () {
    var result = this.kce_1 == null ? 0 : this.kce_1.hashCode();
    result = imul(result, 31) + (this.lce_1 == null ? 0 : this.lce_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndPicture))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndPicture ? other : THROW_CCE();
    if (!equals(this.kce_1, tmp0_other_with_cast.kce_1))
      return false;
    if (!equals(this.lce_1, tmp0_other_with_cast.lce_1))
      return false;
    return true;
  };
  function Companion_20() {
  }
  var Companion_instance_21;
  function Companion_getInstance_23() {
    return Companion_instance_21;
  }
  function $serializer_19() {
    $serializer_instance_19 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockUidAndClazzUid', this, 2);
    tmp0_serialDesc.y4l('clazzUid', true);
    tmp0_serialDesc.y4l('courseBlockUid', true);
    this.ijd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_19).v4a = function () {
    return this.ijd_1;
  };
  protoOf($serializer_19).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_19).x4a = function (decoder) {
    var tmp0_desc = this.ijd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return CourseBlockUidAndClazzUid_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_19).jjd = function (encoder, value) {
    var tmp0_desc = this.ijd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.hcg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.hcg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.icg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.icg_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_19).w4a = function (encoder, value) {
    return this.jjd(encoder, value instanceof CourseBlockUidAndClazzUid ? value : THROW_CCE());
  };
  var $serializer_instance_19;
  function $serializer_getInstance_19() {
    if ($serializer_instance_19 == null)
      new $serializer_19();
    return $serializer_instance_19;
  }
  function CourseBlockUidAndClazzUid_init_$Init$(seen1, clazzUid, courseBlockUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_19().ijd_1);
    }
    if (0 === (seen1 & 1))
      $this.hcg_1 = new Long(0, 0);
    else
      $this.hcg_1 = clazzUid;
    if (0 === (seen1 & 2))
      $this.icg_1 = new Long(0, 0);
    else
      $this.icg_1 = courseBlockUid;
    return $this;
  }
  function CourseBlockUidAndClazzUid_init_$Create$(seen1, clazzUid, courseBlockUid, serializationConstructorMarker) {
    return CourseBlockUidAndClazzUid_init_$Init$(seen1, clazzUid, courseBlockUid, serializationConstructorMarker, objectCreate(protoOf(CourseBlockUidAndClazzUid)));
  }
  function CourseBlockUidAndClazzUid(clazzUid, courseBlockUid) {
    clazzUid = clazzUid === VOID ? new Long(0, 0) : clazzUid;
    courseBlockUid = courseBlockUid === VOID ? new Long(0, 0) : courseBlockUid;
    this.hcg_1 = clazzUid;
    this.icg_1 = courseBlockUid;
  }
  protoOf(CourseBlockUidAndClazzUid).toString = function () {
    return 'CourseBlockUidAndClazzUid(clazzUid=' + this.hcg_1.toString() + ', courseBlockUid=' + this.icg_1.toString() + ')';
  };
  protoOf(CourseBlockUidAndClazzUid).hashCode = function () {
    var result = this.hcg_1.hashCode();
    result = imul(result, 31) + this.icg_1.hashCode() | 0;
    return result;
  };
  protoOf(CourseBlockUidAndClazzUid).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockUidAndClazzUid))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockUidAndClazzUid ? other : THROW_CCE();
    if (!this.hcg_1.equals(tmp0_other_with_cast.hcg_1))
      return false;
    if (!this.icg_1.equals(tmp0_other_with_cast.icg_1))
      return false;
    return true;
  };
  function Companion_21() {
  }
  var Companion_instance_22;
  function Companion_getInstance_24() {
    return Companion_instance_22;
  }
  function $serializer_20() {
    $serializer_instance_20 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseGroupMemberAndPerson', this, 2);
    tmp0_serialDesc.y4l('courseGroupMember', true);
    tmp0_serialDesc.y4l('person', true);
    this.kjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_20).v4a = function () {
    return this.kjd_1;
  };
  protoOf($serializer_20).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_69()), get_nullable($serializer_getInstance_89())];
  };
  protoOf($serializer_20).x4a = function (decoder) {
    var tmp0_desc = this.kjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_69(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_89(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_69(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_89(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return CourseGroupMemberAndPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_20).ljd = function (encoder, value) {
    var tmp0_desc = this.kjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.qcx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_69(), value.qcx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.rcx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_89(), value.rcx_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_20).w4a = function (encoder, value) {
    return this.ljd(encoder, value instanceof CourseGroupMemberAndPerson ? value : THROW_CCE());
  };
  var $serializer_instance_20;
  function $serializer_getInstance_20() {
    if ($serializer_instance_20 == null)
      new $serializer_20();
    return $serializer_instance_20;
  }
  function CourseGroupMemberAndPerson_init_$Init$(seen1, courseGroupMember, person, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_20().kjd_1);
    }
    if (0 === (seen1 & 1))
      $this.qcx_1 = null;
    else
      $this.qcx_1 = courseGroupMember;
    if (0 === (seen1 & 2))
      $this.rcx_1 = null;
    else
      $this.rcx_1 = person;
    return $this;
  }
  function CourseGroupMemberAndPerson_init_$Create$(seen1, courseGroupMember, person, serializationConstructorMarker) {
    return CourseGroupMemberAndPerson_init_$Init$(seen1, courseGroupMember, person, serializationConstructorMarker, objectCreate(protoOf(CourseGroupMemberAndPerson)));
  }
  function CourseGroupMemberAndPerson(courseGroupMember, person) {
    courseGroupMember = courseGroupMember === VOID ? null : courseGroupMember;
    person = person === VOID ? null : person;
    this.qcx_1 = courseGroupMember;
    this.rcx_1 = person;
  }
  protoOf(CourseGroupMemberAndPerson).toString = function () {
    return 'CourseGroupMemberAndPerson(courseGroupMember=' + this.qcx_1 + ', person=' + this.rcx_1 + ')';
  };
  protoOf(CourseGroupMemberAndPerson).hashCode = function () {
    var result = this.qcx_1 == null ? 0 : this.qcx_1.hashCode();
    result = imul(result, 31) + (this.rcx_1 == null ? 0 : this.rcx_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseGroupMemberAndPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseGroupMemberAndPerson))
      return false;
    var tmp0_other_with_cast = other instanceof CourseGroupMemberAndPerson ? other : THROW_CCE();
    if (!equals(this.qcx_1, tmp0_other_with_cast.qcx_1))
      return false;
    if (!equals(this.rcx_1, tmp0_other_with_cast.rcx_1))
      return false;
    return true;
  };
  function Companion_22() {
  }
  var Companion_instance_23;
  function Companion_getInstance_25() {
    return Companion_instance_23;
  }
  function $serializer_21() {
    $serializer_instance_21 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseNameAndPersonName', this, 3);
    tmp0_serialDesc.y4l('clazzName', true);
    tmp0_serialDesc.y4l('firstNames', true);
    tmp0_serialDesc.y4l('lastName', true);
    this.mjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_21).v4a = function () {
    return this.mjd_1;
  };
  protoOf($serializer_21).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_21).x4a = function (decoder) {
    var tmp0_desc = this.mjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return CourseNameAndPersonName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_21).njd = function (encoder, value) {
    var tmp0_desc = this.mjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.u9f_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, StringSerializer_getInstance(), value.u9f_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.v9f_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.v9f_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.w9f_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.w9f_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_21).w4a = function (encoder, value) {
    return this.njd(encoder, value instanceof CourseNameAndPersonName ? value : THROW_CCE());
  };
  var $serializer_instance_21;
  function $serializer_getInstance_21() {
    if ($serializer_instance_21 == null)
      new $serializer_21();
    return $serializer_instance_21;
  }
  function CourseNameAndPersonName_init_$Init$(seen1, clazzName, firstNames, lastName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_21().mjd_1);
    }
    if (0 === (seen1 & 1))
      $this.u9f_1 = null;
    else
      $this.u9f_1 = clazzName;
    if (0 === (seen1 & 2))
      $this.v9f_1 = null;
    else
      $this.v9f_1 = firstNames;
    if (0 === (seen1 & 4))
      $this.w9f_1 = null;
    else
      $this.w9f_1 = lastName;
    return $this;
  }
  function CourseNameAndPersonName_init_$Create$(seen1, clazzName, firstNames, lastName, serializationConstructorMarker) {
    return CourseNameAndPersonName_init_$Init$(seen1, clazzName, firstNames, lastName, serializationConstructorMarker, objectCreate(protoOf(CourseNameAndPersonName)));
  }
  function CourseNameAndPersonName(clazzName, firstNames, lastName) {
    clazzName = clazzName === VOID ? null : clazzName;
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    this.u9f_1 = clazzName;
    this.v9f_1 = firstNames;
    this.w9f_1 = lastName;
  }
  protoOf(CourseNameAndPersonName).toString = function () {
    return 'CourseNameAndPersonName(clazzName=' + this.u9f_1 + ', firstNames=' + this.v9f_1 + ', lastName=' + this.w9f_1 + ')';
  };
  protoOf(CourseNameAndPersonName).hashCode = function () {
    var result = this.u9f_1 == null ? 0 : getStringHashCode(this.u9f_1);
    result = imul(result, 31) + (this.v9f_1 == null ? 0 : getStringHashCode(this.v9f_1)) | 0;
    result = imul(result, 31) + (this.w9f_1 == null ? 0 : getStringHashCode(this.w9f_1)) | 0;
    return result;
  };
  protoOf(CourseNameAndPersonName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseNameAndPersonName))
      return false;
    var tmp0_other_with_cast = other instanceof CourseNameAndPersonName ? other : THROW_CCE();
    if (!(this.u9f_1 == tmp0_other_with_cast.u9f_1))
      return false;
    if (!(this.v9f_1 == tmp0_other_with_cast.v9f_1))
      return false;
    if (!(this.w9f_1 == tmp0_other_with_cast.w9f_1))
      return false;
    return true;
  };
  function CoursePermissionAndListDetail(coursePermission, person, personPicture) {
    coursePermission = coursePermission === VOID ? null : coursePermission;
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    this.wdc_1 = coursePermission;
    this.xdc_1 = person;
    this.ydc_1 = personPicture;
  }
  protoOf(CoursePermissionAndListDetail).toString = function () {
    return 'CoursePermissionAndListDetail(coursePermission=' + this.wdc_1 + ', person=' + this.xdc_1 + ', personPicture=' + this.ydc_1 + ')';
  };
  protoOf(CoursePermissionAndListDetail).hashCode = function () {
    var result = this.wdc_1 == null ? 0 : this.wdc_1.hashCode();
    result = imul(result, 31) + (this.xdc_1 == null ? 0 : this.xdc_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ydc_1 == null ? 0 : this.ydc_1.hashCode()) | 0;
    return result;
  };
  protoOf(CoursePermissionAndListDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePermissionAndListDetail))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePermissionAndListDetail ? other : THROW_CCE();
    if (!equals(this.wdc_1, tmp0_other_with_cast.wdc_1))
      return false;
    if (!equals(this.xdc_1, tmp0_other_with_cast.xdc_1))
      return false;
    if (!equals(this.ydc_1, tmp0_other_with_cast.ydc_1))
      return false;
    return true;
  };
  function Companion_23() {
  }
  var Companion_instance_24;
  function Companion_getInstance_26() {
    return Companion_instance_24;
  }
  function $serializer_22() {
    $serializer_instance_22 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.DiscussionPostAndPosterNames', this, 4);
    tmp0_serialDesc.y4l('discussionPost', true);
    tmp0_serialDesc.y4l('firstNames', true);
    tmp0_serialDesc.y4l('lastName', true);
    tmp0_serialDesc.y4l('personPictureUri', true);
    this.ojd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_22).v4a = function () {
    return this.ojd_1;
  };
  protoOf($serializer_22).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_76()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_22).x4a = function (decoder) {
    var tmp0_desc = this.ojd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return DiscussionPostAndPosterNames_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_22).pjd = function (encoder, value) {
    var tmp0_desc = this.ojd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.ceh_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_76(), value.ceh_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.deh_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.deh_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.eeh_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.eeh_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.feh_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.feh_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_22).w4a = function (encoder, value) {
    return this.pjd(encoder, value instanceof DiscussionPostAndPosterNames ? value : THROW_CCE());
  };
  var $serializer_instance_22;
  function $serializer_getInstance_22() {
    if ($serializer_instance_22 == null)
      new $serializer_22();
    return $serializer_instance_22;
  }
  function DiscussionPostAndPosterNames_init_$Init$(seen1, discussionPost, firstNames, lastName, personPictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_22().ojd_1);
    }
    if (0 === (seen1 & 1))
      $this.ceh_1 = null;
    else
      $this.ceh_1 = discussionPost;
    if (0 === (seen1 & 2))
      $this.deh_1 = null;
    else
      $this.deh_1 = firstNames;
    if (0 === (seen1 & 4))
      $this.eeh_1 = null;
    else
      $this.eeh_1 = lastName;
    if (0 === (seen1 & 8))
      $this.feh_1 = null;
    else
      $this.feh_1 = personPictureUri;
    return $this;
  }
  function DiscussionPostAndPosterNames_init_$Create$(seen1, discussionPost, firstNames, lastName, personPictureUri, serializationConstructorMarker) {
    return DiscussionPostAndPosterNames_init_$Init$(seen1, discussionPost, firstNames, lastName, personPictureUri, serializationConstructorMarker, objectCreate(protoOf(DiscussionPostAndPosterNames)));
  }
  function DiscussionPostAndPosterNames(discussionPost, firstNames, lastName, personPictureUri) {
    discussionPost = discussionPost === VOID ? null : discussionPost;
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    personPictureUri = personPictureUri === VOID ? null : personPictureUri;
    this.ceh_1 = discussionPost;
    this.deh_1 = firstNames;
    this.eeh_1 = lastName;
    this.feh_1 = personPictureUri;
  }
  protoOf(DiscussionPostAndPosterNames).toString = function () {
    return 'DiscussionPostAndPosterNames(discussionPost=' + this.ceh_1 + ', firstNames=' + this.deh_1 + ', lastName=' + this.eeh_1 + ', personPictureUri=' + this.feh_1 + ')';
  };
  protoOf(DiscussionPostAndPosterNames).hashCode = function () {
    var result = this.ceh_1 == null ? 0 : hashCode(this.ceh_1);
    result = imul(result, 31) + (this.deh_1 == null ? 0 : getStringHashCode(this.deh_1)) | 0;
    result = imul(result, 31) + (this.eeh_1 == null ? 0 : getStringHashCode(this.eeh_1)) | 0;
    result = imul(result, 31) + (this.feh_1 == null ? 0 : getStringHashCode(this.feh_1)) | 0;
    return result;
  };
  protoOf(DiscussionPostAndPosterNames).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof DiscussionPostAndPosterNames))
      return false;
    var tmp0_other_with_cast = other instanceof DiscussionPostAndPosterNames ? other : THROW_CCE();
    if (!equals(this.ceh_1, tmp0_other_with_cast.ceh_1))
      return false;
    if (!(this.deh_1 == tmp0_other_with_cast.deh_1))
      return false;
    if (!(this.eeh_1 == tmp0_other_with_cast.eeh_1))
      return false;
    if (!(this.feh_1 == tmp0_other_with_cast.feh_1))
      return false;
    return true;
  };
  function Companion_24() {
  }
  var Companion_instance_25;
  function Companion_getInstance_27() {
    return Companion_instance_25;
  }
  function $serializer_23() {
    $serializer_instance_23 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.EditAndViewPermission', this, 2);
    tmp0_serialDesc.y4l('hasViewPermission', true);
    tmp0_serialDesc.y4l('hasEditPermission', true);
    this.qjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_23).v4a = function () {
    return this.qjd_1;
  };
  protoOf($serializer_23).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_23).x4a = function (decoder) {
    var tmp0_desc = this.qjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.p4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.p4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.p4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.p4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return EditAndViewPermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_23).rjd = function (encoder, value) {
    var tmp0_desc = this.qjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.thl_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 0, value.thl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.uhl_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 1, value.uhl_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_23).w4a = function (encoder, value) {
    return this.rjd(encoder, value instanceof EditAndViewPermission ? value : THROW_CCE());
  };
  var $serializer_instance_23;
  function $serializer_getInstance_23() {
    if ($serializer_instance_23 == null)
      new $serializer_23();
    return $serializer_instance_23;
  }
  function EditAndViewPermission_init_$Init$(seen1, hasViewPermission, hasEditPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_23().qjd_1);
    }
    if (0 === (seen1 & 1))
      $this.thl_1 = false;
    else
      $this.thl_1 = hasViewPermission;
    if (0 === (seen1 & 2))
      $this.uhl_1 = false;
    else
      $this.uhl_1 = hasEditPermission;
    return $this;
  }
  function EditAndViewPermission_init_$Create$(seen1, hasViewPermission, hasEditPermission, serializationConstructorMarker) {
    return EditAndViewPermission_init_$Init$(seen1, hasViewPermission, hasEditPermission, serializationConstructorMarker, objectCreate(protoOf(EditAndViewPermission)));
  }
  function EditAndViewPermission(hasViewPermission, hasEditPermission) {
    hasViewPermission = hasViewPermission === VOID ? false : hasViewPermission;
    hasEditPermission = hasEditPermission === VOID ? false : hasEditPermission;
    this.thl_1 = hasViewPermission;
    this.uhl_1 = hasEditPermission;
  }
  protoOf(EditAndViewPermission).toString = function () {
    return 'EditAndViewPermission(hasViewPermission=' + this.thl_1 + ', hasEditPermission=' + this.uhl_1 + ')';
  };
  protoOf(EditAndViewPermission).hashCode = function () {
    var result = getBooleanHashCode(this.thl_1);
    result = imul(result, 31) + getBooleanHashCode(this.uhl_1) | 0;
    return result;
  };
  protoOf(EditAndViewPermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EditAndViewPermission))
      return false;
    var tmp0_other_with_cast = other instanceof EditAndViewPermission ? other : THROW_CCE();
    if (!(this.thl_1 === tmp0_other_with_cast.thl_1))
      return false;
    if (!(this.uhl_1 === tmp0_other_with_cast.uhl_1))
      return false;
    return true;
  };
  function Companion_25() {
  }
  var Companion_instance_26;
  function Companion_getInstance_28() {
    return Companion_instance_26;
  }
  function $serializer_24() {
    $serializer_instance_24 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.EnrolmentRequestAndCoursePic', this, 2);
    tmp0_serialDesc.y4l('enrolmentRequest', true);
    tmp0_serialDesc.y4l('coursePicture', true);
    this.sjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_24).v4a = function () {
    return this.sjd_1;
  };
  protoOf($serializer_24).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_78()), get_nullable($serializer_getInstance_73())];
  };
  protoOf($serializer_24).x4a = function (decoder) {
    var tmp0_desc = this.sjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_78(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_73(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_78(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_73(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return EnrolmentRequestAndCoursePic_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_24).tjd = function (encoder, value) {
    var tmp0_desc = this.sjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.neq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_78(), value.neq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.oeq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_73(), value.oeq_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_24).w4a = function (encoder, value) {
    return this.tjd(encoder, value instanceof EnrolmentRequestAndCoursePic ? value : THROW_CCE());
  };
  var $serializer_instance_24;
  function $serializer_getInstance_24() {
    if ($serializer_instance_24 == null)
      new $serializer_24();
    return $serializer_instance_24;
  }
  function EnrolmentRequestAndCoursePic_init_$Init$(seen1, enrolmentRequest, coursePicture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_24().sjd_1);
    }
    if (0 === (seen1 & 1))
      $this.neq_1 = null;
    else
      $this.neq_1 = enrolmentRequest;
    if (0 === (seen1 & 2))
      $this.oeq_1 = null;
    else
      $this.oeq_1 = coursePicture;
    return $this;
  }
  function EnrolmentRequestAndCoursePic_init_$Create$(seen1, enrolmentRequest, coursePicture, serializationConstructorMarker) {
    return EnrolmentRequestAndCoursePic_init_$Init$(seen1, enrolmentRequest, coursePicture, serializationConstructorMarker, objectCreate(protoOf(EnrolmentRequestAndCoursePic)));
  }
  function EnrolmentRequestAndCoursePic(enrolmentRequest, coursePicture) {
    enrolmentRequest = enrolmentRequest === VOID ? null : enrolmentRequest;
    coursePicture = coursePicture === VOID ? null : coursePicture;
    this.neq_1 = enrolmentRequest;
    this.oeq_1 = coursePicture;
  }
  protoOf(EnrolmentRequestAndCoursePic).toString = function () {
    return 'EnrolmentRequestAndCoursePic(enrolmentRequest=' + this.neq_1 + ', coursePicture=' + this.oeq_1 + ')';
  };
  protoOf(EnrolmentRequestAndCoursePic).hashCode = function () {
    var result = this.neq_1 == null ? 0 : this.neq_1.hashCode();
    result = imul(result, 31) + (this.oeq_1 == null ? 0 : this.oeq_1.hashCode()) | 0;
    return result;
  };
  protoOf(EnrolmentRequestAndCoursePic).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EnrolmentRequestAndCoursePic))
      return false;
    var tmp0_other_with_cast = other instanceof EnrolmentRequestAndCoursePic ? other : THROW_CCE();
    if (!equals(this.neq_1, tmp0_other_with_cast.neq_1))
      return false;
    if (!equals(this.oeq_1, tmp0_other_with_cast.oeq_1))
      return false;
    return true;
  };
  function EnrolmentRequestAndPersonDetails(enrolmentRequest, personPicture, person) {
    enrolmentRequest = enrolmentRequest === VOID ? null : enrolmentRequest;
    personPicture = personPicture === VOID ? null : personPicture;
    person = person === VOID ? null : person;
    this.ber_1 = enrolmentRequest;
    this.cer_1 = personPicture;
    this.der_1 = person;
  }
  protoOf(EnrolmentRequestAndPersonDetails).toString = function () {
    return 'EnrolmentRequestAndPersonDetails(enrolmentRequest=' + this.ber_1 + ', personPicture=' + this.cer_1 + ', person=' + this.der_1 + ')';
  };
  protoOf(EnrolmentRequestAndPersonDetails).hashCode = function () {
    var result = this.ber_1 == null ? 0 : this.ber_1.hashCode();
    result = imul(result, 31) + (this.cer_1 == null ? 0 : this.cer_1.hashCode()) | 0;
    result = imul(result, 31) + (this.der_1 == null ? 0 : this.der_1.hashCode()) | 0;
    return result;
  };
  protoOf(EnrolmentRequestAndPersonDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EnrolmentRequestAndPersonDetails))
      return false;
    var tmp0_other_with_cast = other instanceof EnrolmentRequestAndPersonDetails ? other : THROW_CCE();
    if (!equals(this.ber_1, tmp0_other_with_cast.ber_1))
      return false;
    if (!equals(this.cer_1, tmp0_other_with_cast.cer_1))
      return false;
    if (!equals(this.der_1, tmp0_other_with_cast.der_1))
      return false;
    return true;
  };
  function Companion_26() {
  }
  var Companion_instance_27;
  function Companion_getInstance_29() {
    return Companion_instance_27;
  }
  function $serializer_25() {
    $serializer_instance_25 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.MessageAndOtherPerson', this, 3);
    tmp0_serialDesc.y4l('message', true);
    tmp0_serialDesc.y4l('otherPerson', true);
    tmp0_serialDesc.y4l('personPicture', true);
    this.ujd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_25).v4a = function () {
    return this.ujd_1;
  };
  protoOf($serializer_25).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_86()), get_nullable($serializer_getInstance_89()), get_nullable($serializer_getInstance_96())];
  };
  protoOf($serializer_25).x4a = function (decoder) {
    var tmp0_desc = this.ujd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_86(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_89(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, $serializer_getInstance_96(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_86(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_89(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, $serializer_getInstance_96(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return MessageAndOtherPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_25).vjd = function (encoder, value) {
    var tmp0_desc = this.ujd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.lfe_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_86(), value.lfe_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.mfe_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_89(), value.mfe_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.nfe_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_96(), value.nfe_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_25).w4a = function (encoder, value) {
    return this.vjd(encoder, value instanceof MessageAndOtherPerson ? value : THROW_CCE());
  };
  var $serializer_instance_25;
  function $serializer_getInstance_25() {
    if ($serializer_instance_25 == null)
      new $serializer_25();
    return $serializer_instance_25;
  }
  function MessageAndOtherPerson_init_$Init$(seen1, message, otherPerson, personPicture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_25().ujd_1);
    }
    if (0 === (seen1 & 1))
      $this.lfe_1 = null;
    else
      $this.lfe_1 = message;
    if (0 === (seen1 & 2))
      $this.mfe_1 = null;
    else
      $this.mfe_1 = otherPerson;
    if (0 === (seen1 & 4))
      $this.nfe_1 = null;
    else
      $this.nfe_1 = personPicture;
    return $this;
  }
  function MessageAndOtherPerson_init_$Create$(seen1, message, otherPerson, personPicture, serializationConstructorMarker) {
    return MessageAndOtherPerson_init_$Init$(seen1, message, otherPerson, personPicture, serializationConstructorMarker, objectCreate(protoOf(MessageAndOtherPerson)));
  }
  function MessageAndOtherPerson(message, otherPerson, personPicture) {
    message = message === VOID ? null : message;
    otherPerson = otherPerson === VOID ? null : otherPerson;
    personPicture = personPicture === VOID ? null : personPicture;
    this.lfe_1 = message;
    this.mfe_1 = otherPerson;
    this.nfe_1 = personPicture;
  }
  protoOf(MessageAndOtherPerson).toString = function () {
    return 'MessageAndOtherPerson(message=' + this.lfe_1 + ', otherPerson=' + this.mfe_1 + ', personPicture=' + this.nfe_1 + ')';
  };
  protoOf(MessageAndOtherPerson).hashCode = function () {
    var result = this.lfe_1 == null ? 0 : this.lfe_1.hashCode();
    result = imul(result, 31) + (this.mfe_1 == null ? 0 : this.mfe_1.hashCode()) | 0;
    result = imul(result, 31) + (this.nfe_1 == null ? 0 : this.nfe_1.hashCode()) | 0;
    return result;
  };
  protoOf(MessageAndOtherPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof MessageAndOtherPerson))
      return false;
    var tmp0_other_with_cast = other instanceof MessageAndOtherPerson ? other : THROW_CCE();
    if (!equals(this.lfe_1, tmp0_other_with_cast.lfe_1))
      return false;
    if (!equals(this.mfe_1, tmp0_other_with_cast.mfe_1))
      return false;
    if (!equals(this.nfe_1, tmp0_other_with_cast.nfe_1))
      return false;
    return true;
  };
  function Companion_27() {
  }
  var Companion_instance_28;
  function Companion_getInstance_30() {
    return Companion_instance_28;
  }
  function $serializer_26() {
    $serializer_instance_26 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.OfflineItemAndState', this, 3);
    tmp0_serialDesc.y4l('offlineItem', true);
    tmp0_serialDesc.y4l('activeDownload', true);
    tmp0_serialDesc.y4l('readyForOffline', true);
    this.wjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_26).v4a = function () {
    return this.wjd_1;
  };
  protoOf($serializer_26).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_87()), get_nullable($serializer_getInstance_35()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_26).x4a = function (decoder) {
    var tmp0_desc = this.wjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = false;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_87(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_35(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.p4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_87(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_35(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.p4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return OfflineItemAndState_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_26).xjd = function (encoder, value) {
    var tmp0_desc = this.wjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.vfi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_87(), value.vfi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.wfi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_35(), value.wfi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.xfi_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 2, value.xfi_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_26).w4a = function (encoder, value) {
    return this.xjd(encoder, value instanceof OfflineItemAndState ? value : THROW_CCE());
  };
  var $serializer_instance_26;
  function $serializer_getInstance_26() {
    if ($serializer_instance_26 == null)
      new $serializer_26();
    return $serializer_instance_26;
  }
  function OfflineItemAndState_init_$Init$(seen1, offlineItem, activeDownload, readyForOffline, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_26().wjd_1);
    }
    if (0 === (seen1 & 1))
      $this.vfi_1 = null;
    else
      $this.vfi_1 = offlineItem;
    if (0 === (seen1 & 2))
      $this.wfi_1 = null;
    else
      $this.wfi_1 = activeDownload;
    if (0 === (seen1 & 4))
      $this.xfi_1 = false;
    else
      $this.xfi_1 = readyForOffline;
    return $this;
  }
  function OfflineItemAndState_init_$Create$(seen1, offlineItem, activeDownload, readyForOffline, serializationConstructorMarker) {
    return OfflineItemAndState_init_$Init$(seen1, offlineItem, activeDownload, readyForOffline, serializationConstructorMarker, objectCreate(protoOf(OfflineItemAndState)));
  }
  function OfflineItemAndState(offlineItem, activeDownload, readyForOffline) {
    offlineItem = offlineItem === VOID ? null : offlineItem;
    activeDownload = activeDownload === VOID ? null : activeDownload;
    readyForOffline = readyForOffline === VOID ? false : readyForOffline;
    this.vfi_1 = offlineItem;
    this.wfi_1 = activeDownload;
    this.xfi_1 = readyForOffline;
  }
  protoOf(OfflineItemAndState).toString = function () {
    return 'OfflineItemAndState(offlineItem=' + this.vfi_1 + ', activeDownload=' + this.wfi_1 + ', readyForOffline=' + this.xfi_1 + ')';
  };
  protoOf(OfflineItemAndState).hashCode = function () {
    var result = this.vfi_1 == null ? 0 : this.vfi_1.hashCode();
    result = imul(result, 31) + (this.wfi_1 == null ? 0 : this.wfi_1.hashCode()) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.xfi_1) | 0;
    return result;
  };
  protoOf(OfflineItemAndState).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof OfflineItemAndState))
      return false;
    var tmp0_other_with_cast = other instanceof OfflineItemAndState ? other : THROW_CCE();
    if (!equals(this.vfi_1, tmp0_other_with_cast.vfi_1))
      return false;
    if (!equals(this.wfi_1, tmp0_other_with_cast.wfi_1))
      return false;
    if (!(this.xfi_1 === tmp0_other_with_cast.xfi_1))
      return false;
    return true;
  };
  function Companion_28() {
  }
  var Companion_instance_29;
  function Companion_getInstance_31() {
    return Companion_instance_29;
  }
  function $serializer_27() {
    $serializer_instance_27 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PermissionPair', this, 2);
    tmp0_serialDesc.y4l('firstPermission', true);
    tmp0_serialDesc.y4l('secondPermission', true);
    this.yjd_1 = tmp0_serialDesc;
  }
  protoOf($serializer_27).v4a = function () {
    return this.yjd_1;
  };
  protoOf($serializer_27).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_27).x4a = function (decoder) {
    var tmp0_desc = this.yjd_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.p4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.p4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.p4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.p4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return PermissionPair_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_27).zjd = function (encoder, value) {
    var tmp0_desc = this.yjd_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.wde_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 0, value.wde_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.xde_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 1, value.xde_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_27).w4a = function (encoder, value) {
    return this.zjd(encoder, value instanceof PermissionPair ? value : THROW_CCE());
  };
  var $serializer_instance_27;
  function $serializer_getInstance_27() {
    if ($serializer_instance_27 == null)
      new $serializer_27();
    return $serializer_instance_27;
  }
  function PermissionPair_init_$Init$(seen1, firstPermission, secondPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_27().yjd_1);
    }
    if (0 === (seen1 & 1))
      $this.wde_1 = false;
    else
      $this.wde_1 = firstPermission;
    if (0 === (seen1 & 2))
      $this.xde_1 = false;
    else
      $this.xde_1 = secondPermission;
    return $this;
  }
  function PermissionPair_init_$Create$(seen1, firstPermission, secondPermission, serializationConstructorMarker) {
    return PermissionPair_init_$Init$(seen1, firstPermission, secondPermission, serializationConstructorMarker, objectCreate(protoOf(PermissionPair)));
  }
  function PermissionPair(firstPermission, secondPermission) {
    firstPermission = firstPermission === VOID ? false : firstPermission;
    secondPermission = secondPermission === VOID ? false : secondPermission;
    this.wde_1 = firstPermission;
    this.xde_1 = secondPermission;
  }
  protoOf(PermissionPair).y6 = function () {
    return this.wde_1;
  };
  protoOf(PermissionPair).z6 = function () {
    return this.xde_1;
  };
  protoOf(PermissionPair).toString = function () {
    return 'PermissionPair(firstPermission=' + this.wde_1 + ', secondPermission=' + this.xde_1 + ')';
  };
  protoOf(PermissionPair).hashCode = function () {
    var result = getBooleanHashCode(this.wde_1);
    result = imul(result, 31) + getBooleanHashCode(this.xde_1) | 0;
    return result;
  };
  protoOf(PermissionPair).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PermissionPair))
      return false;
    var tmp0_other_with_cast = other instanceof PermissionPair ? other : THROW_CCE();
    if (!(this.wde_1 === tmp0_other_with_cast.wde_1))
      return false;
    if (!(this.xde_1 === tmp0_other_with_cast.xde_1))
      return false;
    return true;
  };
  function Companion_29() {
  }
  var Companion_instance_30;
  function Companion_getInstance_32() {
    return Companion_instance_30;
  }
  function $serializer_28() {
    $serializer_instance_28 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PermissionTriple', this, 3);
    tmp0_serialDesc.y4l('firstPermission', true);
    tmp0_serialDesc.y4l('secondPermission', true);
    tmp0_serialDesc.y4l('thirdPermission', true);
    this.aje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_28).v4a = function () {
    return this.aje_1;
  };
  protoOf($serializer_28).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_28).x4a = function (decoder) {
    var tmp0_desc = this.aje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_local2 = false;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.p4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.p4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.p4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.p4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.p4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.p4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return PermissionTriple_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_28).bje = function (encoder, value) {
    var tmp0_desc = this.aje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.mdf_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 0, value.mdf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ndf_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 1, value.ndf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.odf_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 2, value.odf_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_28).w4a = function (encoder, value) {
    return this.bje(encoder, value instanceof PermissionTriple ? value : THROW_CCE());
  };
  var $serializer_instance_28;
  function $serializer_getInstance_28() {
    if ($serializer_instance_28 == null)
      new $serializer_28();
    return $serializer_instance_28;
  }
  function PermissionTriple_init_$Init$(seen1, firstPermission, secondPermission, thirdPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_28().aje_1);
    }
    if (0 === (seen1 & 1))
      $this.mdf_1 = false;
    else
      $this.mdf_1 = firstPermission;
    if (0 === (seen1 & 2))
      $this.ndf_1 = false;
    else
      $this.ndf_1 = secondPermission;
    if (0 === (seen1 & 4))
      $this.odf_1 = false;
    else
      $this.odf_1 = thirdPermission;
    return $this;
  }
  function PermissionTriple_init_$Create$(seen1, firstPermission, secondPermission, thirdPermission, serializationConstructorMarker) {
    return PermissionTriple_init_$Init$(seen1, firstPermission, secondPermission, thirdPermission, serializationConstructorMarker, objectCreate(protoOf(PermissionTriple)));
  }
  function PermissionTriple(firstPermission, secondPermission, thirdPermission) {
    firstPermission = firstPermission === VOID ? false : firstPermission;
    secondPermission = secondPermission === VOID ? false : secondPermission;
    thirdPermission = thirdPermission === VOID ? false : thirdPermission;
    this.mdf_1 = firstPermission;
    this.ndf_1 = secondPermission;
    this.odf_1 = thirdPermission;
  }
  protoOf(PermissionTriple).y6 = function () {
    return this.mdf_1;
  };
  protoOf(PermissionTriple).z6 = function () {
    return this.ndf_1;
  };
  protoOf(PermissionTriple).toString = function () {
    return 'PermissionTriple(firstPermission=' + this.mdf_1 + ', secondPermission=' + this.ndf_1 + ', thirdPermission=' + this.odf_1 + ')';
  };
  protoOf(PermissionTriple).hashCode = function () {
    var result = getBooleanHashCode(this.mdf_1);
    result = imul(result, 31) + getBooleanHashCode(this.ndf_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.odf_1) | 0;
    return result;
  };
  protoOf(PermissionTriple).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PermissionTriple))
      return false;
    var tmp0_other_with_cast = other instanceof PermissionTriple ? other : THROW_CCE();
    if (!(this.mdf_1 === tmp0_other_with_cast.mdf_1))
      return false;
    if (!(this.ndf_1 === tmp0_other_with_cast.ndf_1))
      return false;
    if (!(this.odf_1 === tmp0_other_with_cast.odf_1))
      return false;
    return true;
  };
  function Companion_30() {
  }
  protoOf(Companion_30).s4x = function () {
    return $serializer_getInstance_29();
  };
  var Companion_instance_31;
  function Companion_getInstance_33() {
    return Companion_instance_31;
  }
  function $serializer_29() {
    $serializer_instance_29 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonAndClazzLogAttendanceRecord', this, 3);
    tmp0_serialDesc.y4l('person', true);
    tmp0_serialDesc.y4l('personPicture', true);
    tmp0_serialDesc.y4l('attendanceRecord', true);
    this.cje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_29).v4a = function () {
    return this.cje_1;
  };
  protoOf($serializer_29).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_89()), get_nullable($serializer_getInstance_96()), get_nullable($serializer_getInstance_46())];
  };
  protoOf($serializer_29).x4a = function (decoder) {
    var tmp0_desc = this.cje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_96(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, $serializer_getInstance_46(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, $serializer_getInstance_96(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.b4f(tmp0_desc, 2, $serializer_getInstance_46(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return PersonAndClazzLogAttendanceRecord_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_29).dje = function (encoder, value) {
    var tmp0_desc = this.cje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.g9s_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_89(), value.g9s_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.h9s_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_96(), value.h9s_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.i9s_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_46(), value.i9s_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_29).w4a = function (encoder, value) {
    return this.dje(encoder, value instanceof PersonAndClazzLogAttendanceRecord ? value : THROW_CCE());
  };
  var $serializer_instance_29;
  function $serializer_getInstance_29() {
    if ($serializer_instance_29 == null)
      new $serializer_29();
    return $serializer_instance_29;
  }
  function PersonAndClazzLogAttendanceRecord_init_$Init$(seen1, person, personPicture, attendanceRecord, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_29().cje_1);
    }
    if (0 === (seen1 & 1))
      $this.g9s_1 = null;
    else
      $this.g9s_1 = person;
    if (0 === (seen1 & 2))
      $this.h9s_1 = null;
    else
      $this.h9s_1 = personPicture;
    if (0 === (seen1 & 4))
      $this.i9s_1 = null;
    else
      $this.i9s_1 = attendanceRecord;
    return $this;
  }
  function PersonAndClazzLogAttendanceRecord_init_$Create$(seen1, person, personPicture, attendanceRecord, serializationConstructorMarker) {
    return PersonAndClazzLogAttendanceRecord_init_$Init$(seen1, person, personPicture, attendanceRecord, serializationConstructorMarker, objectCreate(protoOf(PersonAndClazzLogAttendanceRecord)));
  }
  function PersonAndClazzLogAttendanceRecord(person, personPicture, attendanceRecord) {
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    attendanceRecord = attendanceRecord === VOID ? null : attendanceRecord;
    this.g9s_1 = person;
    this.h9s_1 = personPicture;
    this.i9s_1 = attendanceRecord;
  }
  protoOf(PersonAndClazzLogAttendanceRecord).eje = function (person, personPicture, attendanceRecord) {
    return new PersonAndClazzLogAttendanceRecord(person, personPicture, attendanceRecord);
  };
  protoOf(PersonAndClazzLogAttendanceRecord).fje = function (person, personPicture, attendanceRecord, $super) {
    person = person === VOID ? this.g9s_1 : person;
    personPicture = personPicture === VOID ? this.h9s_1 : personPicture;
    attendanceRecord = attendanceRecord === VOID ? this.i9s_1 : attendanceRecord;
    return $super === VOID ? this.eje(person, personPicture, attendanceRecord) : $super.eje.call(this, person, personPicture, attendanceRecord);
  };
  protoOf(PersonAndClazzLogAttendanceRecord).toString = function () {
    return 'PersonAndClazzLogAttendanceRecord(person=' + this.g9s_1 + ', personPicture=' + this.h9s_1 + ', attendanceRecord=' + this.i9s_1 + ')';
  };
  protoOf(PersonAndClazzLogAttendanceRecord).hashCode = function () {
    var result = this.g9s_1 == null ? 0 : this.g9s_1.hashCode();
    result = imul(result, 31) + (this.h9s_1 == null ? 0 : this.h9s_1.hashCode()) | 0;
    result = imul(result, 31) + (this.i9s_1 == null ? 0 : this.i9s_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndClazzLogAttendanceRecord))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndClazzLogAttendanceRecord ? other : THROW_CCE();
    if (!equals(this.g9s_1, tmp0_other_with_cast.g9s_1))
      return false;
    if (!equals(this.h9s_1, tmp0_other_with_cast.h9s_1))
      return false;
    if (!equals(this.i9s_1, tmp0_other_with_cast.i9s_1))
      return false;
    return true;
  };
  function Companion_31() {
  }
  var Companion_instance_32;
  function Companion_getInstance_34() {
    return Companion_instance_32;
  }
  function $serializer_30() {
    $serializer_instance_30 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonAndClazzMemberListDetails', this, 5);
    tmp0_serialDesc.y4l('person', true);
    tmp0_serialDesc.y4l('personPicture', true);
    tmp0_serialDesc.y4l('earliestJoinDate', true);
    tmp0_serialDesc.y4l('latestDateLeft', true);
    tmp0_serialDesc.y4l('enrolmentRole', true);
    this.gje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_30).v4a = function () {
    return this.gje_1;
  };
  protoOf($serializer_30).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_89()), get_nullable($serializer_getInstance_96()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_30).x4a = function (decoder) {
    var tmp0_desc = this.gje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = 0;
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.b4f(tmp0_desc, 1, $serializer_getInstance_96(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.b4f(tmp0_desc, 1, $serializer_getInstance_96(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return PersonAndClazzMemberListDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_30).hje = function (encoder, value) {
    var tmp0_desc = this.gje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.s9b_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_89(), value.s9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.t9b_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_96(), value.t9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.u9b_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.u9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.v9b_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.v9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.w9b_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.w9b_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_30).w4a = function (encoder, value) {
    return this.hje(encoder, value instanceof PersonAndClazzMemberListDetails ? value : THROW_CCE());
  };
  var $serializer_instance_30;
  function $serializer_getInstance_30() {
    if ($serializer_instance_30 == null)
      new $serializer_30();
    return $serializer_instance_30;
  }
  function PersonAndClazzMemberListDetails_init_$Init$(seen1, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_30().gje_1);
    }
    if (0 === (seen1 & 1))
      $this.s9b_1 = null;
    else
      $this.s9b_1 = person;
    if (0 === (seen1 & 2))
      $this.t9b_1 = null;
    else
      $this.t9b_1 = personPicture;
    if (0 === (seen1 & 4))
      $this.u9b_1 = new Long(0, 0);
    else
      $this.u9b_1 = earliestJoinDate;
    if (0 === (seen1 & 8))
      $this.v9b_1 = new Long(0, 0);
    else
      $this.v9b_1 = latestDateLeft;
    if (0 === (seen1 & 16))
      $this.w9b_1 = 0;
    else
      $this.w9b_1 = enrolmentRole;
    return $this;
  }
  function PersonAndClazzMemberListDetails_init_$Create$(seen1, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, serializationConstructorMarker) {
    return PersonAndClazzMemberListDetails_init_$Init$(seen1, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, serializationConstructorMarker, objectCreate(protoOf(PersonAndClazzMemberListDetails)));
  }
  function PersonAndClazzMemberListDetails(person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole) {
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    earliestJoinDate = earliestJoinDate === VOID ? new Long(0, 0) : earliestJoinDate;
    latestDateLeft = latestDateLeft === VOID ? new Long(0, 0) : latestDateLeft;
    enrolmentRole = enrolmentRole === VOID ? 0 : enrolmentRole;
    this.s9b_1 = person;
    this.t9b_1 = personPicture;
    this.u9b_1 = earliestJoinDate;
    this.v9b_1 = latestDateLeft;
    this.w9b_1 = enrolmentRole;
  }
  protoOf(PersonAndClazzMemberListDetails).toString = function () {
    return 'PersonAndClazzMemberListDetails(person=' + this.s9b_1 + ', personPicture=' + this.t9b_1 + ', earliestJoinDate=' + this.u9b_1.toString() + ', latestDateLeft=' + this.v9b_1.toString() + ', enrolmentRole=' + this.w9b_1 + ')';
  };
  protoOf(PersonAndClazzMemberListDetails).hashCode = function () {
    var result = this.s9b_1 == null ? 0 : this.s9b_1.hashCode();
    result = imul(result, 31) + (this.t9b_1 == null ? 0 : this.t9b_1.hashCode()) | 0;
    result = imul(result, 31) + this.u9b_1.hashCode() | 0;
    result = imul(result, 31) + this.v9b_1.hashCode() | 0;
    result = imul(result, 31) + this.w9b_1 | 0;
    return result;
  };
  protoOf(PersonAndClazzMemberListDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndClazzMemberListDetails))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndClazzMemberListDetails ? other : THROW_CCE();
    if (!equals(this.s9b_1, tmp0_other_with_cast.s9b_1))
      return false;
    if (!equals(this.t9b_1, tmp0_other_with_cast.t9b_1))
      return false;
    if (!this.u9b_1.equals(tmp0_other_with_cast.u9b_1))
      return false;
    if (!this.v9b_1.equals(tmp0_other_with_cast.v9b_1))
      return false;
    if (!(this.w9b_1 === tmp0_other_with_cast.w9b_1))
      return false;
    return true;
  };
  function PersonAndListDisplayDetails(person, picture) {
    person = person === VOID ? null : person;
    picture = picture === VOID ? null : picture;
    this.tfv_1 = person;
    this.ufv_1 = picture;
  }
  protoOf(PersonAndListDisplayDetails).toString = function () {
    return 'PersonAndListDisplayDetails(person=' + this.tfv_1 + ', picture=' + this.ufv_1 + ')';
  };
  protoOf(PersonAndListDisplayDetails).hashCode = function () {
    var result = this.tfv_1 == null ? 0 : this.tfv_1.hashCode();
    result = imul(result, 31) + (this.ufv_1 == null ? 0 : this.ufv_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndListDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndListDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndListDisplayDetails ? other : THROW_CCE();
    if (!equals(this.tfv_1, tmp0_other_with_cast.tfv_1))
      return false;
    if (!equals(this.ufv_1, tmp0_other_with_cast.ufv_1))
      return false;
    return true;
  };
  function Companion_32() {
  }
  var Companion_instance_33;
  function Companion_getInstance_35() {
    return Companion_instance_33;
  }
  function $serializer_31() {
    $serializer_instance_31 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonAndPicture', this, 2);
    tmp0_serialDesc.y4l('person', true);
    tmp0_serialDesc.y4l('picture', true);
    this.ije_1 = tmp0_serialDesc;
  }
  protoOf($serializer_31).v4a = function () {
    return this.ije_1;
  };
  protoOf($serializer_31).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_89()), get_nullable($serializer_getInstance_96())];
  };
  protoOf($serializer_31).x4a = function (decoder) {
    var tmp0_desc = this.ije_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_96(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_96(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return PersonAndPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_31).jje = function (encoder, value) {
    var tmp0_desc = this.ije_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.gfv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_89(), value.gfv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.hfv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_96(), value.hfv_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_31).w4a = function (encoder, value) {
    return this.jje(encoder, value instanceof PersonAndPicture ? value : THROW_CCE());
  };
  var $serializer_instance_31;
  function $serializer_getInstance_31() {
    if ($serializer_instance_31 == null)
      new $serializer_31();
    return $serializer_instance_31;
  }
  function PersonAndPicture_init_$Init$(seen1, person, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_31().ije_1);
    }
    if (0 === (seen1 & 1))
      $this.gfv_1 = null;
    else
      $this.gfv_1 = person;
    if (0 === (seen1 & 2))
      $this.hfv_1 = null;
    else
      $this.hfv_1 = picture;
    return $this;
  }
  function PersonAndPicture_init_$Create$(seen1, person, picture, serializationConstructorMarker) {
    return PersonAndPicture_init_$Init$(seen1, person, picture, serializationConstructorMarker, objectCreate(protoOf(PersonAndPicture)));
  }
  function PersonAndPicture(person, picture) {
    person = person === VOID ? null : person;
    picture = picture === VOID ? null : picture;
    this.gfv_1 = person;
    this.hfv_1 = picture;
  }
  protoOf(PersonAndPicture).toString = function () {
    return 'PersonAndPicture(person=' + this.gfv_1 + ', picture=' + this.hfv_1 + ')';
  };
  protoOf(PersonAndPicture).hashCode = function () {
    var result = this.gfv_1 == null ? 0 : this.gfv_1.hashCode();
    result = imul(result, 31) + (this.hfv_1 == null ? 0 : this.hfv_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndPicture))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndPicture ? other : THROW_CCE();
    if (!equals(this.gfv_1, tmp0_other_with_cast.gfv_1))
      return false;
    if (!equals(this.hfv_1, tmp0_other_with_cast.hfv_1))
      return false;
    return true;
  };
  function Companion_33() {
  }
  var Companion_instance_34;
  function Companion_getInstance_36() {
    return Companion_instance_34;
  }
  function $serializer_32() {
    $serializer_instance_32 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonNames', this, 2);
    tmp0_serialDesc.y4l('firstNames', true);
    tmp0_serialDesc.y4l('lastName', true);
    this.kje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_32).v4a = function () {
    return this.kje_1;
  };
  protoOf($serializer_32).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_32).x4a = function (decoder) {
    var tmp0_desc = this.kje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return PersonNames_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_32).lje = function (encoder, value) {
    var tmp0_desc = this.kje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.gfy_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, StringSerializer_getInstance(), value.gfy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.hfy_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.hfy_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_32).w4a = function (encoder, value) {
    return this.lje(encoder, value instanceof PersonNames ? value : THROW_CCE());
  };
  var $serializer_instance_32;
  function $serializer_getInstance_32() {
    if ($serializer_instance_32 == null)
      new $serializer_32();
    return $serializer_instance_32;
  }
  function PersonNames_init_$Init$(seen1, firstNames, lastName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_32().kje_1);
    }
    if (0 === (seen1 & 1))
      $this.gfy_1 = null;
    else
      $this.gfy_1 = firstNames;
    if (0 === (seen1 & 2))
      $this.hfy_1 = null;
    else
      $this.hfy_1 = lastName;
    return $this;
  }
  function PersonNames_init_$Create$(seen1, firstNames, lastName, serializationConstructorMarker) {
    return PersonNames_init_$Init$(seen1, firstNames, lastName, serializationConstructorMarker, objectCreate(protoOf(PersonNames)));
  }
  function PersonNames(firstNames, lastName) {
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    this.gfy_1 = firstNames;
    this.hfy_1 = lastName;
  }
  protoOf(PersonNames).toString = function () {
    var tmp0_elvis_lhs = this.gfy_1;
    var tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    var tmp1_elvis_lhs = this.hfy_1;
    return tmp + ' ' + (tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs);
  };
  protoOf(PersonNames).hashCode = function () {
    var result = this.gfy_1 == null ? 0 : getStringHashCode(this.gfy_1);
    result = imul(result, 31) + (this.hfy_1 == null ? 0 : getStringHashCode(this.hfy_1)) | 0;
    return result;
  };
  protoOf(PersonNames).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonNames))
      return false;
    var tmp0_other_with_cast = other instanceof PersonNames ? other : THROW_CCE();
    if (!(this.gfy_1 == tmp0_other_with_cast.gfy_1))
      return false;
    if (!(this.hfy_1 == tmp0_other_with_cast.hfy_1))
      return false;
    return true;
  };
  function SiteTermsAndLangName(terms, langDisplayName) {
    this.mje_1 = terms;
    this.nje_1 = langDisplayName;
  }
  protoOf(SiteTermsAndLangName).toString = function () {
    return 'SiteTermsAndLangName(terms=' + this.mje_1 + ', langDisplayName=' + this.nje_1 + ')';
  };
  protoOf(SiteTermsAndLangName).hashCode = function () {
    var result = hashCode(this.mje_1);
    result = imul(result, 31) + getStringHashCode(this.nje_1) | 0;
    return result;
  };
  protoOf(SiteTermsAndLangName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SiteTermsAndLangName))
      return false;
    var tmp0_other_with_cast = other instanceof SiteTermsAndLangName ? other : THROW_CCE();
    if (!equals(this.mje_1, tmp0_other_with_cast.mje_1))
      return false;
    if (!(this.nje_1 === tmp0_other_with_cast.nje_1))
      return false;
    return true;
  };
  function Companion_34() {
    Companion_instance_35 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.oje_1 = [null, new ArrayListSerializer($serializer_getInstance_1())];
  }
  var Companion_instance_35;
  function Companion_getInstance_37() {
    if (Companion_instance_35 == null)
      new Companion_34();
    return Companion_instance_35;
  }
  function $serializer_33() {
    $serializer_instance_33 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.StudentAndBlockStatuses', this, 2);
    tmp0_serialDesc.y4l('student', false);
    tmp0_serialDesc.y4l('blockStatuses', false);
    this.pje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_33).v4a = function () {
    return this.pje_1;
  };
  protoOf($serializer_33).p4m = function () {
    var tmp0_cached = Companion_getInstance_37().oje_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_30(), tmp0_cached[1]];
  };
  protoOf($serializer_33).x4a = function (decoder) {
    var tmp0_desc = this.pje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    var tmp7_cached = Companion_getInstance_37().oje_1;
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.z4e(tmp0_desc, 0, $serializer_getInstance_30(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.z4e(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.z4e(tmp0_desc, 0, $serializer_getInstance_30(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.z4e(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return StudentAndBlockStatuses_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_33).qje = function (encoder, value) {
    var tmp0_desc = this.pje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    var tmp2_cached = Companion_getInstance_37().oje_1;
    tmp1_output.d4g(tmp0_desc, 0, $serializer_getInstance_30(), value.rje_1);
    tmp1_output.d4g(tmp0_desc, 1, tmp2_cached[1], value.sje_1);
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_33).w4a = function (encoder, value) {
    return this.qje(encoder, value instanceof StudentAndBlockStatuses ? value : THROW_CCE());
  };
  var $serializer_instance_33;
  function $serializer_getInstance_33() {
    if ($serializer_instance_33 == null)
      new $serializer_33();
    return $serializer_instance_33;
  }
  function StudentAndBlockStatuses_init_$Init$(seen1, student, blockStatuses, serializationConstructorMarker, $this) {
    if (!(3 === (3 & seen1))) {
      throwMissingFieldException(seen1, 3, $serializer_getInstance_33().pje_1);
    }
    $this.rje_1 = student;
    $this.sje_1 = blockStatuses;
    return $this;
  }
  function StudentAndBlockStatuses_init_$Create$(seen1, student, blockStatuses, serializationConstructorMarker) {
    return StudentAndBlockStatuses_init_$Init$(seen1, student, blockStatuses, serializationConstructorMarker, objectCreate(protoOf(StudentAndBlockStatuses)));
  }
  function StudentAndBlockStatuses(student, blockStatuses) {
    Companion_getInstance_37();
    this.rje_1 = student;
    this.sje_1 = blockStatuses;
  }
  protoOf(StudentAndBlockStatuses).toString = function () {
    return 'StudentAndBlockStatuses(student=' + this.rje_1 + ', blockStatuses=' + this.sje_1 + ')';
  };
  protoOf(StudentAndBlockStatuses).hashCode = function () {
    var result = this.rje_1.hashCode();
    result = imul(result, 31) + hashCode(this.sje_1) | 0;
    return result;
  };
  protoOf(StudentAndBlockStatuses).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StudentAndBlockStatuses))
      return false;
    var tmp0_other_with_cast = other instanceof StudentAndBlockStatuses ? other : THROW_CCE();
    if (!this.rje_1.equals(tmp0_other_with_cast.rje_1))
      return false;
    if (!equals(this.sje_1, tmp0_other_with_cast.sje_1))
      return false;
    return true;
  };
  function Companion_35() {
    Companion_instance_36 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.tje_1 = [null, new ArrayListSerializer($serializer_getInstance_12())];
  }
  var Companion_instance_36;
  function Companion_getInstance_38() {
    if (Companion_instance_36 == null)
      new Companion_35();
    return Companion_instance_36;
  }
  function $serializer_34() {
    $serializer_instance_34 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.SubmissionAndFiles', this, 2);
    tmp0_serialDesc.y4l('submission', false);
    tmp0_serialDesc.y4l('files', false);
    this.uje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_34).v4a = function () {
    return this.uje_1;
  };
  protoOf($serializer_34).p4m = function () {
    var tmp0_cached = Companion_getInstance_38().tje_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_65(), tmp0_cached[1]];
  };
  protoOf($serializer_34).x4a = function (decoder) {
    var tmp0_desc = this.uje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    var tmp7_cached = Companion_getInstance_38().tje_1;
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.z4e(tmp0_desc, 0, $serializer_getInstance_65(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.z4e(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.z4e(tmp0_desc, 0, $serializer_getInstance_65(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.z4e(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return SubmissionAndFiles_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_34).vje = function (encoder, value) {
    var tmp0_desc = this.uje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    var tmp2_cached = Companion_getInstance_38().tje_1;
    tmp1_output.d4g(tmp0_desc, 0, $serializer_getInstance_65(), value.wje_1);
    tmp1_output.d4g(tmp0_desc, 1, tmp2_cached[1], value.xje_1);
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_34).w4a = function (encoder, value) {
    return this.vje(encoder, value instanceof SubmissionAndFiles ? value : THROW_CCE());
  };
  var $serializer_instance_34;
  function $serializer_getInstance_34() {
    if ($serializer_instance_34 == null)
      new $serializer_34();
    return $serializer_instance_34;
  }
  function SubmissionAndFiles_init_$Init$(seen1, submission, files, serializationConstructorMarker, $this) {
    if (!(3 === (3 & seen1))) {
      throwMissingFieldException(seen1, 3, $serializer_getInstance_34().uje_1);
    }
    $this.wje_1 = submission;
    $this.xje_1 = files;
    return $this;
  }
  function SubmissionAndFiles_init_$Create$(seen1, submission, files, serializationConstructorMarker) {
    return SubmissionAndFiles_init_$Init$(seen1, submission, files, serializationConstructorMarker, objectCreate(protoOf(SubmissionAndFiles)));
  }
  function SubmissionAndFiles(submission, files) {
    Companion_getInstance_38();
    this.wje_1 = submission;
    this.xje_1 = files;
  }
  function Companion_36() {
  }
  var Companion_instance_37;
  function Companion_getInstance_39() {
    return Companion_instance_37;
  }
  function $serializer_35() {
    $serializer_instance_35 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.TransferJobAndTotals', this, 4);
    tmp0_serialDesc.y4l('transferJob', true);
    tmp0_serialDesc.y4l('totalSize', true);
    tmp0_serialDesc.y4l('transferred', true);
    tmp0_serialDesc.y4l('latestErrorStr', true);
    this.yje_1 = tmp0_serialDesc;
  }
  protoOf($serializer_35).v4a = function () {
    return this.yje_1;
  };
  protoOf($serializer_35).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_106()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_35).x4a = function (decoder) {
    var tmp0_desc = this.yje_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_106(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_106(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return TransferJobAndTotals_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_35).zje = function (encoder, value) {
    var tmp0_desc = this.yje_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.ffj_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_106(), value.ffj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.gfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.gfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.hfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.hfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ifj_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.ifj_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_35).w4a = function (encoder, value) {
    return this.zje(encoder, value instanceof TransferJobAndTotals ? value : THROW_CCE());
  };
  var $serializer_instance_35;
  function $serializer_getInstance_35() {
    if ($serializer_instance_35 == null)
      new $serializer_35();
    return $serializer_instance_35;
  }
  function TransferJobAndTotals_init_$Init$(seen1, transferJob, totalSize, transferred, latestErrorStr, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_35().yje_1);
    }
    if (0 === (seen1 & 1))
      $this.ffj_1 = null;
    else
      $this.ffj_1 = transferJob;
    if (0 === (seen1 & 2))
      $this.gfj_1 = new Long(0, 0);
    else
      $this.gfj_1 = totalSize;
    if (0 === (seen1 & 4))
      $this.hfj_1 = new Long(0, 0);
    else
      $this.hfj_1 = transferred;
    if (0 === (seen1 & 8))
      $this.ifj_1 = null;
    else
      $this.ifj_1 = latestErrorStr;
    return $this;
  }
  function TransferJobAndTotals_init_$Create$(seen1, transferJob, totalSize, transferred, latestErrorStr, serializationConstructorMarker) {
    return TransferJobAndTotals_init_$Init$(seen1, transferJob, totalSize, transferred, latestErrorStr, serializationConstructorMarker, objectCreate(protoOf(TransferJobAndTotals)));
  }
  function TransferJobAndTotals(transferJob, totalSize, transferred, latestErrorStr) {
    transferJob = transferJob === VOID ? null : transferJob;
    totalSize = totalSize === VOID ? new Long(0, 0) : totalSize;
    transferred = transferred === VOID ? new Long(0, 0) : transferred;
    latestErrorStr = latestErrorStr === VOID ? null : latestErrorStr;
    this.ffj_1 = transferJob;
    this.gfj_1 = totalSize;
    this.hfj_1 = transferred;
    this.ifj_1 = latestErrorStr;
  }
  protoOf(TransferJobAndTotals).toString = function () {
    return 'TransferJobAndTotals(transferJob=' + this.ffj_1 + ', totalSize=' + this.gfj_1.toString() + ', transferred=' + this.hfj_1.toString() + ', latestErrorStr=' + this.ifj_1 + ')';
  };
  protoOf(TransferJobAndTotals).hashCode = function () {
    var result = this.ffj_1 == null ? 0 : this.ffj_1.hashCode();
    result = imul(result, 31) + this.gfj_1.hashCode() | 0;
    result = imul(result, 31) + this.hfj_1.hashCode() | 0;
    result = imul(result, 31) + (this.ifj_1 == null ? 0 : getStringHashCode(this.ifj_1)) | 0;
    return result;
  };
  protoOf(TransferJobAndTotals).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJobAndTotals))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJobAndTotals ? other : THROW_CCE();
    if (!equals(this.ffj_1, tmp0_other_with_cast.ffj_1))
      return false;
    if (!this.gfj_1.equals(tmp0_other_with_cast.gfj_1))
      return false;
    if (!this.hfj_1.equals(tmp0_other_with_cast.hfj_1))
      return false;
    if (!(this.ifj_1 == tmp0_other_with_cast.ifj_1))
      return false;
    return true;
  };
  var TransferJobItemStatus_QUEUED_instance;
  var TransferJobItemStatus_IN_PROGRESS_instance;
  var TransferJobItemStatus_COMPLETE_instance;
  var TransferJobItemStatus_FAILED_instance;
  var TransferJobItemStatus_CANCELLED_instance;
  function Companion_37() {
    this.ajf_1 = 1;
    this.bjf_1 = 11;
    this.cjf_1 = 21;
    this.djf_1 = 22;
    this.ejf_1 = 23;
  }
  protoOf(Companion_37).fjf = function (value) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var tmp0_iterator = get_entries().w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'com.ustadmobile.lib.db.composites.Companion.valueOf.<anonymous>' call
        if (element.ijf_1 === value) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    var tmp0_elvis_lhs = tmp$ret$1;
    return tmp0_elvis_lhs == null ? TransferJobItemStatus_QUEUED_getInstance() : tmp0_elvis_lhs;
  };
  var Companion_instance_38;
  function Companion_getInstance_40() {
    return Companion_instance_38;
  }
  function values() {
    return [TransferJobItemStatus_QUEUED_getInstance(), TransferJobItemStatus_IN_PROGRESS_getInstance(), TransferJobItemStatus_COMPLETE_getInstance(), TransferJobItemStatus_FAILED_getInstance(), TransferJobItemStatus_CANCELLED_getInstance()];
  }
  function get_entries() {
    if ($ENTRIES == null)
      $ENTRIES = enumEntries(values());
    return $ENTRIES;
  }
  var TransferJobItemStatus_entriesInitialized;
  function TransferJobItemStatus_initEntries() {
    if (TransferJobItemStatus_entriesInitialized)
      return Unit_instance;
    TransferJobItemStatus_entriesInitialized = true;
    TransferJobItemStatus_QUEUED_instance = new TransferJobItemStatus('QUEUED', 0, 1);
    TransferJobItemStatus_IN_PROGRESS_instance = new TransferJobItemStatus('IN_PROGRESS', 1, 11);
    TransferJobItemStatus_COMPLETE_instance = new TransferJobItemStatus('COMPLETE', 2, 21);
    TransferJobItemStatus_FAILED_instance = new TransferJobItemStatus('FAILED', 3, 22);
    TransferJobItemStatus_CANCELLED_instance = new TransferJobItemStatus('CANCELLED', 4, 23);
  }
  var $ENTRIES;
  function TransferJobItemStatus(name, ordinal, value) {
    Enum.call(this, name, ordinal);
    this.ijf_1 = value;
  }
  function TransferJobItemStatus_QUEUED_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_QUEUED_instance;
  }
  function TransferJobItemStatus_IN_PROGRESS_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_IN_PROGRESS_instance;
  }
  function TransferJobItemStatus_COMPLETE_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_COMPLETE_instance;
  }
  function TransferJobItemStatus_FAILED_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_FAILED_instance;
  }
  function TransferJobItemStatus_CANCELLED_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_CANCELLED_instance;
  }
  function Companion_38() {
  }
  var Companion_instance_39;
  function Companion_getInstance_41() {
    return Companion_instance_39;
  }
  function $serializer_36() {
    $serializer_instance_36 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AssignmentProgressSummary', this, 5);
    tmp0_serialDesc.y4l('submittedStudents', true);
    tmp0_serialDesc.y4l('totalStudents', true);
    tmp0_serialDesc.y4l('markedStudents', true);
    tmp0_serialDesc.y4l('activeUserHasViewLearnerRecordsPermission', true);
    tmp0_serialDesc.y4l('isGroupAssignment', true);
    this.jjf_1 = tmp0_serialDesc;
  }
  protoOf($serializer_36).v4a = function () {
    return this.jjf_1;
  };
  protoOf($serializer_36).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_36).x4a = function (decoder) {
    var tmp0_desc = this.jjf_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = false;
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return AssignmentProgressSummary_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_36).kjf = function (encoder, value) {
    var tmp0_desc = this.jjf_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.t80_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.t80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.u80_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.u80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.v80_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.v80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.w80_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 3, value.w80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.x80_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 4, value.x80_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_36).w4a = function (encoder, value) {
    return this.kjf(encoder, value instanceof AssignmentProgressSummary ? value : THROW_CCE());
  };
  var $serializer_instance_36;
  function $serializer_getInstance_36() {
    if ($serializer_instance_36 == null)
      new $serializer_36();
    return $serializer_instance_36;
  }
  function AssignmentProgressSummary_init_$Init$(seen1, submittedStudents, totalStudents, markedStudents, activeUserHasViewLearnerRecordsPermission, isGroupAssignment, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_36().jjf_1);
    }
    if (0 === (seen1 & 1))
      $this.t80_1 = 0;
    else
      $this.t80_1 = submittedStudents;
    if (0 === (seen1 & 2))
      $this.u80_1 = 0;
    else
      $this.u80_1 = totalStudents;
    if (0 === (seen1 & 4))
      $this.v80_1 = 0;
    else
      $this.v80_1 = markedStudents;
    if (0 === (seen1 & 8))
      $this.w80_1 = false;
    else
      $this.w80_1 = activeUserHasViewLearnerRecordsPermission;
    if (0 === (seen1 & 16))
      $this.x80_1 = false;
    else
      $this.x80_1 = isGroupAssignment;
    return $this;
  }
  function AssignmentProgressSummary_init_$Create$(seen1, submittedStudents, totalStudents, markedStudents, activeUserHasViewLearnerRecordsPermission, isGroupAssignment, serializationConstructorMarker) {
    return AssignmentProgressSummary_init_$Init$(seen1, submittedStudents, totalStudents, markedStudents, activeUserHasViewLearnerRecordsPermission, isGroupAssignment, serializationConstructorMarker, objectCreate(protoOf(AssignmentProgressSummary)));
  }
  function AssignmentProgressSummary() {
    this.t80_1 = 0;
    this.u80_1 = 0;
    this.v80_1 = 0;
    this.w80_1 = false;
    this.x80_1 = false;
  }
  function Companion_39() {
    Companion_instance_40 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.ljf_1 = [null, new ArrayListSerializer($serializer_getInstance_88())];
  }
  protoOf(Companion_39).s4x = function () {
    return $serializer_getInstance_37();
  };
  var Companion_instance_40;
  function Companion_getInstance_42() {
    if (Companion_instance_40 == null)
      new Companion_39();
    return Companion_instance_40;
  }
  function $serializer_37() {
    $serializer_instance_37 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AssignmentSubmitterAndAllocations', this, 2);
    tmp0_serialDesc.y4l('submitter', true);
    tmp0_serialDesc.y4l('allocations', true);
    this.mjf_1 = tmp0_serialDesc;
  }
  protoOf($serializer_37).v4a = function () {
    return this.mjf_1;
  };
  protoOf($serializer_37).p4m = function () {
    var tmp0_cached = Companion_getInstance_42().ljf_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_38(), tmp0_cached[1]];
  };
  protoOf($serializer_37).x4a = function (decoder) {
    var tmp0_desc = this.mjf_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    var tmp7_cached = Companion_getInstance_42().ljf_1;
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.z4e(tmp0_desc, 0, $serializer_getInstance_38(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.z4e(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.z4e(tmp0_desc, 0, $serializer_getInstance_38(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.z4e(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return AssignmentSubmitterAndAllocations_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_37).njf = function (encoder, value) {
    var tmp0_desc = this.mjf_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    var tmp2_cached = Companion_getInstance_42().ljf_1;
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ojf_1.equals(new AssignmentSubmitterSummary())) {
      tmp1_output.d4g(tmp0_desc, 0, $serializer_getInstance_38(), value.ojf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !equals(value.pjf_1, emptyList())) {
      tmp1_output.d4g(tmp0_desc, 1, tmp2_cached[1], value.pjf_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_37).w4a = function (encoder, value) {
    return this.njf(encoder, value instanceof AssignmentSubmitterAndAllocations ? value : THROW_CCE());
  };
  var $serializer_instance_37;
  function $serializer_getInstance_37() {
    if ($serializer_instance_37 == null)
      new $serializer_37();
    return $serializer_instance_37;
  }
  function AssignmentSubmitterAndAllocations_init_$Init$(seen1, submitter, allocations, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_37().mjf_1);
    }
    if (0 === (seen1 & 1))
      $this.ojf_1 = new AssignmentSubmitterSummary();
    else
      $this.ojf_1 = submitter;
    if (0 === (seen1 & 2))
      $this.pjf_1 = emptyList();
    else
      $this.pjf_1 = allocations;
    return $this;
  }
  function AssignmentSubmitterAndAllocations_init_$Create$(seen1, submitter, allocations, serializationConstructorMarker) {
    return AssignmentSubmitterAndAllocations_init_$Init$(seen1, submitter, allocations, serializationConstructorMarker, objectCreate(protoOf(AssignmentSubmitterAndAllocations)));
  }
  function AssignmentSubmitterAndAllocations(submitter, allocations) {
    Companion_getInstance_42();
    submitter = submitter === VOID ? new AssignmentSubmitterSummary() : submitter;
    allocations = allocations === VOID ? emptyList() : allocations;
    this.ojf_1 = submitter;
    this.pjf_1 = allocations;
  }
  protoOf(AssignmentSubmitterAndAllocations).qjf = function (submitter, allocations) {
    return new AssignmentSubmitterAndAllocations(submitter, allocations);
  };
  protoOf(AssignmentSubmitterAndAllocations).rjf = function (submitter, allocations, $super) {
    submitter = submitter === VOID ? this.ojf_1 : submitter;
    allocations = allocations === VOID ? this.pjf_1 : allocations;
    return $super === VOID ? this.qjf(submitter, allocations) : $super.qjf.call(this, submitter, allocations);
  };
  protoOf(AssignmentSubmitterAndAllocations).toString = function () {
    return 'AssignmentSubmitterAndAllocations(submitter=' + this.ojf_1 + ', allocations=' + this.pjf_1 + ')';
  };
  protoOf(AssignmentSubmitterAndAllocations).hashCode = function () {
    var result = this.ojf_1.hashCode();
    result = imul(result, 31) + hashCode(this.pjf_1) | 0;
    return result;
  };
  protoOf(AssignmentSubmitterAndAllocations).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentSubmitterAndAllocations))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentSubmitterAndAllocations ? other : THROW_CCE();
    if (!this.ojf_1.equals(tmp0_other_with_cast.ojf_1))
      return false;
    if (!equals(this.pjf_1, tmp0_other_with_cast.pjf_1))
      return false;
    return true;
  };
  function Companion_40() {
  }
  var Companion_instance_41;
  function Companion_getInstance_43() {
    return Companion_instance_41;
  }
  function $serializer_38() {
    $serializer_instance_38 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AssignmentSubmitterSummary', this, 5);
    tmp0_serialDesc.y4l('submitterUid', true);
    tmp0_serialDesc.y4l('name', true);
    tmp0_serialDesc.y4l('pictureUri', true);
    tmp0_serialDesc.y4l('latestPrivateComment', true);
    tmp0_serialDesc.y4l('fileSubmissionStatus', true);
    this.sjf_1 = tmp0_serialDesc;
  }
  protoOf($serializer_38).v4a = function () {
    return this.sjf_1;
  };
  protoOf($serializer_38).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance()];
  };
  protoOf($serializer_38).x4a = function (decoder) {
    var tmp0_desc = this.sjf_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return AssignmentSubmitterSummary_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_38).tjf = function (encoder, value) {
    var tmp0_desc = this.sjf_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.m81_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.m81_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.n81_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.n81_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.o81_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.o81_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.p81_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.p81_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.q81_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.q81_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_38).w4a = function (encoder, value) {
    return this.tjf(encoder, value instanceof AssignmentSubmitterSummary ? value : THROW_CCE());
  };
  var $serializer_instance_38;
  function $serializer_getInstance_38() {
    if ($serializer_instance_38 == null)
      new $serializer_38();
    return $serializer_instance_38;
  }
  function AssignmentSubmitterSummary_init_$Init$(seen1, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_38().sjf_1);
    }
    if (0 === (seen1 & 1))
      $this.m81_1 = new Long(0, 0);
    else
      $this.m81_1 = submitterUid;
    if (0 === (seen1 & 2))
      $this.n81_1 = null;
    else
      $this.n81_1 = name;
    if (0 === (seen1 & 4))
      $this.o81_1 = null;
    else
      $this.o81_1 = pictureUri;
    if (0 === (seen1 & 8))
      $this.p81_1 = null;
    else
      $this.p81_1 = latestPrivateComment;
    if (0 === (seen1 & 16))
      $this.q81_1 = 0;
    else
      $this.q81_1 = fileSubmissionStatus;
    return $this;
  }
  function AssignmentSubmitterSummary_init_$Create$(seen1, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, serializationConstructorMarker) {
    return AssignmentSubmitterSummary_init_$Init$(seen1, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, serializationConstructorMarker, objectCreate(protoOf(AssignmentSubmitterSummary)));
  }
  function AssignmentSubmitterSummary(submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus) {
    submitterUid = submitterUid === VOID ? new Long(0, 0) : submitterUid;
    name = name === VOID ? null : name;
    pictureUri = pictureUri === VOID ? null : pictureUri;
    latestPrivateComment = latestPrivateComment === VOID ? null : latestPrivateComment;
    fileSubmissionStatus = fileSubmissionStatus === VOID ? 0 : fileSubmissionStatus;
    this.m81_1 = submitterUid;
    this.n81_1 = name;
    this.o81_1 = pictureUri;
    this.p81_1 = latestPrivateComment;
    this.q81_1 = fileSubmissionStatus;
  }
  protoOf(AssignmentSubmitterSummary).toString = function () {
    return 'AssignmentSubmitterSummary(submitterUid=' + this.m81_1.toString() + ', name=' + this.n81_1 + ', pictureUri=' + this.o81_1 + ', latestPrivateComment=' + this.p81_1 + ', fileSubmissionStatus=' + this.q81_1 + ')';
  };
  protoOf(AssignmentSubmitterSummary).hashCode = function () {
    var result = this.m81_1.hashCode();
    result = imul(result, 31) + (this.n81_1 == null ? 0 : getStringHashCode(this.n81_1)) | 0;
    result = imul(result, 31) + (this.o81_1 == null ? 0 : getStringHashCode(this.o81_1)) | 0;
    result = imul(result, 31) + (this.p81_1 == null ? 0 : getStringHashCode(this.p81_1)) | 0;
    result = imul(result, 31) + this.q81_1 | 0;
    return result;
  };
  protoOf(AssignmentSubmitterSummary).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentSubmitterSummary))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentSubmitterSummary ? other : THROW_CCE();
    if (!this.m81_1.equals(tmp0_other_with_cast.m81_1))
      return false;
    if (!(this.n81_1 == tmp0_other_with_cast.n81_1))
      return false;
    if (!(this.o81_1 == tmp0_other_with_cast.o81_1))
      return false;
    if (!(this.p81_1 == tmp0_other_with_cast.p81_1))
      return false;
    if (!(this.q81_1 === tmp0_other_with_cast.q81_1))
      return false;
    return true;
  };
  function Companion_41() {
  }
  var Companion_instance_42;
  function Companion_getInstance_44() {
    return Companion_instance_42;
  }
  function $serializer_39() {
    $serializer_instance_39 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AverageCourseAssignmentMark', this, 2);
    tmp0_serialDesc.y4l('averageScore', true);
    tmp0_serialDesc.y4l('averagePenalty', true);
    this.ujf_1 = tmp0_serialDesc;
  }
  protoOf($serializer_39).v4a = function () {
    return this.ujf_1;
  };
  protoOf($serializer_39).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [FloatSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_39).x4a = function (decoder) {
    var tmp0_desc = this.ujf_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0.0;
    var tmp5_local1 = 0;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.u4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.u4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return AverageCourseAssignmentMark_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_39).vjf = function (encoder, value) {
    var tmp0_desc = this.ujf_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !equals(value.wjf_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 0, value.wjf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.xjf_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.xjf_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_39).w4a = function (encoder, value) {
    return this.vjf(encoder, value instanceof AverageCourseAssignmentMark ? value : THROW_CCE());
  };
  var $serializer_instance_39;
  function $serializer_getInstance_39() {
    if ($serializer_instance_39 == null)
      new $serializer_39();
    return $serializer_instance_39;
  }
  function AverageCourseAssignmentMark_init_$Init$(seen1, averageScore, averagePenalty, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_39().ujf_1);
    }
    if (0 === (seen1 & 1))
      $this.wjf_1 = 0.0;
    else
      $this.wjf_1 = averageScore;
    if (0 === (seen1 & 2))
      $this.xjf_1 = 0;
    else
      $this.xjf_1 = averagePenalty;
    return $this;
  }
  function AverageCourseAssignmentMark_init_$Create$(seen1, averageScore, averagePenalty, serializationConstructorMarker) {
    return AverageCourseAssignmentMark_init_$Init$(seen1, averageScore, averagePenalty, serializationConstructorMarker, objectCreate(protoOf(AverageCourseAssignmentMark)));
  }
  function AverageCourseAssignmentMark() {
    this.wjf_1 = 0.0;
    this.xjf_1 = 0;
  }
  protoOf(AverageCourseAssignmentMark).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AverageCourseAssignmentMark))
      return false;
    if (!(this.wjf_1 === other.wjf_1))
      return false;
    if (!(this.xjf_1 === other.xjf_1))
      return false;
    return true;
  };
  protoOf(AverageCourseAssignmentMark).hashCode = function () {
    var result = getNumberHashCode(this.wjf_1);
    result = imul(31, result) + this.xjf_1 | 0;
    return result;
  };
  function Companion_42() {
    this.yjf_1 = 1;
    this.zjf_1 = 2;
    this.ajg_1 = 3;
    this.bjg_1 = 4;
    this.cjg_1 = 1;
    this.djg_1 = 2;
  }
  var Companion_instance_43;
  function Companion_getInstance_45() {
    return Companion_instance_43;
  }
  function CacheLockJoin() {
  }
  function Companion_43() {
    Companion_instance_44 = this;
    this.x95_1 = 6;
    this.y95_1 = new Long(1, 0);
    this.z95_1 = new Long(4, 0);
    this.a96_1 = new Long(8, 0);
    this.b96_1 = 6;
    this.c96_1 = 100;
    this.d96_1 = 102;
  }
  protoOf(Companion_43).s4x = function () {
    return $serializer_getInstance_40();
  };
  var Companion_instance_44;
  function Companion_getInstance_46() {
    if (Companion_instance_44 == null)
      new Companion_43();
    return Companion_instance_44;
  }
  function $serializer_40() {
    $serializer_instance_40 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Clazz', this, 25);
    tmp0_serialDesc.y4l('clazzUid', true);
    tmp0_serialDesc.y4l('clazzName', true);
    tmp0_serialDesc.y4l('clazzDesc', true);
    tmp0_serialDesc.y4l('attendanceAverage', true);
    tmp0_serialDesc.y4l('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.y4l('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.y4l('isClazzActive', true);
    tmp0_serialDesc.y4l('clazzLocationUid', true);
    tmp0_serialDesc.y4l('clazzStartTime', true);
    tmp0_serialDesc.y4l('clazzEndTime', true);
    tmp0_serialDesc.y4l('clazzFeatures', true);
    tmp0_serialDesc.y4l('clazzSchoolUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.y4l('clazzTerminologyUid', true);
    tmp0_serialDesc.y4l('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLastChangedBy', true);
    tmp0_serialDesc.y4l('clazzLct', true);
    tmp0_serialDesc.y4l('clazzTimeZone', true);
    tmp0_serialDesc.y4l('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzCode', true);
    tmp0_serialDesc.y4l('clazzOwnerPersonUid', true);
    this.ejg_1 = tmp0_serialDesc;
  }
  protoOf($serializer_40).v4a = function () {
    return this.ejg_1;
  };
  protoOf($serializer_40).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_40).x4a = function (decoder) {
    var tmp0_desc = this.ejg_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = 0.0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = new Long(0, 0);
    var tmp27_local23 = null;
    var tmp28_local24 = new Long(0, 0);
    var tmp29_input = decoder.n4e(tmp0_desc);
    if (tmp29_input.c4f()) {
      tmp4_local0 = tmp29_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp29_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp29_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp29_input.u4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp29_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp29_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp29_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp29_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp29_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp29_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp29_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp29_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp29_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp29_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp29_input.t4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp29_input.t4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp29_input.s4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp29_input.t4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp29_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp29_input.t4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp29_input.t4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp29_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp29_input.t4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp29_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp29_input.t4e(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp29_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp29_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp29_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp29_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp29_input.u4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp29_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp29_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp29_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp29_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp29_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp29_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp29_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp29_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp29_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp29_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp29_input.t4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp29_input.t4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp29_input.s4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp29_input.t4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp29_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp29_input.t4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp29_input.t4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp29_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp29_input.t4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp29_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp29_input.t4e(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp29_input.o4e(tmp0_desc);
    return Clazz_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, null);
  };
  protoOf($serializer_40).fjg = function (encoder, value) {
    var tmp0_desc = this.ejg_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.m8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.m8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.n8j_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.n8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.o8j_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.o8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !equals(value.p8j_1, -1.0)) {
      tmp1_output.y4f(tmp0_desc, 3, value.p8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.q8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.q8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.r8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.r8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.s8j_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.s8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.t8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.t8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.u8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.u8j_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 9)) {
      tmp = true;
    } else {
      var tmp_0 = value.v8j_1;
      Companion_getInstance();
      tmp = !tmp_0.equals(new Long(-1, 2147483647));
    }
    if (tmp) {
      tmp1_output.x4f(tmp0_desc, 9, value.v8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.w8j_1.equals(new Long(1, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.w8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.x8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.x8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.y8j_1 === 102)) {
      tmp1_output.w4f(tmp0_desc, 12, value.y8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.z8j_1.equals(new Long(25966, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.z8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !value.a8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 14, value.a8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !value.b8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 15, value.b8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.c8k_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 16, value.c8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !value.d8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 17, value.d8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.e8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 18, StringSerializer_getInstance(), value.e8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !value.f8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 19, value.f8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !value.g8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 20, value.g8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.h8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.h8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !value.i8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 22, value.i8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !(value.j8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 23, StringSerializer_getInstance(), value.j8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 24) ? true : !value.k8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 24, value.k8k_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_40).w4a = function (encoder, value) {
    return this.fjg(encoder, value instanceof Clazz ? value : THROW_CCE());
  };
  var $serializer_instance_40;
  function $serializer_getInstance_40() {
    if ($serializer_instance_40 == null)
      new $serializer_40();
    return $serializer_instance_40;
  }
  function Clazz_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_40().ejg_1);
    }
    if (0 === (seen1 & 1))
      $this.m8j_1 = new Long(0, 0);
    else
      $this.m8j_1 = clazzUid;
    if (0 === (seen1 & 2))
      $this.n8j_1 = null;
    else
      $this.n8j_1 = clazzName;
    if (0 === (seen1 & 4))
      $this.o8j_1 = null;
    else
      $this.o8j_1 = clazzDesc;
    if (0 === (seen1 & 8))
      $this.p8j_1 = -1.0;
    else
      $this.p8j_1 = attendanceAverage;
    if (0 === (seen1 & 16))
      $this.q8j_1 = new Long(0, 0);
    else
      $this.q8j_1 = clazzHolidayUMCalendarUid;
    if (0 === (seen1 & 32))
      $this.r8j_1 = new Long(0, 0);
    else
      $this.r8j_1 = clazzScheuleUMCalendarUid;
    if (0 === (seen1 & 64))
      $this.s8j_1 = false;
    else
      $this.s8j_1 = isClazzActive;
    if (0 === (seen1 & 128))
      $this.t8j_1 = new Long(0, 0);
    else
      $this.t8j_1 = clazzLocationUid;
    if (0 === (seen1 & 256))
      $this.u8j_1 = new Long(0, 0);
    else
      $this.u8j_1 = clazzStartTime;
    if (0 === (seen1 & 512)) {
      var tmp = $this;
      Companion_getInstance();
      tmp.v8j_1 = new Long(-1, 2147483647);
    } else
      $this.v8j_1 = clazzEndTime;
    if (0 === (seen1 & 1024))
      $this.w8j_1 = new Long(1, 0);
    else
      $this.w8j_1 = clazzFeatures;
    if (0 === (seen1 & 2048))
      $this.x8j_1 = new Long(0, 0);
    else
      $this.x8j_1 = clazzSchoolUid;
    if (0 === (seen1 & 4096))
      $this.y8j_1 = 102;
    else
      $this.y8j_1 = clazzEnrolmentPolicy;
    if (0 === (seen1 & 8192))
      $this.z8j_1 = new Long(25966, 0);
    else
      $this.z8j_1 = clazzTerminologyUid;
    if (0 === (seen1 & 16384))
      $this.a8k_1 = new Long(0, 0);
    else
      $this.a8k_1 = clazzMasterChangeSeqNum;
    if (0 === (seen1 & 32768))
      $this.b8k_1 = new Long(0, 0);
    else
      $this.b8k_1 = clazzLocalChangeSeqNum;
    if (0 === (seen1 & 65536))
      $this.c8k_1 = 0;
    else
      $this.c8k_1 = clazzLastChangedBy;
    if (0 === (seen1 & 131072))
      $this.d8k_1 = new Long(0, 0);
    else
      $this.d8k_1 = clazzLct;
    if (0 === (seen1 & 262144))
      $this.e8k_1 = null;
    else
      $this.e8k_1 = clazzTimeZone;
    if (0 === (seen1 & 524288))
      $this.f8k_1 = new Long(0, 0);
    else
      $this.f8k_1 = clazzStudentsPersonGroupUid;
    if (0 === (seen1 & 1048576))
      $this.g8k_1 = new Long(0, 0);
    else
      $this.g8k_1 = clazzTeachersPersonGroupUid;
    if (0 === (seen1 & 2097152))
      $this.h8k_1 = new Long(0, 0);
    else
      $this.h8k_1 = clazzPendingStudentsPersonGroupUid;
    if (0 === (seen1 & 4194304))
      $this.i8k_1 = new Long(0, 0);
    else
      $this.i8k_1 = clazzParentsPersonGroupUid;
    if (0 === (seen1 & 8388608))
      $this.j8k_1 = null;
    else
      $this.j8k_1 = clazzCode;
    if (0 === (seen1 & 16777216))
      $this.k8k_1 = new Long(0, 0);
    else
      $this.k8k_1 = clazzOwnerPersonUid;
    return $this;
  }
  function Clazz_init_$Create$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker) {
    return Clazz_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, objectCreate(protoOf(Clazz)));
  }
  function Clazz() {
    Companion_getInstance_46();
    this.m8j_1 = new Long(0, 0);
    this.n8j_1 = null;
    this.o8j_1 = null;
    this.p8j_1 = -1.0;
    this.q8j_1 = new Long(0, 0);
    this.r8j_1 = new Long(0, 0);
    this.s8j_1 = false;
    this.t8j_1 = new Long(0, 0);
    this.u8j_1 = new Long(0, 0);
    var tmp = this;
    Companion_getInstance();
    tmp.v8j_1 = new Long(-1, 2147483647);
    this.w8j_1 = new Long(1, 0);
    this.x8j_1 = new Long(0, 0);
    this.y8j_1 = 102;
    this.z8j_1 = new Long(25966, 0);
    this.a8k_1 = new Long(0, 0);
    this.b8k_1 = new Long(0, 0);
    this.c8k_1 = 0;
    this.d8k_1 = new Long(0, 0);
    this.e8k_1 = null;
    this.f8k_1 = new Long(0, 0);
    this.g8k_1 = new Long(0, 0);
    this.h8k_1 = new Long(0, 0);
    this.i8k_1 = new Long(0, 0);
    this.j8k_1 = null;
    this.k8k_1 = new Long(0, 0);
  }
  protoOf(Clazz).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Clazz))
      return false;
    if (!this.m8j_1.equals(other.m8j_1))
      return false;
    if (!(this.n8j_1 == other.n8j_1))
      return false;
    if (!(this.o8j_1 == other.o8j_1))
      return false;
    if (!(this.p8j_1 === other.p8j_1))
      return false;
    if (!this.q8j_1.equals(other.q8j_1))
      return false;
    if (!this.r8j_1.equals(other.r8j_1))
      return false;
    if (!(this.s8j_1 === other.s8j_1))
      return false;
    if (!this.t8j_1.equals(other.t8j_1))
      return false;
    if (!this.u8j_1.equals(other.u8j_1))
      return false;
    if (!this.v8j_1.equals(other.v8j_1))
      return false;
    if (!this.w8j_1.equals(other.w8j_1))
      return false;
    if (!this.x8j_1.equals(other.x8j_1))
      return false;
    if (!(this.y8j_1 === other.y8j_1))
      return false;
    if (!this.z8j_1.equals(other.z8j_1))
      return false;
    if (!this.a8k_1.equals(other.a8k_1))
      return false;
    if (!this.b8k_1.equals(other.b8k_1))
      return false;
    if (!(this.c8k_1 === other.c8k_1))
      return false;
    if (!this.d8k_1.equals(other.d8k_1))
      return false;
    if (!(this.e8k_1 == other.e8k_1))
      return false;
    if (!this.f8k_1.equals(other.f8k_1))
      return false;
    if (!this.g8k_1.equals(other.g8k_1))
      return false;
    if (!this.h8k_1.equals(other.h8k_1))
      return false;
    if (!this.i8k_1.equals(other.i8k_1))
      return false;
    if (!(this.j8k_1 == other.j8k_1))
      return false;
    return true;
  };
  protoOf(Clazz).hashCode = function () {
    var result = this.m8j_1.hashCode();
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.n8j_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.o8j_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    result = imul(31, result) + getNumberHashCode(this.p8j_1) | 0;
    result = imul(31, result) + this.q8j_1.hashCode() | 0;
    result = imul(31, result) + this.r8j_1.hashCode() | 0;
    result = imul(31, result) + getBooleanHashCode(this.s8j_1) | 0;
    result = imul(31, result) + this.t8j_1.hashCode() | 0;
    result = imul(31, result) + this.u8j_1.hashCode() | 0;
    result = imul(31, result) + this.v8j_1.hashCode() | 0;
    result = imul(31, result) + this.w8j_1.hashCode() | 0;
    result = imul(31, result) + this.x8j_1.hashCode() | 0;
    result = imul(31, result) + this.y8j_1 | 0;
    result = imul(31, result) + this.z8j_1.hashCode() | 0;
    result = imul(31, result) + this.a8k_1.hashCode() | 0;
    result = imul(31, result) + this.b8k_1.hashCode() | 0;
    result = imul(31, result) + this.c8k_1 | 0;
    result = imul(31, result) + this.d8k_1.hashCode() | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.e8k_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    result = imul(31, result) + this.f8k_1.hashCode() | 0;
    result = imul(31, result) + this.g8k_1.hashCode() | 0;
    result = imul(31, result) + this.h8k_1.hashCode() | 0;
    result = imul(31, result) + this.i8k_1.hashCode() | 0;
    var tmp_2 = imul(31, result);
    var tmp6_safe_receiver = this.j8k_1;
    var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : getStringHashCode(tmp6_safe_receiver);
    result = tmp_2 + (tmp7_elvis_lhs == null ? 0 : tmp7_elvis_lhs) | 0;
    return result;
  };
  function Companion_44() {
    this.gjg_1 = 520;
    this.hjg_1 = 1;
    this.ijg_1 = 2;
    this.jjg_1 = 1;
    this.kjg_1 = 2;
    this.ljg_1 = 0;
    this.mjg_1 = 1;
    this.njg_1 = 2;
    this.ojg_1 = 3;
    this.pjg_1 = 4;
    this.qjg_1 = 1;
    this.rjg_1 = 2;
    this.sjg_1 = 100;
    this.tjg_1 = 102;
  }
  var Companion_instance_45;
  function Companion_getInstance_47() {
    return Companion_instance_45;
  }
  function $serializer_41() {
    $serializer_instance_41 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzAssignment', this, 24);
    tmp0_serialDesc.y4l('caUid', true);
    tmp0_serialDesc.y4l('caTitle', true);
    tmp0_serialDesc.y4l('caDescription', true);
    tmp0_serialDesc.y4l('caGroupUid', true);
    tmp0_serialDesc.y4l('caActive', true);
    tmp0_serialDesc.y4l('caClassCommentEnabled', true);
    tmp0_serialDesc.y4l('caPrivateCommentsEnabled', true);
    tmp0_serialDesc.y4l('caCompletionCriteria', true);
    tmp0_serialDesc.y4l('caRequireFileSubmission', true);
    tmp0_serialDesc.y4l('caFileType', true);
    tmp0_serialDesc.y4l('caSizeLimit', true);
    tmp0_serialDesc.y4l('caNumberOfFiles', true);
    tmp0_serialDesc.y4l('caSubmissionPolicy', true);
    tmp0_serialDesc.y4l('caMarkingType', true);
    tmp0_serialDesc.y4l('caRequireTextSubmission', true);
    tmp0_serialDesc.y4l('caTextLimitType', true);
    tmp0_serialDesc.y4l('caTextLimit', true);
    tmp0_serialDesc.y4l('caXObjectUid', true);
    tmp0_serialDesc.y4l('caClazzUid', true);
    tmp0_serialDesc.y4l('caPeerReviewerCount', true);
    tmp0_serialDesc.y4l('caLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('caMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('caLastChangedBy', true);
    tmp0_serialDesc.y4l('caLct', true);
    this.ujg_1 = tmp0_serialDesc;
  }
  protoOf($serializer_41).v4a = function () {
    return this.ujg_1;
  };
  protoOf($serializer_41).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_41).x4a = function (decoder) {
    var tmp0_desc = this.ujg_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = false;
    var tmp10_local6 = false;
    var tmp11_local7 = 0;
    var tmp12_local8 = false;
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = 0;
    var tmp16_local12 = 0;
    var tmp17_local13 = 0;
    var tmp18_local14 = false;
    var tmp19_local15 = 0;
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = new Long(0, 0);
    var tmp23_local19 = 0;
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_input = decoder.n4e(tmp0_desc);
    if (tmp28_input.c4f()) {
      tmp4_local0 = tmp28_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp28_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp28_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp28_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp28_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp28_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp28_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp28_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp28_input.p4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp28_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp28_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp28_input.s4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp28_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp28_input.s4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp28_input.p4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp28_input.s4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp28_input.s4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp28_input.t4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp28_input.t4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp28_input.s4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp28_input.t4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp28_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp28_input.s4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp28_input.t4e(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp28_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp28_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp28_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp28_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp28_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp28_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp28_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp28_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp28_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp28_input.p4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp28_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp28_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp28_input.s4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp28_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp28_input.s4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp28_input.p4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp28_input.s4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp28_input.s4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp28_input.t4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp28_input.t4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp28_input.s4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp28_input.t4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp28_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp28_input.s4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp28_input.t4e(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp28_input.o4e(tmp0_desc);
    return ClazzAssignment_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, null);
  };
  protoOf($serializer_41).vjg = function (encoder, value) {
    var tmp0_desc = this.ujg_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.i7z_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.i7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.j7z_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.j7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.k7z_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.k7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.l7z_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.l7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.m7z_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 4, value.m7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.n7z_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 5, value.n7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.o7z_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 6, value.o7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.p7z_1 === 100)) {
      tmp1_output.w4f(tmp0_desc, 7, value.p7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.q7z_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 8, value.q7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.r7z_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.r7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.s7z_1 === 50)) {
      tmp1_output.w4f(tmp0_desc, 10, value.s7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.t7z_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 11, value.t7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.u7z_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 12, value.u7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.v7z_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 13, value.v7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.w7z_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 14, value.w7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.x7z_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 15, value.x7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.y7z_1 === 500)) {
      tmp1_output.w4f(tmp0_desc, 16, value.y7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !value.z7z_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 17, value.z7z_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !value.a80_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 18, value.a80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.b80_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 19, value.b80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !value.c80_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 20, value.c80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.d80_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.d80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.e80_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 22, value.e80_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !value.f80_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 23, value.f80_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_41).w4a = function (encoder, value) {
    return this.vjg(encoder, value instanceof ClazzAssignment ? value : THROW_CCE());
  };
  var $serializer_instance_41;
  function $serializer_getInstance_41() {
    if ($serializer_instance_41 == null)
      new $serializer_41();
    return $serializer_instance_41;
  }
  function ClazzAssignment_init_$Init$(seen1, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_41().ujg_1);
    }
    if (0 === (seen1 & 1))
      $this.i7z_1 = new Long(0, 0);
    else
      $this.i7z_1 = caUid;
    if (0 === (seen1 & 2))
      $this.j7z_1 = null;
    else
      $this.j7z_1 = caTitle;
    if (0 === (seen1 & 4))
      $this.k7z_1 = null;
    else
      $this.k7z_1 = caDescription;
    if (0 === (seen1 & 8))
      $this.l7z_1 = new Long(0, 0);
    else
      $this.l7z_1 = caGroupUid;
    if (0 === (seen1 & 16))
      $this.m7z_1 = true;
    else
      $this.m7z_1 = caActive;
    if (0 === (seen1 & 32))
      $this.n7z_1 = true;
    else
      $this.n7z_1 = caClassCommentEnabled;
    if (0 === (seen1 & 64))
      $this.o7z_1 = true;
    else
      $this.o7z_1 = caPrivateCommentsEnabled;
    if (0 === (seen1 & 128))
      $this.p7z_1 = 100;
    else
      $this.p7z_1 = caCompletionCriteria;
    if (0 === (seen1 & 256))
      $this.q7z_1 = true;
    else
      $this.q7z_1 = caRequireFileSubmission;
    if (0 === (seen1 & 512))
      $this.r7z_1 = 0;
    else
      $this.r7z_1 = caFileType;
    if (0 === (seen1 & 1024))
      $this.s7z_1 = 50;
    else
      $this.s7z_1 = caSizeLimit;
    if (0 === (seen1 & 2048))
      $this.t7z_1 = 1;
    else
      $this.t7z_1 = caNumberOfFiles;
    if (0 === (seen1 & 4096))
      $this.u7z_1 = 1;
    else
      $this.u7z_1 = caSubmissionPolicy;
    if (0 === (seen1 & 8192))
      $this.v7z_1 = 1;
    else
      $this.v7z_1 = caMarkingType;
    if (0 === (seen1 & 16384))
      $this.w7z_1 = true;
    else
      $this.w7z_1 = caRequireTextSubmission;
    if (0 === (seen1 & 32768))
      $this.x7z_1 = 1;
    else
      $this.x7z_1 = caTextLimitType;
    if (0 === (seen1 & 65536))
      $this.y7z_1 = 500;
    else
      $this.y7z_1 = caTextLimit;
    if (0 === (seen1 & 131072))
      $this.z7z_1 = new Long(0, 0);
    else
      $this.z7z_1 = caXObjectUid;
    if (0 === (seen1 & 262144))
      $this.a80_1 = new Long(0, 0);
    else
      $this.a80_1 = caClazzUid;
    if (0 === (seen1 & 524288))
      $this.b80_1 = 0;
    else
      $this.b80_1 = caPeerReviewerCount;
    if (0 === (seen1 & 1048576))
      $this.c80_1 = new Long(0, 0);
    else
      $this.c80_1 = caLocalChangeSeqNum;
    if (0 === (seen1 & 2097152))
      $this.d80_1 = new Long(0, 0);
    else
      $this.d80_1 = caMasterChangeSeqNum;
    if (0 === (seen1 & 4194304))
      $this.e80_1 = 0;
    else
      $this.e80_1 = caLastChangedBy;
    if (0 === (seen1 & 8388608))
      $this.f80_1 = new Long(0, 0);
    else
      $this.f80_1 = caLct;
    return $this;
  }
  function ClazzAssignment_init_$Create$(seen1, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, serializationConstructorMarker) {
    return ClazzAssignment_init_$Init$(seen1, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, serializationConstructorMarker, objectCreate(protoOf(ClazzAssignment)));
  }
  function ClazzAssignment(caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) {
    caUid = caUid === VOID ? new Long(0, 0) : caUid;
    caTitle = caTitle === VOID ? null : caTitle;
    caDescription = caDescription === VOID ? null : caDescription;
    caGroupUid = caGroupUid === VOID ? new Long(0, 0) : caGroupUid;
    caActive = caActive === VOID ? true : caActive;
    caClassCommentEnabled = caClassCommentEnabled === VOID ? true : caClassCommentEnabled;
    caPrivateCommentsEnabled = caPrivateCommentsEnabled === VOID ? true : caPrivateCommentsEnabled;
    caCompletionCriteria = caCompletionCriteria === VOID ? 100 : caCompletionCriteria;
    caRequireFileSubmission = caRequireFileSubmission === VOID ? true : caRequireFileSubmission;
    caFileType = caFileType === VOID ? 0 : caFileType;
    caSizeLimit = caSizeLimit === VOID ? 50 : caSizeLimit;
    caNumberOfFiles = caNumberOfFiles === VOID ? 1 : caNumberOfFiles;
    caSubmissionPolicy = caSubmissionPolicy === VOID ? 1 : caSubmissionPolicy;
    caMarkingType = caMarkingType === VOID ? 1 : caMarkingType;
    caRequireTextSubmission = caRequireTextSubmission === VOID ? true : caRequireTextSubmission;
    caTextLimitType = caTextLimitType === VOID ? 1 : caTextLimitType;
    caTextLimit = caTextLimit === VOID ? 500 : caTextLimit;
    caXObjectUid = caXObjectUid === VOID ? new Long(0, 0) : caXObjectUid;
    caClazzUid = caClazzUid === VOID ? new Long(0, 0) : caClazzUid;
    caPeerReviewerCount = caPeerReviewerCount === VOID ? 0 : caPeerReviewerCount;
    caLocalChangeSeqNum = caLocalChangeSeqNum === VOID ? new Long(0, 0) : caLocalChangeSeqNum;
    caMasterChangeSeqNum = caMasterChangeSeqNum === VOID ? new Long(0, 0) : caMasterChangeSeqNum;
    caLastChangedBy = caLastChangedBy === VOID ? 0 : caLastChangedBy;
    caLct = caLct === VOID ? new Long(0, 0) : caLct;
    this.i7z_1 = caUid;
    this.j7z_1 = caTitle;
    this.k7z_1 = caDescription;
    this.l7z_1 = caGroupUid;
    this.m7z_1 = caActive;
    this.n7z_1 = caClassCommentEnabled;
    this.o7z_1 = caPrivateCommentsEnabled;
    this.p7z_1 = caCompletionCriteria;
    this.q7z_1 = caRequireFileSubmission;
    this.r7z_1 = caFileType;
    this.s7z_1 = caSizeLimit;
    this.t7z_1 = caNumberOfFiles;
    this.u7z_1 = caSubmissionPolicy;
    this.v7z_1 = caMarkingType;
    this.w7z_1 = caRequireTextSubmission;
    this.x7z_1 = caTextLimitType;
    this.y7z_1 = caTextLimit;
    this.z7z_1 = caXObjectUid;
    this.a80_1 = caClazzUid;
    this.b80_1 = caPeerReviewerCount;
    this.c80_1 = caLocalChangeSeqNum;
    this.d80_1 = caMasterChangeSeqNum;
    this.e80_1 = caLastChangedBy;
    this.f80_1 = caLct;
  }
  protoOf(ClazzAssignment).toString = function () {
    return 'ClazzAssignment(caUid=' + this.i7z_1.toString() + ', caTitle=' + this.j7z_1 + ', caDescription=' + this.k7z_1 + ', caGroupUid=' + this.l7z_1.toString() + ', caActive=' + this.m7z_1 + ', caClassCommentEnabled=' + this.n7z_1 + ', caPrivateCommentsEnabled=' + this.o7z_1 + ', caCompletionCriteria=' + this.p7z_1 + ', caRequireFileSubmission=' + this.q7z_1 + ', caFileType=' + this.r7z_1 + ', caSizeLimit=' + this.s7z_1 + ', caNumberOfFiles=' + this.t7z_1 + ', caSubmissionPolicy=' + this.u7z_1 + ', caMarkingType=' + this.v7z_1 + ', caRequireTextSubmission=' + this.w7z_1 + ', caTextLimitType=' + this.x7z_1 + ', caTextLimit=' + this.y7z_1 + ', caXObjectUid=' + this.z7z_1.toString() + ', caClazzUid=' + this.a80_1.toString() + ', caPeerReviewerCount=' + this.b80_1 + ', caLocalChangeSeqNum=' + this.c80_1.toString() + ', caMasterChangeSeqNum=' + this.d80_1.toString() + ', caLastChangedBy=' + this.e80_1 + ', caLct=' + this.f80_1.toString() + ')';
  };
  protoOf(ClazzAssignment).hashCode = function () {
    var result = this.i7z_1.hashCode();
    result = imul(result, 31) + (this.j7z_1 == null ? 0 : getStringHashCode(this.j7z_1)) | 0;
    result = imul(result, 31) + (this.k7z_1 == null ? 0 : getStringHashCode(this.k7z_1)) | 0;
    result = imul(result, 31) + this.l7z_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.m7z_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.n7z_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.o7z_1) | 0;
    result = imul(result, 31) + this.p7z_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.q7z_1) | 0;
    result = imul(result, 31) + this.r7z_1 | 0;
    result = imul(result, 31) + this.s7z_1 | 0;
    result = imul(result, 31) + this.t7z_1 | 0;
    result = imul(result, 31) + this.u7z_1 | 0;
    result = imul(result, 31) + this.v7z_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.w7z_1) | 0;
    result = imul(result, 31) + this.x7z_1 | 0;
    result = imul(result, 31) + this.y7z_1 | 0;
    result = imul(result, 31) + this.z7z_1.hashCode() | 0;
    result = imul(result, 31) + this.a80_1.hashCode() | 0;
    result = imul(result, 31) + this.b80_1 | 0;
    result = imul(result, 31) + this.c80_1.hashCode() | 0;
    result = imul(result, 31) + this.d80_1.hashCode() | 0;
    result = imul(result, 31) + this.e80_1 | 0;
    result = imul(result, 31) + this.f80_1.hashCode() | 0;
    return result;
  };
  protoOf(ClazzAssignment).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAssignment))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAssignment ? other : THROW_CCE();
    if (!this.i7z_1.equals(tmp0_other_with_cast.i7z_1))
      return false;
    if (!(this.j7z_1 == tmp0_other_with_cast.j7z_1))
      return false;
    if (!(this.k7z_1 == tmp0_other_with_cast.k7z_1))
      return false;
    if (!this.l7z_1.equals(tmp0_other_with_cast.l7z_1))
      return false;
    if (!(this.m7z_1 === tmp0_other_with_cast.m7z_1))
      return false;
    if (!(this.n7z_1 === tmp0_other_with_cast.n7z_1))
      return false;
    if (!(this.o7z_1 === tmp0_other_with_cast.o7z_1))
      return false;
    if (!(this.p7z_1 === tmp0_other_with_cast.p7z_1))
      return false;
    if (!(this.q7z_1 === tmp0_other_with_cast.q7z_1))
      return false;
    if (!(this.r7z_1 === tmp0_other_with_cast.r7z_1))
      return false;
    if (!(this.s7z_1 === tmp0_other_with_cast.s7z_1))
      return false;
    if (!(this.t7z_1 === tmp0_other_with_cast.t7z_1))
      return false;
    if (!(this.u7z_1 === tmp0_other_with_cast.u7z_1))
      return false;
    if (!(this.v7z_1 === tmp0_other_with_cast.v7z_1))
      return false;
    if (!(this.w7z_1 === tmp0_other_with_cast.w7z_1))
      return false;
    if (!(this.x7z_1 === tmp0_other_with_cast.x7z_1))
      return false;
    if (!(this.y7z_1 === tmp0_other_with_cast.y7z_1))
      return false;
    if (!this.z7z_1.equals(tmp0_other_with_cast.z7z_1))
      return false;
    if (!this.a80_1.equals(tmp0_other_with_cast.a80_1))
      return false;
    if (!(this.b80_1 === tmp0_other_with_cast.b80_1))
      return false;
    if (!this.c80_1.equals(tmp0_other_with_cast.c80_1))
      return false;
    if (!this.d80_1.equals(tmp0_other_with_cast.d80_1))
      return false;
    if (!(this.e80_1 === tmp0_other_with_cast.e80_1))
      return false;
    if (!this.f80_1.equals(tmp0_other_with_cast.f80_1))
      return false;
    return true;
  };
  function Companion_45() {
  }
  var Companion_instance_46;
  function Companion_getInstance_48() {
    return Companion_instance_46;
  }
  function $serializer_42() {
    $serializer_instance_42 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzAssignmentCourseBlockAndSubmitterUid', this, 6);
    tmp0_serialDesc.y4l('clazzAssignment', true);
    tmp0_serialDesc.y4l('courseBlock', true);
    tmp0_serialDesc.y4l('courseBlockPicture', true);
    tmp0_serialDesc.y4l('courseGroupSet', true);
    tmp0_serialDesc.y4l('submitterUid', true);
    tmp0_serialDesc.y4l('hasModeratePermission', true);
    this.wjg_1 = tmp0_serialDesc;
  }
  protoOf($serializer_42).v4a = function () {
    return this.wjg_1;
  };
  protoOf($serializer_42).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_41()), get_nullable($serializer_getInstance_67()), get_nullable($serializer_getInstance_68()), get_nullable($serializer_getInstance_71()), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_42).x4a = function (decoder) {
    var tmp0_desc = this.wjg_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.b4f(tmp0_desc, 0, $serializer_getInstance_41(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, $serializer_getInstance_67(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, $serializer_getInstance_68(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, $serializer_getInstance_71(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.b4f(tmp0_desc, 0, $serializer_getInstance_41(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, $serializer_getInstance_67(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, $serializer_getInstance_68(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, $serializer_getInstance_71(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return ClazzAssignmentCourseBlockAndSubmitterUid_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_42).xjg = function (encoder, value) {
    var tmp0_desc = this.wjg_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.l84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_41(), value.l84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.m84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_67(), value.m84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.n84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_68(), value.n84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.o84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_71(), value.o84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.p84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.p84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.q84_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 5, value.q84_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_42).w4a = function (encoder, value) {
    return this.xjg(encoder, value instanceof ClazzAssignmentCourseBlockAndSubmitterUid ? value : THROW_CCE());
  };
  var $serializer_instance_42;
  function $serializer_getInstance_42() {
    if ($serializer_instance_42 == null)
      new $serializer_42();
    return $serializer_instance_42;
  }
  function ClazzAssignmentCourseBlockAndSubmitterUid_init_$Init$(seen1, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_42().wjg_1);
    }
    if (0 === (seen1 & 1))
      $this.l84_1 = null;
    else
      $this.l84_1 = clazzAssignment;
    if (0 === (seen1 & 2))
      $this.m84_1 = null;
    else
      $this.m84_1 = courseBlock;
    if (0 === (seen1 & 4))
      $this.n84_1 = null;
    else
      $this.n84_1 = courseBlockPicture;
    if (0 === (seen1 & 8))
      $this.o84_1 = null;
    else
      $this.o84_1 = courseGroupSet;
    if (0 === (seen1 & 16))
      $this.p84_1 = new Long(0, 0);
    else
      $this.p84_1 = submitterUid;
    if (0 === (seen1 & 32))
      $this.q84_1 = false;
    else
      $this.q84_1 = hasModeratePermission;
    return $this;
  }
  function ClazzAssignmentCourseBlockAndSubmitterUid_init_$Create$(seen1, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, serializationConstructorMarker) {
    return ClazzAssignmentCourseBlockAndSubmitterUid_init_$Init$(seen1, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, serializationConstructorMarker, objectCreate(protoOf(ClazzAssignmentCourseBlockAndSubmitterUid)));
  }
  function ClazzAssignmentCourseBlockAndSubmitterUid(clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission) {
    clazzAssignment = clazzAssignment === VOID ? null : clazzAssignment;
    courseBlock = courseBlock === VOID ? null : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    courseGroupSet = courseGroupSet === VOID ? null : courseGroupSet;
    submitterUid = submitterUid === VOID ? new Long(0, 0) : submitterUid;
    hasModeratePermission = hasModeratePermission === VOID ? false : hasModeratePermission;
    this.l84_1 = clazzAssignment;
    this.m84_1 = courseBlock;
    this.n84_1 = courseBlockPicture;
    this.o84_1 = courseGroupSet;
    this.p84_1 = submitterUid;
    this.q84_1 = hasModeratePermission;
  }
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).toString = function () {
    return 'ClazzAssignmentCourseBlockAndSubmitterUid(clazzAssignment=' + this.l84_1 + ', courseBlock=' + this.m84_1 + ', courseBlockPicture=' + this.n84_1 + ', courseGroupSet=' + this.o84_1 + ', submitterUid=' + this.p84_1.toString() + ', hasModeratePermission=' + this.q84_1 + ')';
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).hashCode = function () {
    var result = this.l84_1 == null ? 0 : this.l84_1.hashCode();
    result = imul(result, 31) + (this.m84_1 == null ? 0 : this.m84_1.hashCode()) | 0;
    result = imul(result, 31) + (this.n84_1 == null ? 0 : this.n84_1.hashCode()) | 0;
    result = imul(result, 31) + (this.o84_1 == null ? 0 : hashCode(this.o84_1)) | 0;
    result = imul(result, 31) + this.p84_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.q84_1) | 0;
    return result;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAssignmentCourseBlockAndSubmitterUid))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAssignmentCourseBlockAndSubmitterUid ? other : THROW_CCE();
    if (!equals(this.l84_1, tmp0_other_with_cast.l84_1))
      return false;
    if (!equals(this.m84_1, tmp0_other_with_cast.m84_1))
      return false;
    if (!equals(this.n84_1, tmp0_other_with_cast.n84_1))
      return false;
    if (!equals(this.o84_1, tmp0_other_with_cast.o84_1))
      return false;
    if (!this.p84_1.equals(tmp0_other_with_cast.p84_1))
      return false;
    if (!(this.q84_1 === tmp0_other_with_cast.q84_1))
      return false;
    return true;
  };
  function ClazzEnrolment_init_$Init$(clazzUid, personUid, role, $this) {
    ClazzEnrolment.call($this);
    $this.y8n_1 = clazzUid;
    $this.x8n_1 = personUid;
    $this.b8o_1 = role;
    $this.d8o_1 = true;
    return $this;
  }
  function ClazzEnrolment_init_$Create$(clazzUid, personUid, role) {
    return ClazzEnrolment_init_$Init$(clazzUid, personUid, role, objectCreate(protoOf(ClazzEnrolment)));
  }
  function Companion_46() {
    this.yjg_1 = 1000;
    this.zjg_1 = 1001;
    this.ajh_1 = 1002;
    this.bjh_1 = 1003;
    this.cjh_1 = 200;
    this.djh_1 = 201;
    this.ejh_1 = 202;
    this.fjh_1 = 203;
    this.gjh_1 = 65;
  }
  var Companion_instance_47;
  function Companion_getInstance_49() {
    return Companion_instance_47;
  }
  function $serializer_43() {
    $serializer_instance_43 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzEnrolment', this, 14);
    tmp0_serialDesc.y4l('clazzEnrolmentUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentPersonUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentClazzUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentDateJoined', true);
    tmp0_serialDesc.y4l('clazzEnrolmentDateLeft', true);
    tmp0_serialDesc.y4l('clazzEnrolmentRole', true);
    tmp0_serialDesc.y4l('clazzEnrolmentAttendancePercentage', true);
    tmp0_serialDesc.y4l('clazzEnrolmentActive', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLeavingReasonUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentOutcome', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzEnrolmentMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLastChangedBy', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLct', true);
    this.hjh_1 = tmp0_serialDesc;
  }
  protoOf($serializer_43).v4a = function () {
    return this.hjh_1;
  };
  protoOf($serializer_43).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_43).x4a = function (decoder) {
    var tmp0_desc = this.hjh_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_input = decoder.n4e(tmp0_desc);
    if (tmp18_input.c4f()) {
      tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.u4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.u4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.o4e(tmp0_desc);
    return ClazzEnrolment_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_43).ijh = function (encoder, value) {
    var tmp0_desc = this.hjh_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.w8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.w8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.x8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.x8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.y8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.y8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.z8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.z8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.a8o_1.equals(get_UNSET_DISTANT_FUTURE())) {
      tmp1_output.x4f(tmp0_desc, 4, value.a8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.b8o_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.b8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !equals(value.c8o_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 6, value.c8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.d8o_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 7, value.d8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.e8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.e8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.f8o_1 === 200)) {
      tmp1_output.w4f(tmp0_desc, 9, value.f8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.g8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.g8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.h8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.h8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.i8o_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 12, value.i8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.j8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.j8o_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_43).w4a = function (encoder, value) {
    return this.ijh(encoder, value instanceof ClazzEnrolment ? value : THROW_CCE());
  };
  var $serializer_instance_43;
  function $serializer_getInstance_43() {
    if ($serializer_instance_43 == null)
      new $serializer_43();
    return $serializer_instance_43;
  }
  function ClazzEnrolment_init_$Init$_0(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_43().hjh_1);
    }
    if (0 === (seen1 & 1))
      $this.w8n_1 = new Long(0, 0);
    else
      $this.w8n_1 = clazzEnrolmentUid;
    if (0 === (seen1 & 2))
      $this.x8n_1 = new Long(0, 0);
    else
      $this.x8n_1 = clazzEnrolmentPersonUid;
    if (0 === (seen1 & 4))
      $this.y8n_1 = new Long(0, 0);
    else
      $this.y8n_1 = clazzEnrolmentClazzUid;
    if (0 === (seen1 & 8))
      $this.z8n_1 = new Long(0, 0);
    else
      $this.z8n_1 = clazzEnrolmentDateJoined;
    if (0 === (seen1 & 16))
      $this.a8o_1 = get_UNSET_DISTANT_FUTURE();
    else
      $this.a8o_1 = clazzEnrolmentDateLeft;
    if (0 === (seen1 & 32))
      $this.b8o_1 = 0;
    else
      $this.b8o_1 = clazzEnrolmentRole;
    if (0 === (seen1 & 64))
      $this.c8o_1 = 0.0;
    else
      $this.c8o_1 = clazzEnrolmentAttendancePercentage;
    if (0 === (seen1 & 128))
      $this.d8o_1 = true;
    else
      $this.d8o_1 = clazzEnrolmentActive;
    if (0 === (seen1 & 256))
      $this.e8o_1 = new Long(0, 0);
    else
      $this.e8o_1 = clazzEnrolmentLeavingReasonUid;
    if (0 === (seen1 & 512))
      $this.f8o_1 = 200;
    else
      $this.f8o_1 = clazzEnrolmentOutcome;
    if (0 === (seen1 & 1024))
      $this.g8o_1 = new Long(0, 0);
    else
      $this.g8o_1 = clazzEnrolmentLocalChangeSeqNum;
    if (0 === (seen1 & 2048))
      $this.h8o_1 = new Long(0, 0);
    else
      $this.h8o_1 = clazzEnrolmentMasterChangeSeqNum;
    if (0 === (seen1 & 4096))
      $this.i8o_1 = 0;
    else
      $this.i8o_1 = clazzEnrolmentLastChangedBy;
    if (0 === (seen1 & 8192))
      $this.j8o_1 = new Long(0, 0);
    else
      $this.j8o_1 = clazzEnrolmentLct;
    return $this;
  }
  function ClazzEnrolment_init_$Create$_0(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker) {
    return ClazzEnrolment_init_$Init$_0(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolment)));
  }
  function ClazzEnrolment() {
    this.w8n_1 = new Long(0, 0);
    this.x8n_1 = new Long(0, 0);
    this.y8n_1 = new Long(0, 0);
    this.z8n_1 = new Long(0, 0);
    this.a8o_1 = get_UNSET_DISTANT_FUTURE();
    this.b8o_1 = 0;
    this.c8o_1 = 0.0;
    this.d8o_1 = true;
    this.e8o_1 = new Long(0, 0);
    this.f8o_1 = 200;
    this.g8o_1 = new Long(0, 0);
    this.h8o_1 = new Long(0, 0);
    this.i8o_1 = 0;
    this.j8o_1 = new Long(0, 0);
  }
  function Companion_47() {
  }
  protoOf(Companion_47).s4x = function () {
    return $serializer_getInstance_44();
  };
  var Companion_instance_48;
  function Companion_getInstance_50() {
    return Companion_instance_48;
  }
  function $serializer_44() {
    $serializer_instance_44 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzEnrolmentWithLeavingReason', this, 16);
    tmp0_serialDesc.y4l('clazzEnrolmentUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentPersonUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentClazzUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentDateJoined', true);
    tmp0_serialDesc.y4l('clazzEnrolmentDateLeft', true);
    tmp0_serialDesc.y4l('clazzEnrolmentRole', true);
    tmp0_serialDesc.y4l('clazzEnrolmentAttendancePercentage', true);
    tmp0_serialDesc.y4l('clazzEnrolmentActive', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLeavingReasonUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentOutcome', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzEnrolmentMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLastChangedBy', true);
    tmp0_serialDesc.y4l('clazzEnrolmentLct', true);
    tmp0_serialDesc.y4l('leavingReason', true);
    tmp0_serialDesc.y4l('timeZone', true);
    this.jjh_1 = tmp0_serialDesc;
  }
  protoOf($serializer_44).v4a = function () {
    return this.jjh_1;
  };
  protoOf($serializer_44).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_85()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_44).x4a = function (decoder) {
    var tmp0_desc = this.jjh_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = null;
    var tmp19_local15 = null;
    var tmp20_input = decoder.n4e(tmp0_desc);
    if (tmp20_input.c4f()) {
      tmp4_local0 = tmp20_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp20_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp20_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp20_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp20_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp20_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp20_input.u4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp20_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp20_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp20_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp20_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp20_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp20_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp20_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp20_input.b4f(tmp0_desc, 14, $serializer_getInstance_85(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp20_input.b4f(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp20_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp20_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp20_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp20_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp20_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp20_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp20_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp20_input.u4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp20_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp20_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp20_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp20_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp20_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp20_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp20_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp20_input.b4f(tmp0_desc, 14, $serializer_getInstance_85(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp20_input.b4f(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp20_input.o4e(tmp0_desc);
    return ClazzEnrolmentWithLeavingReason_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, null);
  };
  protoOf($serializer_44).kjh = function (encoder, value) {
    var tmp0_desc = this.jjh_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.w8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.w8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.x8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.x8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.y8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.y8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.z8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.z8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.a8o_1.equals(get_UNSET_DISTANT_FUTURE())) {
      tmp1_output.x4f(tmp0_desc, 4, value.a8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.b8o_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.b8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !equals(value.c8o_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 6, value.c8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.d8o_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 7, value.d8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.e8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.e8o_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 9)) {
      tmp = true;
    } else {
      var tmp_0 = value.f8o_1;
      tmp = !(tmp_0 === 200);
    }
    if (tmp) {
      tmp1_output.w4f(tmp0_desc, 9, value.f8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.g8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.g8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.h8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.h8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.i8o_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 12, value.i8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.j8o_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.j8o_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.j9a_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 14, $serializer_getInstance_85(), value.j9a_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.k9a_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 15, StringSerializer_getInstance(), value.k9a_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_44).w4a = function (encoder, value) {
    return this.kjh(encoder, value instanceof ClazzEnrolmentWithLeavingReason ? value : THROW_CCE());
  };
  var $serializer_instance_44;
  function $serializer_getInstance_44() {
    if ($serializer_instance_44 == null)
      new $serializer_44();
    return $serializer_instance_44;
  }
  function ClazzEnrolmentWithLeavingReason_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, leavingReason, timeZone, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_44().jjh_1);
    }
    ClazzEnrolment_init_$Init$_0(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 16384))
      $this.j9a_1 = null;
    else
      $this.j9a_1 = leavingReason;
    if (0 === (seen1 & 32768))
      $this.k9a_1 = null;
    else
      $this.k9a_1 = timeZone;
    return $this;
  }
  function ClazzEnrolmentWithLeavingReason_init_$Create$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, leavingReason, timeZone, serializationConstructorMarker) {
    return ClazzEnrolmentWithLeavingReason_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, leavingReason, timeZone, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentWithLeavingReason)));
  }
  function ClazzEnrolmentWithLeavingReason() {
    ClazzEnrolment.call(this);
    this.j9a_1 = null;
    this.k9a_1 = null;
  }
  function Companion_48() {
    this.ljh_1 = 14;
    this.mjh_1 = 0;
    this.njh_1 = 1;
    this.ojh_1 = 2;
    this.pjh_1 = 4;
    this.qjh_1 = 8;
    this.rjh_1 = 16;
  }
  protoOf(Companion_48).s4x = function () {
    return $serializer_getInstance_45();
  };
  var Companion_instance_49;
  function Companion_getInstance_51() {
    return Companion_instance_49;
  }
  function $serializer_45() {
    $serializer_instance_45 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzLog', this, 16);
    tmp0_serialDesc.y4l('clazzLogUid', true);
    tmp0_serialDesc.y4l('clazzLogClazzUid', true);
    tmp0_serialDesc.y4l('logDate', true);
    tmp0_serialDesc.y4l('timeRecorded', true);
    tmp0_serialDesc.y4l('clazzLogDone', true);
    tmp0_serialDesc.y4l('cancellationNote', true);
    tmp0_serialDesc.y4l('clazzLogCancelled', true);
    tmp0_serialDesc.y4l('clazzLogNumPresent', true);
    tmp0_serialDesc.y4l('clazzLogNumAbsent', true);
    tmp0_serialDesc.y4l('clazzLogNumPartial', true);
    tmp0_serialDesc.y4l('clazzLogScheduleUid', true);
    tmp0_serialDesc.y4l('clazzLogStatusFlag', true);
    tmp0_serialDesc.y4l('clazzLogMSQN', true);
    tmp0_serialDesc.y4l('clazzLogLCSN', true);
    tmp0_serialDesc.y4l('clazzLogLCB', true);
    tmp0_serialDesc.y4l('clazzLogLastChangedTime', true);
    this.sjh_1 = tmp0_serialDesc;
  }
  protoOf($serializer_45).v4a = function () {
    return this.sjh_1;
  };
  protoOf($serializer_45).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_45).x4a = function (decoder) {
    var tmp0_desc = this.sjh_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = 0;
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = 0;
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = 0;
    var tmp19_local15 = new Long(0, 0);
    var tmp20_input = decoder.n4e(tmp0_desc);
    if (tmp20_input.c4f()) {
      tmp4_local0 = tmp20_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp20_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp20_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp20_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp20_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp20_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp20_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp20_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp20_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp20_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp20_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp20_input.s4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp20_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp20_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp20_input.s4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp20_input.t4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp20_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp20_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp20_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp20_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp20_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp20_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp20_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp20_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp20_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp20_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp20_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp20_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp20_input.s4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp20_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp20_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp20_input.s4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp20_input.t4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp20_input.o4e(tmp0_desc);
    return ClazzLog_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, null);
  };
  protoOf($serializer_45).tjh = function (encoder, value) {
    var tmp0_desc = this.sjh_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.r9w_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.r9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.s9w_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.s9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.t9w_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.t9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.u9w_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.u9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.v9w_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 4, value.v9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.w9w_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.w9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.x9w_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.x9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.y9w_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.y9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.z9w_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 8, value.z9w_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.a9x_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.a9x_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.b9x_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.b9x_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.c9x_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 11, value.c9x_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.d9x_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.d9x_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.e9x_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.e9x_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.f9x_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 14, value.f9x_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !value.g9x_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 15, value.g9x_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_45).w4a = function (encoder, value) {
    return this.tjh(encoder, value instanceof ClazzLog ? value : THROW_CCE());
  };
  var $serializer_instance_45;
  function $serializer_getInstance_45() {
    if ($serializer_instance_45 == null)
      new $serializer_45();
    return $serializer_instance_45;
  }
  function ClazzLog_init_$Init$(seen1, clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_45().sjh_1);
    }
    if (0 === (seen1 & 1))
      $this.r9w_1 = new Long(0, 0);
    else
      $this.r9w_1 = clazzLogUid;
    if (0 === (seen1 & 2))
      $this.s9w_1 = new Long(0, 0);
    else
      $this.s9w_1 = clazzLogClazzUid;
    if (0 === (seen1 & 4))
      $this.t9w_1 = new Long(0, 0);
    else
      $this.t9w_1 = logDate;
    if (0 === (seen1 & 8))
      $this.u9w_1 = new Long(0, 0);
    else
      $this.u9w_1 = timeRecorded;
    if (0 === (seen1 & 16))
      $this.v9w_1 = false;
    else
      $this.v9w_1 = clazzLogDone;
    if (0 === (seen1 & 32))
      $this.w9w_1 = null;
    else
      $this.w9w_1 = cancellationNote;
    if (0 === (seen1 & 64))
      $this.x9w_1 = false;
    else
      $this.x9w_1 = clazzLogCancelled;
    if (0 === (seen1 & 128))
      $this.y9w_1 = 0;
    else
      $this.y9w_1 = clazzLogNumPresent;
    if (0 === (seen1 & 256))
      $this.z9w_1 = 0;
    else
      $this.z9w_1 = clazzLogNumAbsent;
    if (0 === (seen1 & 512))
      $this.a9x_1 = 0;
    else
      $this.a9x_1 = clazzLogNumPartial;
    if (0 === (seen1 & 1024))
      $this.b9x_1 = new Long(0, 0);
    else
      $this.b9x_1 = clazzLogScheduleUid;
    if (0 === (seen1 & 2048))
      $this.c9x_1 = 0;
    else
      $this.c9x_1 = clazzLogStatusFlag;
    if (0 === (seen1 & 4096))
      $this.d9x_1 = new Long(0, 0);
    else
      $this.d9x_1 = clazzLogMSQN;
    if (0 === (seen1 & 8192))
      $this.e9x_1 = new Long(0, 0);
    else
      $this.e9x_1 = clazzLogLCSN;
    if (0 === (seen1 & 16384))
      $this.f9x_1 = 0;
    else
      $this.f9x_1 = clazzLogLCB;
    if (0 === (seen1 & 32768))
      $this.g9x_1 = new Long(0, 0);
    else
      $this.g9x_1 = clazzLogLastChangedTime;
    return $this;
  }
  function ClazzLog_init_$Create$(seen1, clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime, serializationConstructorMarker) {
    return ClazzLog_init_$Init$(seen1, clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime, serializationConstructorMarker, objectCreate(protoOf(ClazzLog)));
  }
  function ClazzLog() {
    this.r9w_1 = new Long(0, 0);
    this.s9w_1 = new Long(0, 0);
    this.t9w_1 = new Long(0, 0);
    this.u9w_1 = new Long(0, 0);
    this.v9w_1 = false;
    this.w9w_1 = null;
    this.x9w_1 = false;
    this.y9w_1 = 0;
    this.z9w_1 = 0;
    this.a9x_1 = 0;
    this.b9x_1 = new Long(0, 0);
    this.c9x_1 = 0;
    this.d9x_1 = new Long(0, 0);
    this.e9x_1 = new Long(0, 0);
    this.f9x_1 = 0;
    this.g9x_1 = new Long(0, 0);
  }
  protoOf(ClazzLog).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ClazzLog))
      THROW_CCE();
    if (!this.r9w_1.equals(other.r9w_1))
      return false;
    if (!this.s9w_1.equals(other.s9w_1))
      return false;
    if (!this.t9w_1.equals(other.t9w_1))
      return false;
    if (!this.u9w_1.equals(other.u9w_1))
      return false;
    if (!(this.v9w_1 === other.v9w_1))
      return false;
    if (!(this.w9w_1 == other.w9w_1))
      return false;
    if (!(this.x9w_1 === other.x9w_1))
      return false;
    if (!(this.y9w_1 === other.y9w_1))
      return false;
    if (!(this.z9w_1 === other.z9w_1))
      return false;
    if (!(this.a9x_1 === other.a9x_1))
      return false;
    if (!this.b9x_1.equals(other.b9x_1))
      return false;
    if (!(this.c9x_1 === other.c9x_1))
      return false;
    if (!this.d9x_1.equals(other.d9x_1))
      return false;
    if (!this.e9x_1.equals(other.e9x_1))
      return false;
    if (!(this.f9x_1 === other.f9x_1))
      return false;
    if (!this.g9x_1.equals(other.g9x_1))
      return false;
    return true;
  };
  protoOf(ClazzLog).hashCode = function () {
    var result = this.r9w_1.hashCode();
    result = imul(31, result) + this.s9w_1.hashCode() | 0;
    result = imul(31, result) + this.t9w_1.hashCode() | 0;
    result = imul(31, result) + this.u9w_1.hashCode() | 0;
    result = imul(31, result) + getBooleanHashCode(this.v9w_1) | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.w9w_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + getBooleanHashCode(this.x9w_1) | 0;
    result = imul(31, result) + this.y9w_1 | 0;
    result = imul(31, result) + this.z9w_1 | 0;
    result = imul(31, result) + this.a9x_1 | 0;
    result = imul(31, result) + this.b9x_1.hashCode() | 0;
    result = imul(31, result) + this.c9x_1 | 0;
    result = imul(31, result) + this.d9x_1.hashCode() | 0;
    result = imul(31, result) + this.e9x_1.hashCode() | 0;
    result = imul(31, result) + this.f9x_1 | 0;
    result = imul(31, result) + this.g9x_1.hashCode() | 0;
    return result;
  };
  function Companion_49() {
    this.ujh_1 = 15;
    this.vjh_1 = 1;
    this.wjh_1 = 2;
    this.xjh_1 = 4;
    this.yjh_1 = 0.8;
    this.zjh_1 = 0.6;
  }
  var Companion_instance_50;
  function Companion_getInstance_52() {
    return Companion_instance_50;
  }
  function $serializer_46() {
    $serializer_instance_46 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzLogAttendanceRecord', this, 8);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordUid', true);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordClazzLogUid', true);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordPersonUid', true);
    tmp0_serialDesc.y4l('attendanceStatus', true);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordLastChangedBy', true);
    tmp0_serialDesc.y4l('clazzLogAttendanceRecordLastChangedTime', true);
    this.aji_1 = tmp0_serialDesc;
  }
  protoOf($serializer_46).v4a = function () {
    return this.aji_1;
  };
  protoOf($serializer_46).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_46).x4a = function (decoder) {
    var tmp0_desc = this.aji_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return ClazzLogAttendanceRecord_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_46).bji = function (encoder, value) {
    var tmp0_desc = this.aji_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.l9r_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.l9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.m9r_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.m9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.n9r_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.n9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.o9r_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.o9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.p9r_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.p9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.q9r_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.q9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.r9r_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.r9r_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.s9r_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.s9r_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_46).w4a = function (encoder, value) {
    return this.bji(encoder, value instanceof ClazzLogAttendanceRecord ? value : THROW_CCE());
  };
  var $serializer_instance_46;
  function $serializer_getInstance_46() {
    if ($serializer_instance_46 == null)
      new $serializer_46();
    return $serializer_instance_46;
  }
  function ClazzLogAttendanceRecord_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_46().aji_1);
    }
    if (0 === (seen1 & 1))
      $this.l9r_1 = new Long(0, 0);
    else
      $this.l9r_1 = clazzLogAttendanceRecordUid;
    if (0 === (seen1 & 2))
      $this.m9r_1 = new Long(0, 0);
    else
      $this.m9r_1 = clazzLogAttendanceRecordClazzLogUid;
    if (0 === (seen1 & 4))
      $this.n9r_1 = new Long(0, 0);
    else
      $this.n9r_1 = clazzLogAttendanceRecordPersonUid;
    if (0 === (seen1 & 8))
      $this.o9r_1 = 0;
    else
      $this.o9r_1 = attendanceStatus;
    if (0 === (seen1 & 16))
      $this.p9r_1 = new Long(0, 0);
    else
      $this.p9r_1 = clazzLogAttendanceRecordMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.q9r_1 = new Long(0, 0);
    else
      $this.q9r_1 = clazzLogAttendanceRecordLocalChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.r9r_1 = 0;
    else
      $this.r9r_1 = clazzLogAttendanceRecordLastChangedBy;
    if (0 === (seen1 & 128))
      $this.s9r_1 = new Long(0, 0);
    else
      $this.s9r_1 = clazzLogAttendanceRecordLastChangedTime;
    return $this;
  }
  function ClazzLogAttendanceRecord_init_$Create$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker) {
    return ClazzLogAttendanceRecord_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker, objectCreate(protoOf(ClazzLogAttendanceRecord)));
  }
  function ClazzLogAttendanceRecord() {
    this.l9r_1 = new Long(0, 0);
    this.m9r_1 = new Long(0, 0);
    this.n9r_1 = new Long(0, 0);
    this.o9r_1 = 0;
    this.p9r_1 = new Long(0, 0);
    this.q9r_1 = new Long(0, 0);
    this.r9r_1 = 0;
    this.s9r_1 = new Long(0, 0);
  }
  protoOf(ClazzLogAttendanceRecord).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ClazzLogAttendanceRecord))
      THROW_CCE();
    if (!this.l9r_1.equals(other.l9r_1))
      return false;
    if (!this.m9r_1.equals(other.m9r_1))
      return false;
    if (!this.n9r_1.equals(other.n9r_1))
      return false;
    if (!(this.o9r_1 === other.o9r_1))
      return false;
    if (!this.p9r_1.equals(other.p9r_1))
      return false;
    if (!this.q9r_1.equals(other.q9r_1))
      return false;
    if (!(this.r9r_1 === other.r9r_1))
      return false;
    return true;
  };
  protoOf(ClazzLogAttendanceRecord).hashCode = function () {
    var result = this.l9r_1.hashCode();
    result = imul(31, result) + this.m9r_1.hashCode() | 0;
    result = imul(31, result) + this.n9r_1.hashCode() | 0;
    result = imul(31, result) + this.o9r_1 | 0;
    result = imul(31, result) + this.p9r_1.hashCode() | 0;
    result = imul(31, result) + this.q9r_1.hashCode() | 0;
    result = imul(31, result) + this.r9r_1 | 0;
    return result;
  };
  function Companion_50() {
  }
  protoOf(Companion_50).s4x = function () {
    return $serializer_getInstance_47();
  };
  var Companion_instance_51;
  function Companion_getInstance_53() {
    return Companion_instance_51;
  }
  function $serializer_47() {
    $serializer_instance_47 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzWithHolidayCalendarAndAndTerminology', this, 28);
    tmp0_serialDesc.y4l('clazzUid', true);
    tmp0_serialDesc.y4l('clazzName', true);
    tmp0_serialDesc.y4l('clazzDesc', true);
    tmp0_serialDesc.y4l('attendanceAverage', true);
    tmp0_serialDesc.y4l('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.y4l('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.y4l('isClazzActive', true);
    tmp0_serialDesc.y4l('clazzLocationUid', true);
    tmp0_serialDesc.y4l('clazzStartTime', true);
    tmp0_serialDesc.y4l('clazzEndTime', true);
    tmp0_serialDesc.y4l('clazzFeatures', true);
    tmp0_serialDesc.y4l('clazzSchoolUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.y4l('clazzTerminologyUid', true);
    tmp0_serialDesc.y4l('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLastChangedBy', true);
    tmp0_serialDesc.y4l('clazzLct', true);
    tmp0_serialDesc.y4l('clazzTimeZone', true);
    tmp0_serialDesc.y4l('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzCode', true);
    tmp0_serialDesc.y4l('clazzOwnerPersonUid', true);
    tmp0_serialDesc.y4l('holidayCalendar', true);
    tmp0_serialDesc.y4l('terminology', true);
    tmp0_serialDesc.y4l('coursePicture', true);
    this.cji_1 = tmp0_serialDesc;
  }
  protoOf($serializer_47).v4a = function () {
    return this.cji_1;
  };
  protoOf($serializer_47).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable($serializer_getInstance_81()), get_nullable($serializer_getInstance_74()), get_nullable($serializer_getInstance_73())];
  };
  protoOf($serializer_47).x4a = function (decoder) {
    var tmp0_desc = this.cji_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = 0.0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = new Long(0, 0);
    var tmp27_local23 = null;
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = null;
    var tmp30_local26 = null;
    var tmp31_local27 = null;
    var tmp32_input = decoder.n4e(tmp0_desc);
    if (tmp32_input.c4f()) {
      tmp4_local0 = tmp32_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp32_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp32_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp32_input.u4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp32_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp32_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp32_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp32_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp32_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp32_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp32_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp32_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp32_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp32_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp32_input.t4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp32_input.t4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp32_input.s4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp32_input.t4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp32_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp32_input.t4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp32_input.t4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp32_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp32_input.t4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp32_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp32_input.t4e(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp32_input.b4f(tmp0_desc, 25, $serializer_getInstance_81(), tmp29_local25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp32_input.b4f(tmp0_desc, 26, $serializer_getInstance_74(), tmp30_local26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp31_local27 = tmp32_input.b4f(tmp0_desc, 27, $serializer_getInstance_73(), tmp31_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp32_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp32_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp32_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp32_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp32_input.u4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp32_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp32_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp32_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp32_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp32_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp32_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp32_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp32_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp32_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp32_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp32_input.t4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp32_input.t4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp32_input.s4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp32_input.t4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp32_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp32_input.t4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp32_input.t4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp32_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp32_input.t4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp32_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp32_input.t4e(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp32_input.b4f(tmp0_desc, 25, $serializer_getInstance_81(), tmp29_local25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp32_input.b4f(tmp0_desc, 26, $serializer_getInstance_74(), tmp30_local26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp31_local27 = tmp32_input.b4f(tmp0_desc, 27, $serializer_getInstance_73(), tmp31_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp32_input.o4e(tmp0_desc);
    return ClazzWithHolidayCalendarAndAndTerminology_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, tmp31_local27, null);
  };
  protoOf($serializer_47).dji = function (encoder, value) {
    var tmp0_desc = this.cji_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.m8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.m8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.n8j_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.n8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.o8j_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.o8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !equals(value.p8j_1, -1.0)) {
      tmp1_output.y4f(tmp0_desc, 3, value.p8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.q8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.q8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.r8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.r8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.s8j_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.s8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.t8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.t8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.u8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.u8j_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 9)) {
      tmp = true;
    } else {
      var tmp_0 = value.v8j_1;
      Companion_getInstance();
      tmp = !tmp_0.equals(new Long(-1, 2147483647));
    }
    if (tmp) {
      tmp1_output.x4f(tmp0_desc, 9, value.v8j_1);
    }
    var tmp_1;
    if (tmp1_output.j4g(tmp0_desc, 10)) {
      tmp_1 = true;
    } else {
      var tmp_2 = value.w8j_1;
      Companion_getInstance_46();
      tmp_1 = !tmp_2.equals(new Long(1, 0));
    }
    if (tmp_1) {
      tmp1_output.x4f(tmp0_desc, 10, value.w8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.x8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.x8j_1);
    }
    var tmp_3;
    if (tmp1_output.j4g(tmp0_desc, 12)) {
      tmp_3 = true;
    } else {
      var tmp_4 = value.y8j_1;
      Companion_getInstance_46();
      tmp_3 = !(tmp_4 === 102);
    }
    if (tmp_3) {
      tmp1_output.w4f(tmp0_desc, 12, value.y8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.z8j_1.equals(new Long(25966, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.z8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !value.a8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 14, value.a8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !value.b8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 15, value.b8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.c8k_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 16, value.c8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !value.d8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 17, value.d8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.e8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 18, StringSerializer_getInstance(), value.e8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !value.f8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 19, value.f8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !value.g8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 20, value.g8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.h8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.h8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !value.i8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 22, value.i8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !(value.j8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 23, StringSerializer_getInstance(), value.j8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 24) ? true : !value.k8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 24, value.k8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 25) ? true : !(value.e8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 25, $serializer_getInstance_81(), value.e8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 26) ? true : !(value.f8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 26, $serializer_getInstance_74(), value.f8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 27) ? true : !(value.g8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 27, $serializer_getInstance_73(), value.g8m_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_47).w4a = function (encoder, value) {
    return this.dji(encoder, value instanceof ClazzWithHolidayCalendarAndAndTerminology ? value : THROW_CCE());
  };
  var $serializer_instance_47;
  function $serializer_getInstance_47() {
    if ($serializer_instance_47 == null)
      new $serializer_47();
    return $serializer_instance_47;
  }
  function ClazzWithHolidayCalendarAndAndTerminology_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, holidayCalendar, terminology, coursePicture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_47().cji_1);
    }
    Clazz_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this);
    if (0 === (seen1 & 33554432))
      $this.e8m_1 = null;
    else
      $this.e8m_1 = holidayCalendar;
    if (0 === (seen1 & 67108864))
      $this.f8m_1 = null;
    else
      $this.f8m_1 = terminology;
    if (0 === (seen1 & 134217728))
      $this.g8m_1 = null;
    else
      $this.g8m_1 = coursePicture;
    return $this;
  }
  function ClazzWithHolidayCalendarAndAndTerminology_init_$Create$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, holidayCalendar, terminology, coursePicture, serializationConstructorMarker) {
    return ClazzWithHolidayCalendarAndAndTerminology_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, holidayCalendar, terminology, coursePicture, serializationConstructorMarker, objectCreate(protoOf(ClazzWithHolidayCalendarAndAndTerminology)));
  }
  function ClazzWithHolidayCalendarAndAndTerminology() {
    Clazz.call(this);
    this.e8m_1 = null;
    this.f8m_1 = null;
    this.g8m_1 = null;
  }
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzWithHolidayCalendarAndAndTerminology))
      return false;
    if (!protoOf(Clazz).equals.call(this, other))
      return false;
    if (!equals(this.e8m_1, other.e8m_1))
      return false;
    if (!equals(this.f8m_1, other.f8m_1))
      return false;
    return equals(this.g8m_1, other.g8m_1);
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).hashCode = function () {
    var result = protoOf(Clazz).hashCode.call(this);
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.e8m_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.f8m_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : hashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.g8m_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : tmp4_safe_receiver.hashCode();
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    return result;
  };
  function Companion_51() {
  }
  var Companion_instance_52;
  function Companion_getInstance_54() {
    return Companion_instance_52;
  }
  function $serializer_48() {
    $serializer_instance_48 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzWithListDisplayDetails', this, 32);
    tmp0_serialDesc.y4l('clazzUid', true);
    tmp0_serialDesc.y4l('clazzName', true);
    tmp0_serialDesc.y4l('clazzDesc', true);
    tmp0_serialDesc.y4l('attendanceAverage', true);
    tmp0_serialDesc.y4l('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.y4l('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.y4l('isClazzActive', true);
    tmp0_serialDesc.y4l('clazzLocationUid', true);
    tmp0_serialDesc.y4l('clazzStartTime', true);
    tmp0_serialDesc.y4l('clazzEndTime', true);
    tmp0_serialDesc.y4l('clazzFeatures', true);
    tmp0_serialDesc.y4l('clazzSchoolUid', true);
    tmp0_serialDesc.y4l('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.y4l('clazzTerminologyUid', true);
    tmp0_serialDesc.y4l('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('clazzLastChangedBy', true);
    tmp0_serialDesc.y4l('clazzLct', true);
    tmp0_serialDesc.y4l('clazzTimeZone', true);
    tmp0_serialDesc.y4l('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.y4l('clazzCode', true);
    tmp0_serialDesc.y4l('clazzOwnerPersonUid', true);
    tmp0_serialDesc.y4l('numStudents', true);
    tmp0_serialDesc.y4l('numTeachers', true);
    tmp0_serialDesc.y4l('teacherNames', true);
    tmp0_serialDesc.y4l('lastRecorded', true);
    tmp0_serialDesc.y4l('clazzActiveEnrolment', true);
    tmp0_serialDesc.y4l('terminology', true);
    tmp0_serialDesc.y4l('coursePicture', true);
    this.eji_1 = tmp0_serialDesc;
  }
  protoOf($serializer_48).v4a = function () {
    return this.eji_1;
  };
  protoOf($serializer_48).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable($serializer_getInstance_43()), get_nullable($serializer_getInstance_74()), get_nullable($serializer_getInstance_73())];
  };
  protoOf($serializer_48).x4a = function (decoder) {
    var tmp0_desc = this.eji_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp5_local0 = new Long(0, 0);
    var tmp6_local1 = null;
    var tmp7_local2 = null;
    var tmp8_local3 = 0.0;
    var tmp9_local4 = new Long(0, 0);
    var tmp10_local5 = new Long(0, 0);
    var tmp11_local6 = false;
    var tmp12_local7 = new Long(0, 0);
    var tmp13_local8 = new Long(0, 0);
    var tmp14_local9 = new Long(0, 0);
    var tmp15_local10 = new Long(0, 0);
    var tmp16_local11 = new Long(0, 0);
    var tmp17_local12 = 0;
    var tmp18_local13 = new Long(0, 0);
    var tmp19_local14 = new Long(0, 0);
    var tmp20_local15 = new Long(0, 0);
    var tmp21_local16 = 0;
    var tmp22_local17 = new Long(0, 0);
    var tmp23_local18 = null;
    var tmp24_local19 = new Long(0, 0);
    var tmp25_local20 = new Long(0, 0);
    var tmp26_local21 = new Long(0, 0);
    var tmp27_local22 = new Long(0, 0);
    var tmp28_local23 = null;
    var tmp29_local24 = new Long(0, 0);
    var tmp30_local25 = 0;
    var tmp31_local26 = 0;
    var tmp32_local27 = null;
    var tmp33_local28 = new Long(0, 0);
    var tmp34_local29 = null;
    var tmp35_local30 = null;
    var tmp36_local31 = null;
    var tmp37_input = decoder.n4e(tmp0_desc);
    if (tmp37_input.c4f()) {
      tmp5_local0 = tmp37_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp6_local1 = tmp37_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp6_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp7_local2 = tmp37_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp7_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp8_local3 = tmp37_input.u4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp9_local4 = tmp37_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp10_local5 = tmp37_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp11_local6 = tmp37_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp12_local7 = tmp37_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp13_local8 = tmp37_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp14_local9 = tmp37_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp15_local10 = tmp37_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp16_local11 = tmp37_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp17_local12 = tmp37_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp18_local13 = tmp37_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp19_local14 = tmp37_input.t4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp20_local15 = tmp37_input.t4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp21_local16 = tmp37_input.s4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp22_local17 = tmp37_input.t4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp23_local18 = tmp37_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp23_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp24_local19 = tmp37_input.t4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp25_local20 = tmp37_input.t4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp26_local21 = tmp37_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp27_local22 = tmp37_input.t4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp28_local23 = tmp37_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp28_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp29_local24 = tmp37_input.t4e(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp30_local25 = tmp37_input.s4e(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp31_local26 = tmp37_input.s4e(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp32_local27 = tmp37_input.b4f(tmp0_desc, 27, StringSerializer_getInstance(), tmp32_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
      tmp33_local28 = tmp37_input.t4e(tmp0_desc, 28);
      tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
      tmp34_local29 = tmp37_input.b4f(tmp0_desc, 29, $serializer_getInstance_43(), tmp34_local29);
      tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
      tmp35_local30 = tmp37_input.b4f(tmp0_desc, 30, $serializer_getInstance_74(), tmp35_local30);
      tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
      tmp36_local31 = tmp37_input.b4f(tmp0_desc, 31, $serializer_getInstance_73(), tmp36_local31);
      tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp37_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp5_local0 = tmp37_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp6_local1 = tmp37_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp6_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp7_local2 = tmp37_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp7_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp8_local3 = tmp37_input.u4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp9_local4 = tmp37_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp10_local5 = tmp37_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp11_local6 = tmp37_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp12_local7 = tmp37_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp13_local8 = tmp37_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp14_local9 = tmp37_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp15_local10 = tmp37_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp16_local11 = tmp37_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp17_local12 = tmp37_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp18_local13 = tmp37_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp19_local14 = tmp37_input.t4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp20_local15 = tmp37_input.t4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp21_local16 = tmp37_input.s4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp22_local17 = tmp37_input.t4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp23_local18 = tmp37_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp23_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp24_local19 = tmp37_input.t4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp25_local20 = tmp37_input.t4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp26_local21 = tmp37_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp27_local22 = tmp37_input.t4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp28_local23 = tmp37_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp28_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp29_local24 = tmp37_input.t4e(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp30_local25 = tmp37_input.s4e(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp31_local26 = tmp37_input.s4e(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp32_local27 = tmp37_input.b4f(tmp0_desc, 27, StringSerializer_getInstance(), tmp32_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          case 28:
            tmp33_local28 = tmp37_input.t4e(tmp0_desc, 28);
            tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
            break;
          case 29:
            tmp34_local29 = tmp37_input.b4f(tmp0_desc, 29, $serializer_getInstance_43(), tmp34_local29);
            tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
            break;
          case 30:
            tmp35_local30 = tmp37_input.b4f(tmp0_desc, 30, $serializer_getInstance_74(), tmp35_local30);
            tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
            break;
          case 31:
            tmp36_local31 = tmp37_input.b4f(tmp0_desc, 31, $serializer_getInstance_73(), tmp36_local31);
            tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp37_input.o4e(tmp0_desc);
    return ClazzWithListDisplayDetails_init_$Create$(tmp3_bitMask0, 0, tmp5_local0, tmp6_local1, tmp7_local2, tmp8_local3, tmp9_local4, tmp10_local5, tmp11_local6, tmp12_local7, tmp13_local8, tmp14_local9, tmp15_local10, tmp16_local11, tmp17_local12, tmp18_local13, tmp19_local14, tmp20_local15, tmp21_local16, tmp22_local17, tmp23_local18, tmp24_local19, tmp25_local20, tmp26_local21, tmp27_local22, tmp28_local23, tmp29_local24, tmp30_local25, tmp31_local26, tmp32_local27, tmp33_local28, tmp34_local29, tmp35_local30, tmp36_local31, null);
  };
  protoOf($serializer_48).fji = function (encoder, value) {
    var tmp0_desc = this.eji_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.m8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.m8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.n8j_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.n8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.o8j_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.o8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !equals(value.p8j_1, -1.0)) {
      tmp1_output.y4f(tmp0_desc, 3, value.p8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.q8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.q8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.r8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.r8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.s8j_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.s8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.t8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.t8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.u8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.u8j_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 9)) {
      tmp = true;
    } else {
      var tmp_0 = value.v8j_1;
      Companion_getInstance();
      tmp = !tmp_0.equals(new Long(-1, 2147483647));
    }
    if (tmp) {
      tmp1_output.x4f(tmp0_desc, 9, value.v8j_1);
    }
    var tmp_1;
    if (tmp1_output.j4g(tmp0_desc, 10)) {
      tmp_1 = true;
    } else {
      var tmp_2 = value.w8j_1;
      Companion_getInstance_46();
      tmp_1 = !tmp_2.equals(new Long(1, 0));
    }
    if (tmp_1) {
      tmp1_output.x4f(tmp0_desc, 10, value.w8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.x8j_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.x8j_1);
    }
    var tmp_3;
    if (tmp1_output.j4g(tmp0_desc, 12)) {
      tmp_3 = true;
    } else {
      var tmp_4 = value.y8j_1;
      Companion_getInstance_46();
      tmp_3 = !(tmp_4 === 102);
    }
    if (tmp_3) {
      tmp1_output.w4f(tmp0_desc, 12, value.y8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.z8j_1.equals(new Long(25966, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.z8j_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !value.a8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 14, value.a8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !value.b8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 15, value.b8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.c8k_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 16, value.c8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !value.d8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 17, value.d8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.e8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 18, StringSerializer_getInstance(), value.e8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !value.f8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 19, value.f8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !value.g8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 20, value.g8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.h8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.h8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !value.i8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 22, value.i8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !(value.j8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 23, StringSerializer_getInstance(), value.j8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 24) ? true : !value.k8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 24, value.k8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 25) ? true : !(value.p8n_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 25, value.p8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 26) ? true : !(value.q8n_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 26, value.q8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 27) ? true : !(value.r8n_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 27, StringSerializer_getInstance(), value.r8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 28) ? true : !value.s8n_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 28, value.s8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 29) ? true : !(value.t8n_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 29, $serializer_getInstance_43(), value.t8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 30) ? true : !(value.u8n_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 30, $serializer_getInstance_74(), value.u8n_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 31) ? true : !(value.v8n_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 31, $serializer_getInstance_73(), value.v8n_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_48).w4a = function (encoder, value) {
    return this.fji(encoder, value instanceof ClazzWithListDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_48;
  function $serializer_getInstance_48() {
    if ($serializer_instance_48 == null)
      new $serializer_48();
    return $serializer_instance_48;
  }
  function ClazzWithListDisplayDetails_init_$Init$(seen1, seen2, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, numStudents, numTeachers, teacherNames, lastRecorded, clazzActiveEnrolment, terminology, coursePicture, serializationConstructorMarker, $this) {
    if (!!(!(0 === (0 & seen1)) | !(0 === (0 & seen2)))) {
      // Inline function 'kotlin.intArrayOf' call
      var tmp = new Int32Array([seen1, seen2]);
      // Inline function 'kotlin.intArrayOf' call
      var tmp$ret$1 = new Int32Array([0, 0]);
      throwArrayMissingFieldException(tmp, tmp$ret$1, $serializer_getInstance_48().eji_1);
    }
    Clazz_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this);
    if (0 === (seen1 & 33554432))
      $this.p8n_1 = 0;
    else
      $this.p8n_1 = numStudents;
    if (0 === (seen1 & 67108864))
      $this.q8n_1 = 0;
    else
      $this.q8n_1 = numTeachers;
    if (0 === (seen1 & 134217728))
      $this.r8n_1 = null;
    else
      $this.r8n_1 = teacherNames;
    if (0 === (seen1 & 268435456))
      $this.s8n_1 = new Long(0, 0);
    else
      $this.s8n_1 = lastRecorded;
    if (0 === (seen1 & 536870912))
      $this.t8n_1 = null;
    else
      $this.t8n_1 = clazzActiveEnrolment;
    if (0 === (seen1 & 1073741824))
      $this.u8n_1 = null;
    else
      $this.u8n_1 = terminology;
    if (0 === (seen1 & -2147483648))
      $this.v8n_1 = null;
    else
      $this.v8n_1 = coursePicture;
    return $this;
  }
  function ClazzWithListDisplayDetails_init_$Create$(seen1, seen2, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, numStudents, numTeachers, teacherNames, lastRecorded, clazzActiveEnrolment, terminology, coursePicture, serializationConstructorMarker) {
    return ClazzWithListDisplayDetails_init_$Init$(seen1, seen2, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, numStudents, numTeachers, teacherNames, lastRecorded, clazzActiveEnrolment, terminology, coursePicture, serializationConstructorMarker, objectCreate(protoOf(ClazzWithListDisplayDetails)));
  }
  function ClazzWithListDisplayDetails() {
    Clazz.call(this);
    this.p8n_1 = 0;
    this.q8n_1 = 0;
    this.r8n_1 = null;
    this.s8n_1 = new Long(0, 0);
    this.t8n_1 = null;
    this.u8n_1 = null;
    this.v8n_1 = null;
  }
  protoOf(ClazzWithListDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzWithListDisplayDetails))
      return false;
    if (!protoOf(Clazz).equals.call(this, other))
      return false;
    if (!(this.p8n_1 === other.p8n_1))
      return false;
    if (!(this.q8n_1 === other.q8n_1))
      return false;
    if (!(this.r8n_1 == other.r8n_1))
      return false;
    if (!this.s8n_1.equals(other.s8n_1))
      return false;
    if (!equals(this.t8n_1, other.t8n_1))
      return false;
    if (!equals(this.u8n_1, other.u8n_1))
      return false;
    return equals(this.v8n_1, other.v8n_1);
  };
  protoOf(ClazzWithListDisplayDetails).hashCode = function () {
    var result = protoOf(Clazz).hashCode.call(this);
    result = imul(31, result) + this.p8n_1 | 0;
    result = imul(31, result) + this.q8n_1 | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.r8n_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + this.s8n_1.hashCode() | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.t8n_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : hashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.u8n_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : hashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    var tmp_2 = imul(31, result);
    var tmp6_safe_receiver = this.v8n_1;
    var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.hashCode();
    result = tmp_2 + (tmp7_elvis_lhs == null ? 0 : tmp7_elvis_lhs) | 0;
    return result;
  };
  function Companion_52() {
    this.gji_1 = 208;
    this.hji_1 = 0;
  }
  var Companion_instance_53;
  function Companion_getInstance_55() {
    return Companion_instance_53;
  }
  function $serializer_49() {
    $serializer_instance_49 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Comments', this, 11);
    tmp0_serialDesc.y4l('commentsUid', true);
    tmp0_serialDesc.y4l('commentsText', true);
    tmp0_serialDesc.y4l('commentsEntityUid', true);
    tmp0_serialDesc.y4l('commentsStatus', true);
    tmp0_serialDesc.y4l('commentsFromPersonUid', true);
    tmp0_serialDesc.y4l('commentsForSubmitterUid', true);
    tmp0_serialDesc.y4l('commentsFromSubmitterUid', true);
    tmp0_serialDesc.y4l('commentsFlagged', true);
    tmp0_serialDesc.y4l('commentsDeleted', true);
    tmp0_serialDesc.y4l('commentsDateTimeAdded', true);
    tmp0_serialDesc.y4l('commentsLct', true);
    this.iji_1 = tmp0_serialDesc;
  }
  protoOf($serializer_49).v4a = function () {
    return this.iji_1;
  };
  protoOf($serializer_49).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_49).x4a = function (decoder) {
    var tmp0_desc = this.iji_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = false;
    var tmp12_local8 = false;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.p4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.p4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return Comments_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_49).jji = function (encoder, value) {
    var tmp0_desc = this.iji_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.qa5_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.qa5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ra5_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ra5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.sa5_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.sa5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ta5_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.ta5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.ua5_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.ua5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.va5_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.va5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.wa5_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.wa5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.xa5_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 7, value.xa5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.ya5_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 8, value.ya5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.za5_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.za5_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.aa6_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.aa6_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_49).w4a = function (encoder, value) {
    return this.jji(encoder, value instanceof Comments ? value : THROW_CCE());
  };
  var $serializer_instance_49;
  function $serializer_getInstance_49() {
    if ($serializer_instance_49 == null)
      new $serializer_49();
    return $serializer_instance_49;
  }
  function Comments_init_$Init$(seen1, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_49().iji_1);
    }
    if (0 === (seen1 & 1))
      $this.qa5_1 = new Long(0, 0);
    else
      $this.qa5_1 = commentsUid;
    if (0 === (seen1 & 2))
      $this.ra5_1 = null;
    else
      $this.ra5_1 = commentsText;
    if (0 === (seen1 & 4))
      $this.sa5_1 = new Long(0, 0);
    else
      $this.sa5_1 = commentsEntityUid;
    if (0 === (seen1 & 8))
      $this.ta5_1 = 0;
    else
      $this.ta5_1 = commentsStatus;
    if (0 === (seen1 & 16))
      $this.ua5_1 = new Long(0, 0);
    else
      $this.ua5_1 = commentsFromPersonUid;
    if (0 === (seen1 & 32))
      $this.va5_1 = new Long(0, 0);
    else
      $this.va5_1 = commentsForSubmitterUid;
    if (0 === (seen1 & 64))
      $this.wa5_1 = new Long(0, 0);
    else
      $this.wa5_1 = commentsFromSubmitterUid;
    if (0 === (seen1 & 128))
      $this.xa5_1 = false;
    else
      $this.xa5_1 = commentsFlagged;
    if (0 === (seen1 & 256))
      $this.ya5_1 = false;
    else
      $this.ya5_1 = commentsDeleted;
    if (0 === (seen1 & 512))
      $this.za5_1 = new Long(0, 0);
    else
      $this.za5_1 = commentsDateTimeAdded;
    if (0 === (seen1 & 1024))
      $this.aa6_1 = new Long(0, 0);
    else
      $this.aa6_1 = commentsLct;
    return $this;
  }
  function Comments_init_$Create$(seen1, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, serializationConstructorMarker) {
    return Comments_init_$Init$(seen1, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, serializationConstructorMarker, objectCreate(protoOf(Comments)));
  }
  function Comments(commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) {
    commentsUid = commentsUid === VOID ? new Long(0, 0) : commentsUid;
    commentsText = commentsText === VOID ? null : commentsText;
    commentsEntityUid = commentsEntityUid === VOID ? new Long(0, 0) : commentsEntityUid;
    commentsStatus = commentsStatus === VOID ? 0 : commentsStatus;
    commentsFromPersonUid = commentsFromPersonUid === VOID ? new Long(0, 0) : commentsFromPersonUid;
    commentsForSubmitterUid = commentsForSubmitterUid === VOID ? new Long(0, 0) : commentsForSubmitterUid;
    commentsFromSubmitterUid = commentsFromSubmitterUid === VOID ? new Long(0, 0) : commentsFromSubmitterUid;
    commentsFlagged = commentsFlagged === VOID ? false : commentsFlagged;
    commentsDeleted = commentsDeleted === VOID ? false : commentsDeleted;
    commentsDateTimeAdded = commentsDateTimeAdded === VOID ? new Long(0, 0) : commentsDateTimeAdded;
    commentsLct = commentsLct === VOID ? new Long(0, 0) : commentsLct;
    this.qa5_1 = commentsUid;
    this.ra5_1 = commentsText;
    this.sa5_1 = commentsEntityUid;
    this.ta5_1 = commentsStatus;
    this.ua5_1 = commentsFromPersonUid;
    this.va5_1 = commentsForSubmitterUid;
    this.wa5_1 = commentsFromSubmitterUid;
    this.xa5_1 = commentsFlagged;
    this.ya5_1 = commentsDeleted;
    this.za5_1 = commentsDateTimeAdded;
    this.aa6_1 = commentsLct;
  }
  protoOf(Comments).toString = function () {
    return 'Comments(commentsUid=' + this.qa5_1.toString() + ', commentsText=' + this.ra5_1 + ', commentsEntityUid=' + this.sa5_1.toString() + ', commentsStatus=' + this.ta5_1 + ', commentsFromPersonUid=' + this.ua5_1.toString() + ', commentsForSubmitterUid=' + this.va5_1.toString() + ', commentsFromSubmitterUid=' + this.wa5_1.toString() + ', commentsFlagged=' + this.xa5_1 + ', commentsDeleted=' + this.ya5_1 + ', commentsDateTimeAdded=' + this.za5_1.toString() + ', commentsLct=' + this.aa6_1.toString() + ')';
  };
  protoOf(Comments).hashCode = function () {
    var result = this.qa5_1.hashCode();
    result = imul(result, 31) + (this.ra5_1 == null ? 0 : getStringHashCode(this.ra5_1)) | 0;
    result = imul(result, 31) + this.sa5_1.hashCode() | 0;
    result = imul(result, 31) + this.ta5_1 | 0;
    result = imul(result, 31) + this.ua5_1.hashCode() | 0;
    result = imul(result, 31) + this.va5_1.hashCode() | 0;
    result = imul(result, 31) + this.wa5_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.xa5_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.ya5_1) | 0;
    result = imul(result, 31) + this.za5_1.hashCode() | 0;
    result = imul(result, 31) + this.aa6_1.hashCode() | 0;
    return result;
  };
  protoOf(Comments).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Comments))
      return false;
    var tmp0_other_with_cast = other instanceof Comments ? other : THROW_CCE();
    if (!this.qa5_1.equals(tmp0_other_with_cast.qa5_1))
      return false;
    if (!(this.ra5_1 == tmp0_other_with_cast.ra5_1))
      return false;
    if (!this.sa5_1.equals(tmp0_other_with_cast.sa5_1))
      return false;
    if (!(this.ta5_1 === tmp0_other_with_cast.ta5_1))
      return false;
    if (!this.ua5_1.equals(tmp0_other_with_cast.ua5_1))
      return false;
    if (!this.va5_1.equals(tmp0_other_with_cast.va5_1))
      return false;
    if (!this.wa5_1.equals(tmp0_other_with_cast.wa5_1))
      return false;
    if (!(this.xa5_1 === tmp0_other_with_cast.xa5_1))
      return false;
    if (!(this.ya5_1 === tmp0_other_with_cast.ya5_1))
      return false;
    if (!this.za5_1.equals(tmp0_other_with_cast.za5_1))
      return false;
    if (!this.aa6_1.equals(tmp0_other_with_cast.aa6_1))
      return false;
    return true;
  };
  function Companion_53() {
    this.kji_1 = 1;
  }
  var Companion_instance_54;
  function Companion_getInstance_56() {
    return Companion_instance_54;
  }
  function $serializer_50() {
    $serializer_instance_50 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentCategory', this, 7);
    tmp0_serialDesc.y4l('contentCategoryUid', true);
    tmp0_serialDesc.y4l('ctnCatContentCategorySchemaUid', true);
    tmp0_serialDesc.y4l('name', true);
    tmp0_serialDesc.y4l('contentCategoryLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentCategoryMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentCategoryLastChangedBy', true);
    tmp0_serialDesc.y4l('contentCategoryLct', true);
    this.lji_1 = tmp0_serialDesc;
  }
  protoOf($serializer_50).v4a = function () {
    return this.lji_1;
  };
  protoOf($serializer_50).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_50).x4a = function (decoder) {
    var tmp0_desc = this.lji_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return ContentCategory_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_50).mji = function (encoder, value) {
    var tmp0_desc = this.lji_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.iag_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.iag_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.jag_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.jag_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.kag_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.kag_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.lag_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.lag_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.mag_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.mag_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.nag_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.nag_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.oag_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.oag_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_50).w4a = function (encoder, value) {
    return this.mji(encoder, value instanceof ContentCategory ? value : THROW_CCE());
  };
  var $serializer_instance_50;
  function $serializer_getInstance_50() {
    if ($serializer_instance_50 == null)
      new $serializer_50();
    return $serializer_instance_50;
  }
  function ContentCategory_init_$Init$(seen1, contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_50().lji_1);
    }
    if (0 === (seen1 & 1))
      $this.iag_1 = new Long(0, 0);
    else
      $this.iag_1 = contentCategoryUid;
    if (0 === (seen1 & 2))
      $this.jag_1 = new Long(0, 0);
    else
      $this.jag_1 = ctnCatContentCategorySchemaUid;
    if (0 === (seen1 & 4))
      $this.kag_1 = null;
    else
      $this.kag_1 = name;
    if (0 === (seen1 & 8))
      $this.lag_1 = new Long(0, 0);
    else
      $this.lag_1 = contentCategoryLocalChangeSeqNum;
    if (0 === (seen1 & 16))
      $this.mag_1 = new Long(0, 0);
    else
      $this.mag_1 = contentCategoryMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.nag_1 = 0;
    else
      $this.nag_1 = contentCategoryLastChangedBy;
    if (0 === (seen1 & 64))
      $this.oag_1 = new Long(0, 0);
    else
      $this.oag_1 = contentCategoryLct;
    return $this;
  }
  function ContentCategory_init_$Create$(seen1, contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct, serializationConstructorMarker) {
    return ContentCategory_init_$Init$(seen1, contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct, serializationConstructorMarker, objectCreate(protoOf(ContentCategory)));
  }
  function ContentCategory() {
    this.iag_1 = new Long(0, 0);
    this.jag_1 = new Long(0, 0);
    this.kag_1 = null;
    this.lag_1 = new Long(0, 0);
    this.mag_1 = new Long(0, 0);
    this.nag_1 = 0;
    this.oag_1 = new Long(0, 0);
  }
  protoOf(ContentCategory).equals = function (other) {
    if (this === other)
      return true;
    var category = (other == null ? true : other instanceof ContentCategory) ? other : THROW_CCE();
    if (!this.iag_1.equals(ensureNotNull(category).iag_1))
      return false;
    if (!this.jag_1.equals(category.jag_1))
      return false;
    return !(this.kag_1 == null) ? this.kag_1 == category.kag_1 : category.kag_1 == null;
  };
  protoOf(ContentCategory).hashCode = function () {
    var result = this.iag_1.wc(this.iag_1.tc(32)).mb();
    result = imul(31, result) + this.jag_1.wc(this.jag_1.tc(32)).mb() | 0;
    result = imul(31, result) + (!(this.kag_1 == null) ? getStringHashCode(ensureNotNull(this.kag_1)) : 0) | 0;
    return result;
  };
  function Companion_54() {
    this.nji_1 = 2;
  }
  var Companion_instance_55;
  function Companion_getInstance_57() {
    return Companion_instance_55;
  }
  function $serializer_51() {
    $serializer_instance_51 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentCategorySchema', this, 7);
    tmp0_serialDesc.y4l('contentCategorySchemaUid', true);
    tmp0_serialDesc.y4l('schemaName', true);
    tmp0_serialDesc.y4l('schemaUrl', true);
    tmp0_serialDesc.y4l('contentCategorySchemaLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentCategorySchemaMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentCategorySchemaLastChangedBy', true);
    tmp0_serialDesc.y4l('contentCategorySchemaLct', true);
    this.oji_1 = tmp0_serialDesc;
  }
  protoOf($serializer_51).v4a = function () {
    return this.oji_1;
  };
  protoOf($serializer_51).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_51).x4a = function (decoder) {
    var tmp0_desc = this.oji_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return ContentCategorySchema_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_51).pji = function (encoder, value) {
    var tmp0_desc = this.oji_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.tai_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.tai_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.uai_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.uai_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.vai_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.vai_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.wai_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.wai_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.xai_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.xai_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.yai_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.yai_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.zai_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.zai_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_51).w4a = function (encoder, value) {
    return this.pji(encoder, value instanceof ContentCategorySchema ? value : THROW_CCE());
  };
  var $serializer_instance_51;
  function $serializer_getInstance_51() {
    if ($serializer_instance_51 == null)
      new $serializer_51();
    return $serializer_instance_51;
  }
  function ContentCategorySchema_init_$Init$(seen1, contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_51().oji_1);
    }
    if (0 === (seen1 & 1))
      $this.tai_1 = new Long(0, 0);
    else
      $this.tai_1 = contentCategorySchemaUid;
    if (0 === (seen1 & 2))
      $this.uai_1 = null;
    else
      $this.uai_1 = schemaName;
    if (0 === (seen1 & 4))
      $this.vai_1 = null;
    else
      $this.vai_1 = schemaUrl;
    if (0 === (seen1 & 8))
      $this.wai_1 = new Long(0, 0);
    else
      $this.wai_1 = contentCategorySchemaLocalChangeSeqNum;
    if (0 === (seen1 & 16))
      $this.xai_1 = new Long(0, 0);
    else
      $this.xai_1 = contentCategorySchemaMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.yai_1 = 0;
    else
      $this.yai_1 = contentCategorySchemaLastChangedBy;
    if (0 === (seen1 & 64))
      $this.zai_1 = new Long(0, 0);
    else
      $this.zai_1 = contentCategorySchemaLct;
    return $this;
  }
  function ContentCategorySchema_init_$Create$(seen1, contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct, serializationConstructorMarker) {
    return ContentCategorySchema_init_$Init$(seen1, contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct, serializationConstructorMarker, objectCreate(protoOf(ContentCategorySchema)));
  }
  function ContentCategorySchema() {
    this.tai_1 = new Long(0, 0);
    this.uai_1 = null;
    this.vai_1 = null;
    this.wai_1 = new Long(0, 0);
    this.xai_1 = new Long(0, 0);
    this.yai_1 = 0;
    this.zai_1 = new Long(0, 0);
  }
  protoOf(ContentCategorySchema).equals = function (other) {
    if (this === other)
      return true;
    var schema = (other == null ? true : other instanceof ContentCategorySchema) ? other : THROW_CCE();
    if (!this.tai_1.equals(ensureNotNull(schema).tai_1))
      return false;
    if (!(this.uai_1 == null) ? !(this.uai_1 == schema.uai_1) : !(schema.uai_1 == null))
      return false;
    return !(this.vai_1 == null) ? this.vai_1 == schema.vai_1 : schema.vai_1 == null;
  };
  protoOf(ContentCategorySchema).hashCode = function () {
    var result = this.tai_1.wc(this.tai_1.tc(32)).mb();
    result = imul(31, result) + (!(this.uai_1 == null) ? getStringHashCode(ensureNotNull(this.uai_1)) : 0) | 0;
    result = imul(31, result) + (!(this.vai_1 == null) ? getStringHashCode(ensureNotNull(this.vai_1)) : 0) | 0;
    return result;
  };
  function Companion_55() {
    this.qji_1 = 42;
    this.rji_1 = 0;
    this.sji_1 = 1;
    this.tji_1 = 2;
    this.uji_1 = 3;
    this.vji_1 = 4;
    this.wji_1 = 5;
    this.xji_1 = 6;
    this.yji_1 = 7;
    this.zji_1 = 8;
    this.ajj_1 = 10;
    this.bjj_1 = 11;
    this.cjj_1 = 9;
    this.djj_1 = 0;
    this.ejj_1 = 1;
    this.fjj_1 = 2;
    this.gjj_1 = 3;
    this.hjj_1 = 4;
    this.ijj_1 = 5;
    this.jjj_1 = 6;
    this.kjj_1 = 7;
    this.ljj_1 = 8;
    this.mjj_1 = 1;
    this.njj_1 = 0;
    this.ojj_1 = 1;
    this.pjj_1 = 2;
    this.qjj_1 = 1;
    this.rjj_1 = 2;
  }
  protoOf(Companion_55).s4x = function () {
    return $serializer_getInstance_52();
  };
  var Companion_instance_56;
  function Companion_getInstance_58() {
    return Companion_instance_56;
  }
  function $serializer_52() {
    $serializer_instance_52 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntry', this, 27);
    tmp0_serialDesc.y4l('contentEntryUid', true);
    tmp0_serialDesc.y4l('title', true);
    tmp0_serialDesc.y4l('description', true);
    tmp0_serialDesc.y4l('entryId', true);
    tmp0_serialDesc.y4l('author', true);
    tmp0_serialDesc.y4l('publisher', true);
    tmp0_serialDesc.y4l('licenseType', true);
    tmp0_serialDesc.y4l('licenseName', true);
    tmp0_serialDesc.y4l('licenseUrl', true);
    tmp0_serialDesc.y4l('sourceUrl', true);
    tmp0_serialDesc.y4l('thumbnailUrl', true);
    tmp0_serialDesc.y4l('lastModified', true);
    tmp0_serialDesc.y4l('primaryLanguageUid', true);
    tmp0_serialDesc.y4l('languageVariantUid', true);
    tmp0_serialDesc.y4l('contentFlags', true);
    tmp0_serialDesc.y4l('leaf', true);
    tmp0_serialDesc.y4l('publik', true);
    tmp0_serialDesc.y4l('ceInactive', true);
    tmp0_serialDesc.y4l('completionCriteria', true);
    tmp0_serialDesc.y4l('minScore', true);
    tmp0_serialDesc.y4l('contentTypeFlag', true);
    tmp0_serialDesc.y4l('contentOwner', true);
    tmp0_serialDesc.y4l('contentOwnerType', true);
    tmp0_serialDesc.y4l('contentEntryLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentEntryMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentEntryLastChangedBy', true);
    tmp0_serialDesc.y4l('contentEntryLct', true);
    this.sjj_1 = tmp0_serialDesc;
  }
  protoOf($serializer_52).v4a = function () {
    return this.sjj_1;
  };
  protoOf($serializer_52).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_52).x4a = function (decoder) {
    var tmp0_desc = this.sjj_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = null;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_local10 = null;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = 0;
    var tmp19_local15 = false;
    var tmp20_local16 = false;
    var tmp21_local17 = false;
    var tmp22_local18 = 0;
    var tmp23_local19 = 0;
    var tmp24_local20 = 0;
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = 0;
    var tmp30_local26 = new Long(0, 0);
    var tmp31_input = decoder.n4e(tmp0_desc);
    if (tmp31_input.c4f()) {
      tmp4_local0 = tmp31_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp31_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp31_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp31_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp31_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp31_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp31_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp31_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp31_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp31_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp31_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp31_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp31_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp31_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp31_input.s4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp31_input.p4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp31_input.p4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp31_input.p4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp31_input.s4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp31_input.s4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp31_input.s4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp31_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp31_input.s4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp31_input.t4e(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp31_input.t4e(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp31_input.s4e(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp31_input.t4e(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp31_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp31_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp31_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp31_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp31_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp31_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp31_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp31_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp31_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp31_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp31_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp31_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp31_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp31_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp31_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp31_input.s4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp31_input.p4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp31_input.p4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp31_input.p4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp31_input.s4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp31_input.s4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp31_input.s4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp31_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp31_input.s4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp31_input.t4e(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp31_input.t4e(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp31_input.s4e(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp31_input.t4e(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp31_input.o4e(tmp0_desc);
    return ContentEntry_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, null);
  };
  protoOf($serializer_52).tjj = function (encoder, value) {
    var tmp0_desc = this.sjj_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.xan_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.xan_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.yan_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.yan_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.zan_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.zan_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.aao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.aao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.bao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.bao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.cao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.cao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.dao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.dao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.eao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 7, StringSerializer_getInstance(), value.eao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.fao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 8, StringSerializer_getInstance(), value.fao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.gao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 9, StringSerializer_getInstance(), value.gao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.hao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 10, StringSerializer_getInstance(), value.hao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.iao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.iao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.jao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.jao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.kao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.kao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.lao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 14, value.lao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.mao_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 15, value.mao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.nao_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 16, value.nao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.oao_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 17, value.oao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.pao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 18, value.pao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.qao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 19, value.qao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !(value.rao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 20, value.rao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.sao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.sao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.tao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 22, value.tao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !value.uao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 23, value.uao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 24) ? true : !value.vao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 24, value.vao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 25) ? true : !(value.wao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 25, value.wao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 26) ? true : !value.xao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 26, value.xao_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_52).w4a = function (encoder, value) {
    return this.tjj(encoder, value instanceof ContentEntry ? value : THROW_CCE());
  };
  var $serializer_instance_52;
  function $serializer_getInstance_52() {
    if ($serializer_instance_52 == null)
      new $serializer_52();
    return $serializer_instance_52;
  }
  function ContentEntry_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_52().sjj_1);
    }
    if (0 === (seen1 & 1))
      $this.xan_1 = new Long(0, 0);
    else
      $this.xan_1 = contentEntryUid;
    if (0 === (seen1 & 2))
      $this.yan_1 = null;
    else
      $this.yan_1 = title;
    if (0 === (seen1 & 4))
      $this.zan_1 = null;
    else
      $this.zan_1 = description;
    if (0 === (seen1 & 8))
      $this.aao_1 = null;
    else
      $this.aao_1 = entryId;
    if (0 === (seen1 & 16))
      $this.bao_1 = null;
    else
      $this.bao_1 = author;
    if (0 === (seen1 & 32))
      $this.cao_1 = null;
    else
      $this.cao_1 = publisher;
    if (0 === (seen1 & 64))
      $this.dao_1 = 0;
    else
      $this.dao_1 = licenseType;
    if (0 === (seen1 & 128))
      $this.eao_1 = null;
    else
      $this.eao_1 = licenseName;
    if (0 === (seen1 & 256))
      $this.fao_1 = null;
    else
      $this.fao_1 = licenseUrl;
    if (0 === (seen1 & 512))
      $this.gao_1 = null;
    else
      $this.gao_1 = sourceUrl;
    if (0 === (seen1 & 1024))
      $this.hao_1 = null;
    else
      $this.hao_1 = thumbnailUrl;
    if (0 === (seen1 & 2048))
      $this.iao_1 = new Long(0, 0);
    else
      $this.iao_1 = lastModified;
    if (0 === (seen1 & 4096))
      $this.jao_1 = new Long(0, 0);
    else
      $this.jao_1 = primaryLanguageUid;
    if (0 === (seen1 & 8192))
      $this.kao_1 = new Long(0, 0);
    else
      $this.kao_1 = languageVariantUid;
    if (0 === (seen1 & 16384))
      $this.lao_1 = 0;
    else
      $this.lao_1 = contentFlags;
    if (0 === (seen1 & 32768))
      $this.mao_1 = false;
    else
      $this.mao_1 = leaf;
    if (0 === (seen1 & 65536))
      $this.nao_1 = true;
    else
      $this.nao_1 = publik;
    if (0 === (seen1 & 131072))
      $this.oao_1 = false;
    else
      $this.oao_1 = ceInactive;
    if (0 === (seen1 & 262144))
      $this.pao_1 = 0;
    else
      $this.pao_1 = completionCriteria;
    if (0 === (seen1 & 524288))
      $this.qao_1 = 0;
    else
      $this.qao_1 = minScore;
    if (0 === (seen1 & 1048576))
      $this.rao_1 = 0;
    else
      $this.rao_1 = contentTypeFlag;
    if (0 === (seen1 & 2097152))
      $this.sao_1 = new Long(0, 0);
    else
      $this.sao_1 = contentOwner;
    if (0 === (seen1 & 4194304))
      $this.tao_1 = 0;
    else
      $this.tao_1 = contentOwnerType;
    if (0 === (seen1 & 8388608))
      $this.uao_1 = new Long(0, 0);
    else
      $this.uao_1 = contentEntryLocalChangeSeqNum;
    if (0 === (seen1 & 16777216))
      $this.vao_1 = new Long(0, 0);
    else
      $this.vao_1 = contentEntryMasterChangeSeqNum;
    if (0 === (seen1 & 33554432))
      $this.wao_1 = 0;
    else
      $this.wao_1 = contentEntryLastChangedBy;
    if (0 === (seen1 & 67108864))
      $this.xao_1 = new Long(0, 0);
    else
      $this.xao_1 = contentEntryLct;
    return $this;
  }
  function ContentEntry_init_$Create$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker) {
    return ContentEntry_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker, objectCreate(protoOf(ContentEntry)));
  }
  function ContentEntry() {
    this.xan_1 = new Long(0, 0);
    this.yan_1 = null;
    this.zan_1 = null;
    this.aao_1 = null;
    this.bao_1 = null;
    this.cao_1 = null;
    this.dao_1 = 0;
    this.eao_1 = null;
    this.fao_1 = null;
    this.gao_1 = null;
    this.hao_1 = null;
    this.iao_1 = new Long(0, 0);
    this.jao_1 = new Long(0, 0);
    this.kao_1 = new Long(0, 0);
    this.lao_1 = 0;
    this.mao_1 = false;
    this.nao_1 = true;
    this.oao_1 = false;
    this.pao_1 = 0;
    this.qao_1 = 0;
    this.rao_1 = 0;
    this.sao_1 = new Long(0, 0);
    this.tao_1 = 0;
    this.uao_1 = new Long(0, 0);
    this.vao_1 = new Long(0, 0);
    this.wao_1 = 0;
    this.xao_1 = new Long(0, 0);
  }
  protoOf(ContentEntry).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntry))
      return false;
    if (!this.xan_1.equals(other.xan_1))
      return false;
    if (!(this.yan_1 == other.yan_1))
      return false;
    if (!(this.zan_1 == other.zan_1))
      return false;
    if (!(this.aao_1 == other.aao_1))
      return false;
    if (!(this.bao_1 == other.bao_1))
      return false;
    if (!(this.cao_1 == other.cao_1))
      return false;
    if (!(this.dao_1 === other.dao_1))
      return false;
    if (!(this.eao_1 == other.eao_1))
      return false;
    if (!(this.fao_1 == other.fao_1))
      return false;
    if (!(this.gao_1 == other.gao_1))
      return false;
    if (!(this.hao_1 == other.hao_1))
      return false;
    if (!this.iao_1.equals(other.iao_1))
      return false;
    if (!this.jao_1.equals(other.jao_1))
      return false;
    if (!this.kao_1.equals(other.kao_1))
      return false;
    if (!(this.lao_1 === other.lao_1))
      return false;
    if (!(this.mao_1 === other.mao_1))
      return false;
    if (!(this.nao_1 === other.nao_1))
      return false;
    if (!(this.oao_1 === other.oao_1))
      return false;
    if (!(this.rao_1 === other.rao_1))
      return false;
    if (!(this.pao_1 === other.pao_1))
      return false;
    if (!(this.qao_1 === other.qao_1))
      return false;
    if (!this.uao_1.equals(other.uao_1))
      return false;
    if (!this.vao_1.equals(other.vao_1))
      return false;
    if (!(this.wao_1 === other.wao_1))
      return false;
    return true;
  };
  protoOf(ContentEntry).hashCode = function () {
    var result = this.xan_1.hashCode();
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.yan_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.zan_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.aao_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    var tmp_2 = imul(31, result);
    var tmp6_safe_receiver = this.bao_1;
    var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : getStringHashCode(tmp6_safe_receiver);
    result = tmp_2 + (tmp7_elvis_lhs == null ? 0 : tmp7_elvis_lhs) | 0;
    var tmp_3 = imul(31, result);
    var tmp8_safe_receiver = this.cao_1;
    var tmp9_elvis_lhs = tmp8_safe_receiver == null ? null : getStringHashCode(tmp8_safe_receiver);
    result = tmp_3 + (tmp9_elvis_lhs == null ? 0 : tmp9_elvis_lhs) | 0;
    result = imul(31, result) + this.dao_1 | 0;
    var tmp_4 = imul(31, result);
    var tmp10_safe_receiver = this.eao_1;
    var tmp11_elvis_lhs = tmp10_safe_receiver == null ? null : getStringHashCode(tmp10_safe_receiver);
    result = tmp_4 + (tmp11_elvis_lhs == null ? 0 : tmp11_elvis_lhs) | 0;
    var tmp_5 = imul(31, result);
    var tmp12_safe_receiver = this.fao_1;
    var tmp13_elvis_lhs = tmp12_safe_receiver == null ? null : getStringHashCode(tmp12_safe_receiver);
    result = tmp_5 + (tmp13_elvis_lhs == null ? 0 : tmp13_elvis_lhs) | 0;
    var tmp_6 = imul(31, result);
    var tmp14_safe_receiver = this.gao_1;
    var tmp15_elvis_lhs = tmp14_safe_receiver == null ? null : getStringHashCode(tmp14_safe_receiver);
    result = tmp_6 + (tmp15_elvis_lhs == null ? 0 : tmp15_elvis_lhs) | 0;
    var tmp_7 = imul(31, result);
    var tmp16_safe_receiver = this.hao_1;
    var tmp17_elvis_lhs = tmp16_safe_receiver == null ? null : getStringHashCode(tmp16_safe_receiver);
    result = tmp_7 + (tmp17_elvis_lhs == null ? 0 : tmp17_elvis_lhs) | 0;
    result = imul(31, result) + this.iao_1.hashCode() | 0;
    result = imul(31, result) + this.jao_1.hashCode() | 0;
    result = imul(31, result) + this.kao_1.hashCode() | 0;
    result = imul(31, result) + this.lao_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.mao_1) | 0;
    result = imul(31, result) + getBooleanHashCode(this.nao_1) | 0;
    result = imul(31, result) + getBooleanHashCode(this.oao_1) | 0;
    result = imul(31, result) + this.rao_1 | 0;
    result = imul(31, result) + this.pao_1 | 0;
    result = imul(31, result) + this.qao_1 | 0;
    result = imul(31, result) + this.uao_1.hashCode() | 0;
    result = imul(31, result) + this.vao_1.hashCode() | 0;
    result = imul(31, result) + this.wao_1 | 0;
    return result;
  };
  function ContentEntryButtonModel() {
    this.ujj_1 = false;
    this.vjj_1 = false;
    this.wjj_1 = false;
    this.xjj_1 = false;
    this.yjj_1 = false;
  }
  function Companion_56() {
    this.zjj_1 = 3;
  }
  var Companion_instance_57;
  function Companion_getInstance_59() {
    return Companion_instance_57;
  }
  function $serializer_53() {
    $serializer_instance_53 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryContentCategoryJoin', this, 7);
    tmp0_serialDesc.y4l('ceccjUid', true);
    tmp0_serialDesc.y4l('ceccjContentEntryUid', true);
    tmp0_serialDesc.y4l('ceccjContentCategoryUid', true);
    tmp0_serialDesc.y4l('ceccjLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('ceccjMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('ceccjLastChangedBy', true);
    tmp0_serialDesc.y4l('ceccjLct', true);
    this.ajk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_53).v4a = function () {
    return this.ajk_1;
  };
  protoOf($serializer_53).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_53).x4a = function (decoder) {
    var tmp0_desc = this.ajk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return ContentEntryContentCategoryJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_53).bjk = function (encoder, value) {
    var tmp0_desc = this.ajk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.eal_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.eal_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.fal_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.fal_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.gal_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.gal_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.hal_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.hal_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.ial_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.ial_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.jal_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.jal_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.kal_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.kal_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_53).w4a = function (encoder, value) {
    return this.bjk(encoder, value instanceof ContentEntryContentCategoryJoin ? value : THROW_CCE());
  };
  var $serializer_instance_53;
  function $serializer_getInstance_53() {
    if ($serializer_instance_53 == null)
      new $serializer_53();
    return $serializer_instance_53;
  }
  function ContentEntryContentCategoryJoin_init_$Init$(seen1, ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_53().ajk_1);
    }
    if (0 === (seen1 & 1))
      $this.eal_1 = new Long(0, 0);
    else
      $this.eal_1 = ceccjUid;
    if (0 === (seen1 & 2))
      $this.fal_1 = new Long(0, 0);
    else
      $this.fal_1 = ceccjContentEntryUid;
    if (0 === (seen1 & 4))
      $this.gal_1 = new Long(0, 0);
    else
      $this.gal_1 = ceccjContentCategoryUid;
    if (0 === (seen1 & 8))
      $this.hal_1 = new Long(0, 0);
    else
      $this.hal_1 = ceccjLocalChangeSeqNum;
    if (0 === (seen1 & 16))
      $this.ial_1 = new Long(0, 0);
    else
      $this.ial_1 = ceccjMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.jal_1 = 0;
    else
      $this.jal_1 = ceccjLastChangedBy;
    if (0 === (seen1 & 64))
      $this.kal_1 = new Long(0, 0);
    else
      $this.kal_1 = ceccjLct;
    return $this;
  }
  function ContentEntryContentCategoryJoin_init_$Create$(seen1, ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct, serializationConstructorMarker) {
    return ContentEntryContentCategoryJoin_init_$Init$(seen1, ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct, serializationConstructorMarker, objectCreate(protoOf(ContentEntryContentCategoryJoin)));
  }
  function ContentEntryContentCategoryJoin() {
    this.eal_1 = new Long(0, 0);
    this.fal_1 = new Long(0, 0);
    this.gal_1 = new Long(0, 0);
    this.hal_1 = new Long(0, 0);
    this.ial_1 = new Long(0, 0);
    this.jal_1 = 0;
    this.kal_1 = new Long(0, 0);
  }
  protoOf(ContentEntryContentCategoryJoin).equals = function (other) {
    if (this === other)
      return true;
    var that = (other == null ? true : other instanceof ContentEntryContentCategoryJoin) ? other : THROW_CCE();
    if (!this.eal_1.equals(ensureNotNull(that).eal_1))
      return false;
    return !this.fal_1.equals(that.fal_1) ? false : this.gal_1.equals(that.gal_1);
  };
  protoOf(ContentEntryContentCategoryJoin).hashCode = function () {
    var result = this.eal_1.wc(this.eal_1.tc(32)).mb();
    result = imul(31, result) + this.fal_1.wc(this.fal_1.tc(32)).mb() | 0;
    result = imul(31, result) + this.gal_1.wc(this.gal_1.tc(32)).mb() | 0;
    return result;
  };
  function Companion_57() {
    this.cjk_1 = 720;
    this.djk_1 = 'subtitles';
  }
  var Companion_instance_58;
  function Companion_getInstance_60() {
    return Companion_instance_58;
  }
  function $serializer_54() {
    $serializer_instance_54 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryImportJob', this, 20);
    tmp0_serialDesc.y4l('cjiUid', true);
    tmp0_serialDesc.y4l('sourceUri', true);
    tmp0_serialDesc.y4l('cjiOriginalFilename', true);
    tmp0_serialDesc.y4l('cjiContentEntryUid', true);
    tmp0_serialDesc.y4l('cjiParentContentEntryUid', true);
    tmp0_serialDesc.y4l('cjiContentEntryVersion', true);
    tmp0_serialDesc.y4l('cjiItemProgress', true);
    tmp0_serialDesc.y4l('cjiItemTotal', true);
    tmp0_serialDesc.y4l('cjiStatus', true);
    tmp0_serialDesc.y4l('cjiRecursiveStatus', true);
    tmp0_serialDesc.y4l('cjiPluginId', true);
    tmp0_serialDesc.y4l('cjiParentCjiUid', true);
    tmp0_serialDesc.y4l('cjiStartTime', true);
    tmp0_serialDesc.y4l('cjiFinishTime', true);
    tmp0_serialDesc.y4l('cjiContentDeletedOnCancellation', true);
    tmp0_serialDesc.y4l('cjiCompressionLevel', true);
    tmp0_serialDesc.y4l('cjiError', true);
    tmp0_serialDesc.y4l('cjiErrorDismissed', true);
    tmp0_serialDesc.y4l('cjiOwnerPersonUid', true);
    tmp0_serialDesc.y4l('cjiParams', true);
    this.ejk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_54).v4a = function () {
    return this.ejk_1;
  };
  protoOf($serializer_54).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_54).x4a = function (decoder) {
    var tmp0_desc = this.ejk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = false;
    var tmp19_local15 = 0;
    var tmp20_local16 = null;
    var tmp21_local17 = false;
    var tmp22_local18 = new Long(0, 0);
    var tmp23_local19 = null;
    var tmp24_input = decoder.n4e(tmp0_desc);
    if (tmp24_input.c4f()) {
      tmp4_local0 = tmp24_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp24_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp24_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp24_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp24_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp24_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp24_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp24_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp24_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp24_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp24_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp24_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp24_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp24_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp24_input.p4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp24_input.s4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp24_input.b4f(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp24_input.p4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp24_input.t4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp24_input.b4f(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp24_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp24_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp24_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp24_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp24_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp24_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp24_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp24_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp24_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp24_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp24_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp24_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp24_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp24_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp24_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp24_input.p4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp24_input.s4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp24_input.b4f(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp24_input.p4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp24_input.t4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp24_input.b4f(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp24_input.o4e(tmp0_desc);
    return ContentEntryImportJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, null);
  };
  protoOf($serializer_54).fjk = function (encoder, value) {
    var tmp0_desc = this.ejk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ab4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ab4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.bb4_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.bb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.cb4_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.cb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.db4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.db4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.eb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.eb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.fb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.fb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.gb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.gb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.hb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.hb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.ib4_1 === 4)) {
      tmp1_output.w4f(tmp0_desc, 8, value.ib4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.jb4_1 === 4)) {
      tmp1_output.w4f(tmp0_desc, 9, value.jb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.kb4_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 10, value.kb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.lb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.lb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.mb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.mb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.nb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.nb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.ob4_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 14, value.ob4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.pb4_1 === 3)) {
      tmp1_output.w4f(tmp0_desc, 15, value.pb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.qb4_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 16, StringSerializer_getInstance(), value.qb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.rb4_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 17, value.rb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !value.sb4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 18, value.sb4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.tb4_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 19, StringSerializer_getInstance(), value.tb4_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_54).w4a = function (encoder, value) {
    return this.fjk(encoder, value instanceof ContentEntryImportJob ? value : THROW_CCE());
  };
  var $serializer_instance_54;
  function $serializer_getInstance_54() {
    if ($serializer_instance_54 == null)
      new $serializer_54();
    return $serializer_instance_54;
  }
  function ContentEntryImportJob_init_$Init$(seen1, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_54().ejk_1);
    }
    if (0 === (seen1 & 1))
      $this.ab4_1 = new Long(0, 0);
    else
      $this.ab4_1 = cjiUid;
    if (0 === (seen1 & 2))
      $this.bb4_1 = null;
    else
      $this.bb4_1 = sourceUri;
    if (0 === (seen1 & 4))
      $this.cb4_1 = null;
    else
      $this.cb4_1 = cjiOriginalFilename;
    if (0 === (seen1 & 8))
      $this.db4_1 = new Long(0, 0);
    else
      $this.db4_1 = cjiContentEntryUid;
    if (0 === (seen1 & 16))
      $this.eb4_1 = new Long(0, 0);
    else
      $this.eb4_1 = cjiParentContentEntryUid;
    if (0 === (seen1 & 32))
      $this.fb4_1 = new Long(0, 0);
    else
      $this.fb4_1 = cjiContentEntryVersion;
    if (0 === (seen1 & 64))
      $this.gb4_1 = new Long(0, 0);
    else
      $this.gb4_1 = cjiItemProgress;
    if (0 === (seen1 & 128))
      $this.hb4_1 = new Long(0, 0);
    else
      $this.hb4_1 = cjiItemTotal;
    if (0 === (seen1 & 256))
      $this.ib4_1 = 4;
    else
      $this.ib4_1 = cjiStatus;
    if (0 === (seen1 & 512))
      $this.jb4_1 = 4;
    else
      $this.jb4_1 = cjiRecursiveStatus;
    if (0 === (seen1 & 1024))
      $this.kb4_1 = 0;
    else
      $this.kb4_1 = cjiPluginId;
    if (0 === (seen1 & 2048))
      $this.lb4_1 = new Long(0, 0);
    else
      $this.lb4_1 = cjiParentCjiUid;
    if (0 === (seen1 & 4096))
      $this.mb4_1 = new Long(0, 0);
    else
      $this.mb4_1 = cjiStartTime;
    if (0 === (seen1 & 8192))
      $this.nb4_1 = new Long(0, 0);
    else
      $this.nb4_1 = cjiFinishTime;
    if (0 === (seen1 & 16384))
      $this.ob4_1 = false;
    else
      $this.ob4_1 = cjiContentDeletedOnCancellation;
    if (0 === (seen1 & 32768))
      $this.pb4_1 = 3;
    else
      $this.pb4_1 = cjiCompressionLevel;
    if (0 === (seen1 & 65536))
      $this.qb4_1 = null;
    else
      $this.qb4_1 = cjiError;
    if (0 === (seen1 & 131072))
      $this.rb4_1 = false;
    else
      $this.rb4_1 = cjiErrorDismissed;
    if (0 === (seen1 & 262144))
      $this.sb4_1 = new Long(0, 0);
    else
      $this.sb4_1 = cjiOwnerPersonUid;
    if (0 === (seen1 & 524288))
      $this.tb4_1 = null;
    else
      $this.tb4_1 = cjiParams;
    return $this;
  }
  function ContentEntryImportJob_init_$Create$(seen1, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, serializationConstructorMarker) {
    return ContentEntryImportJob_init_$Init$(seen1, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, serializationConstructorMarker, objectCreate(protoOf(ContentEntryImportJob)));
  }
  function ContentEntryImportJob(cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) {
    cjiUid = cjiUid === VOID ? new Long(0, 0) : cjiUid;
    sourceUri = sourceUri === VOID ? null : sourceUri;
    cjiOriginalFilename = cjiOriginalFilename === VOID ? null : cjiOriginalFilename;
    cjiContentEntryUid = cjiContentEntryUid === VOID ? new Long(0, 0) : cjiContentEntryUid;
    cjiParentContentEntryUid = cjiParentContentEntryUid === VOID ? new Long(0, 0) : cjiParentContentEntryUid;
    cjiContentEntryVersion = cjiContentEntryVersion === VOID ? new Long(0, 0) : cjiContentEntryVersion;
    cjiItemProgress = cjiItemProgress === VOID ? new Long(0, 0) : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? new Long(0, 0) : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? 4 : cjiStatus;
    cjiRecursiveStatus = cjiRecursiveStatus === VOID ? 4 : cjiRecursiveStatus;
    cjiPluginId = cjiPluginId === VOID ? 0 : cjiPluginId;
    cjiParentCjiUid = cjiParentCjiUid === VOID ? new Long(0, 0) : cjiParentCjiUid;
    cjiStartTime = cjiStartTime === VOID ? new Long(0, 0) : cjiStartTime;
    cjiFinishTime = cjiFinishTime === VOID ? new Long(0, 0) : cjiFinishTime;
    cjiContentDeletedOnCancellation = cjiContentDeletedOnCancellation === VOID ? false : cjiContentDeletedOnCancellation;
    cjiCompressionLevel = cjiCompressionLevel === VOID ? 3 : cjiCompressionLevel;
    cjiError = cjiError === VOID ? null : cjiError;
    cjiErrorDismissed = cjiErrorDismissed === VOID ? false : cjiErrorDismissed;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? new Long(0, 0) : cjiOwnerPersonUid;
    cjiParams = cjiParams === VOID ? null : cjiParams;
    this.ab4_1 = cjiUid;
    this.bb4_1 = sourceUri;
    this.cb4_1 = cjiOriginalFilename;
    this.db4_1 = cjiContentEntryUid;
    this.eb4_1 = cjiParentContentEntryUid;
    this.fb4_1 = cjiContentEntryVersion;
    this.gb4_1 = cjiItemProgress;
    this.hb4_1 = cjiItemTotal;
    this.ib4_1 = cjiStatus;
    this.jb4_1 = cjiRecursiveStatus;
    this.kb4_1 = cjiPluginId;
    this.lb4_1 = cjiParentCjiUid;
    this.mb4_1 = cjiStartTime;
    this.nb4_1 = cjiFinishTime;
    this.ob4_1 = cjiContentDeletedOnCancellation;
    this.pb4_1 = cjiCompressionLevel;
    this.qb4_1 = cjiError;
    this.rb4_1 = cjiErrorDismissed;
    this.sb4_1 = cjiOwnerPersonUid;
    this.tb4_1 = cjiParams;
  }
  protoOf(ContentEntryImportJob).gjk = function (cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) {
    return new ContentEntryImportJob(cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams);
  };
  protoOf(ContentEntryImportJob).hjk = function (cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, $super) {
    cjiUid = cjiUid === VOID ? this.ab4_1 : cjiUid;
    sourceUri = sourceUri === VOID ? this.bb4_1 : sourceUri;
    cjiOriginalFilename = cjiOriginalFilename === VOID ? this.cb4_1 : cjiOriginalFilename;
    cjiContentEntryUid = cjiContentEntryUid === VOID ? this.db4_1 : cjiContentEntryUid;
    cjiParentContentEntryUid = cjiParentContentEntryUid === VOID ? this.eb4_1 : cjiParentContentEntryUid;
    cjiContentEntryVersion = cjiContentEntryVersion === VOID ? this.fb4_1 : cjiContentEntryVersion;
    cjiItemProgress = cjiItemProgress === VOID ? this.gb4_1 : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? this.hb4_1 : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? this.ib4_1 : cjiStatus;
    cjiRecursiveStatus = cjiRecursiveStatus === VOID ? this.jb4_1 : cjiRecursiveStatus;
    cjiPluginId = cjiPluginId === VOID ? this.kb4_1 : cjiPluginId;
    cjiParentCjiUid = cjiParentCjiUid === VOID ? this.lb4_1 : cjiParentCjiUid;
    cjiStartTime = cjiStartTime === VOID ? this.mb4_1 : cjiStartTime;
    cjiFinishTime = cjiFinishTime === VOID ? this.nb4_1 : cjiFinishTime;
    cjiContentDeletedOnCancellation = cjiContentDeletedOnCancellation === VOID ? this.ob4_1 : cjiContentDeletedOnCancellation;
    cjiCompressionLevel = cjiCompressionLevel === VOID ? this.pb4_1 : cjiCompressionLevel;
    cjiError = cjiError === VOID ? this.qb4_1 : cjiError;
    cjiErrorDismissed = cjiErrorDismissed === VOID ? this.rb4_1 : cjiErrorDismissed;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? this.sb4_1 : cjiOwnerPersonUid;
    cjiParams = cjiParams === VOID ? this.tb4_1 : cjiParams;
    return $super === VOID ? this.gjk(cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) : $super.gjk.call(this, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams);
  };
  protoOf(ContentEntryImportJob).toString = function () {
    return 'ContentEntryImportJob(cjiUid=' + this.ab4_1.toString() + ', sourceUri=' + this.bb4_1 + ', cjiOriginalFilename=' + this.cb4_1 + ', cjiContentEntryUid=' + this.db4_1.toString() + ', cjiParentContentEntryUid=' + this.eb4_1.toString() + ', cjiContentEntryVersion=' + this.fb4_1.toString() + ', cjiItemProgress=' + this.gb4_1.toString() + ', cjiItemTotal=' + this.hb4_1.toString() + ', cjiStatus=' + this.ib4_1 + ', cjiRecursiveStatus=' + this.jb4_1 + ', cjiPluginId=' + this.kb4_1 + ', cjiParentCjiUid=' + this.lb4_1.toString() + ', cjiStartTime=' + this.mb4_1.toString() + ', cjiFinishTime=' + this.nb4_1.toString() + ', cjiContentDeletedOnCancellation=' + this.ob4_1 + ', cjiCompressionLevel=' + this.pb4_1 + ', cjiError=' + this.qb4_1 + ', cjiErrorDismissed=' + this.rb4_1 + ', cjiOwnerPersonUid=' + this.sb4_1.toString() + ', cjiParams=' + this.tb4_1 + ')';
  };
  protoOf(ContentEntryImportJob).hashCode = function () {
    var result = this.ab4_1.hashCode();
    result = imul(result, 31) + (this.bb4_1 == null ? 0 : getStringHashCode(this.bb4_1)) | 0;
    result = imul(result, 31) + (this.cb4_1 == null ? 0 : getStringHashCode(this.cb4_1)) | 0;
    result = imul(result, 31) + this.db4_1.hashCode() | 0;
    result = imul(result, 31) + this.eb4_1.hashCode() | 0;
    result = imul(result, 31) + this.fb4_1.hashCode() | 0;
    result = imul(result, 31) + this.gb4_1.hashCode() | 0;
    result = imul(result, 31) + this.hb4_1.hashCode() | 0;
    result = imul(result, 31) + this.ib4_1 | 0;
    result = imul(result, 31) + this.jb4_1 | 0;
    result = imul(result, 31) + this.kb4_1 | 0;
    result = imul(result, 31) + this.lb4_1.hashCode() | 0;
    result = imul(result, 31) + this.mb4_1.hashCode() | 0;
    result = imul(result, 31) + this.nb4_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.ob4_1) | 0;
    result = imul(result, 31) + this.pb4_1 | 0;
    result = imul(result, 31) + (this.qb4_1 == null ? 0 : getStringHashCode(this.qb4_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.rb4_1) | 0;
    result = imul(result, 31) + this.sb4_1.hashCode() | 0;
    result = imul(result, 31) + (this.tb4_1 == null ? 0 : getStringHashCode(this.tb4_1)) | 0;
    return result;
  };
  protoOf(ContentEntryImportJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryImportJob))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryImportJob ? other : THROW_CCE();
    if (!this.ab4_1.equals(tmp0_other_with_cast.ab4_1))
      return false;
    if (!(this.bb4_1 == tmp0_other_with_cast.bb4_1))
      return false;
    if (!(this.cb4_1 == tmp0_other_with_cast.cb4_1))
      return false;
    if (!this.db4_1.equals(tmp0_other_with_cast.db4_1))
      return false;
    if (!this.eb4_1.equals(tmp0_other_with_cast.eb4_1))
      return false;
    if (!this.fb4_1.equals(tmp0_other_with_cast.fb4_1))
      return false;
    if (!this.gb4_1.equals(tmp0_other_with_cast.gb4_1))
      return false;
    if (!this.hb4_1.equals(tmp0_other_with_cast.hb4_1))
      return false;
    if (!(this.ib4_1 === tmp0_other_with_cast.ib4_1))
      return false;
    if (!(this.jb4_1 === tmp0_other_with_cast.jb4_1))
      return false;
    if (!(this.kb4_1 === tmp0_other_with_cast.kb4_1))
      return false;
    if (!this.lb4_1.equals(tmp0_other_with_cast.lb4_1))
      return false;
    if (!this.mb4_1.equals(tmp0_other_with_cast.mb4_1))
      return false;
    if (!this.nb4_1.equals(tmp0_other_with_cast.nb4_1))
      return false;
    if (!(this.ob4_1 === tmp0_other_with_cast.ob4_1))
      return false;
    if (!(this.pb4_1 === tmp0_other_with_cast.pb4_1))
      return false;
    if (!(this.qb4_1 == tmp0_other_with_cast.qb4_1))
      return false;
    if (!(this.rb4_1 === tmp0_other_with_cast.rb4_1))
      return false;
    if (!this.sb4_1.equals(tmp0_other_with_cast.sb4_1))
      return false;
    if (!(this.tb4_1 == tmp0_other_with_cast.tb4_1))
      return false;
    return true;
  };
  function Companion_58() {
    this.ijk_1 = 7;
  }
  var Companion_instance_59;
  function Companion_getInstance_61() {
    return Companion_instance_59;
  }
  function $serializer_55() {
    $serializer_instance_55 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryParentChildJoin', this, 9);
    tmp0_serialDesc.y4l('cepcjParentContentEntryUid', true);
    tmp0_serialDesc.y4l('cepcjChildContentEntryUid', true);
    tmp0_serialDesc.y4l('childIndex', true);
    tmp0_serialDesc.y4l('cepcjUid', true);
    tmp0_serialDesc.y4l('cepcjLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('cepcjMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('cepcjLastChangedBy', true);
    tmp0_serialDesc.y4l('cepcjLct', true);
    tmp0_serialDesc.y4l('cepcjDeleted', true);
    this.jjk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_55).v4a = function () {
    return this.jjk_1;
  };
  protoOf($serializer_55).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_55).x4a = function (decoder) {
    var tmp0_desc = this.jjk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = false;
    var tmp13_input = decoder.n4e(tmp0_desc);
    if (tmp13_input.c4f()) {
      tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.p4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.p4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.o4e(tmp0_desc);
    return ContentEntryParentChildJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_55).kjk = function (encoder, value) {
    var tmp0_desc = this.jjk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ear_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ear_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.far_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.far_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.gar_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.gar_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.har_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.har_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.iar_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.iar_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.jar_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.jar_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.kar_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.kar_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.lar_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.lar_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.mar_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 8, value.mar_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_55).w4a = function (encoder, value) {
    return this.kjk(encoder, value instanceof ContentEntryParentChildJoin ? value : THROW_CCE());
  };
  var $serializer_instance_55;
  function $serializer_getInstance_55() {
    if ($serializer_instance_55 == null)
      new $serializer_55();
    return $serializer_instance_55;
  }
  function ContentEntryParentChildJoin_init_$Init$(seen1, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_55().jjk_1);
    }
    if (0 === (seen1 & 1))
      $this.ear_1 = new Long(0, 0);
    else
      $this.ear_1 = cepcjParentContentEntryUid;
    if (0 === (seen1 & 2))
      $this.far_1 = new Long(0, 0);
    else
      $this.far_1 = cepcjChildContentEntryUid;
    if (0 === (seen1 & 4))
      $this.gar_1 = 0;
    else
      $this.gar_1 = childIndex;
    if (0 === (seen1 & 8))
      $this.har_1 = new Long(0, 0);
    else
      $this.har_1 = cepcjUid;
    if (0 === (seen1 & 16))
      $this.iar_1 = new Long(0, 0);
    else
      $this.iar_1 = cepcjLocalChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.jar_1 = new Long(0, 0);
    else
      $this.jar_1 = cepcjMasterChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.kar_1 = 0;
    else
      $this.kar_1 = cepcjLastChangedBy;
    if (0 === (seen1 & 128))
      $this.lar_1 = new Long(0, 0);
    else
      $this.lar_1 = cepcjLct;
    if (0 === (seen1 & 256))
      $this.mar_1 = false;
    else
      $this.mar_1 = cepcjDeleted;
    return $this;
  }
  function ContentEntryParentChildJoin_init_$Create$(seen1, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, serializationConstructorMarker) {
    return ContentEntryParentChildJoin_init_$Init$(seen1, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, serializationConstructorMarker, objectCreate(protoOf(ContentEntryParentChildJoin)));
  }
  function ContentEntryParentChildJoin(cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) {
    cepcjParentContentEntryUid = cepcjParentContentEntryUid === VOID ? new Long(0, 0) : cepcjParentContentEntryUid;
    cepcjChildContentEntryUid = cepcjChildContentEntryUid === VOID ? new Long(0, 0) : cepcjChildContentEntryUid;
    childIndex = childIndex === VOID ? 0 : childIndex;
    this.ear_1 = cepcjParentContentEntryUid;
    this.far_1 = cepcjChildContentEntryUid;
    this.gar_1 = childIndex;
    this.har_1 = new Long(0, 0);
    this.iar_1 = new Long(0, 0);
    this.jar_1 = new Long(0, 0);
    this.kar_1 = 0;
    this.lar_1 = new Long(0, 0);
    this.mar_1 = false;
  }
  protoOf(ContentEntryParentChildJoin).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryParentChildJoin))
      THROW_CCE();
    if (!this.har_1.equals(other.har_1))
      return false;
    if (!this.iar_1.equals(other.iar_1))
      return false;
    if (!this.jar_1.equals(other.jar_1))
      return false;
    if (!(this.kar_1 === other.kar_1))
      return false;
    if (!this.ear_1.equals(other.ear_1))
      return false;
    if (!this.far_1.equals(other.far_1))
      return false;
    if (!(this.gar_1 === other.gar_1))
      return false;
    return true;
  };
  protoOf(ContentEntryParentChildJoin).hashCode = function () {
    var result = this.har_1.hashCode();
    result = imul(31, result) + this.iar_1.hashCode() | 0;
    result = imul(31, result) + this.jar_1.hashCode() | 0;
    result = imul(31, result) + this.kar_1 | 0;
    result = imul(31, result) + this.ear_1.hashCode() | 0;
    result = imul(31, result) + this.far_1.hashCode() | 0;
    result = imul(31, result) + this.gar_1 | 0;
    return result;
  };
  function Companion_59() {
    this.ljk_1 = 138;
  }
  var Companion_instance_60;
  function Companion_getInstance_62() {
    return Companion_instance_60;
  }
  function $serializer_56() {
    $serializer_instance_56 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryPicture', this, 8);
    tmp0_serialDesc.y4l('cepUid', true);
    tmp0_serialDesc.y4l('cepContentEntryUid', true);
    tmp0_serialDesc.y4l('cepUri', true);
    tmp0_serialDesc.y4l('cepMd5', true);
    tmp0_serialDesc.y4l('cepFileSize', true);
    tmp0_serialDesc.y4l('cepTimestamp', true);
    tmp0_serialDesc.y4l('cepMimeType', true);
    tmp0_serialDesc.y4l('cepActive', true);
    this.mjk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_56).v4a = function () {
    return this.mjk_1;
  };
  protoOf($serializer_56).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_56).x4a = function (decoder) {
    var tmp0_desc = this.mjk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = null;
    var tmp11_local7 = false;
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return ContentEntryPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_56).njk = function (encoder, value) {
    var tmp0_desc = this.mjk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ibd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ibd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.jbd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.jbd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.kbd_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.kbd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.lbd_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.lbd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.mbd_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.mbd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.nbd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.nbd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.obd_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.obd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.pbd_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 7, value.pbd_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_56).w4a = function (encoder, value) {
    return this.njk(encoder, value instanceof ContentEntryPicture ? value : THROW_CCE());
  };
  var $serializer_instance_56;
  function $serializer_getInstance_56() {
    if ($serializer_instance_56 == null)
      new $serializer_56();
    return $serializer_instance_56;
  }
  function ContentEntryPicture_init_$Init$(seen1, cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_56().mjk_1);
    }
    if (0 === (seen1 & 1))
      $this.ibd_1 = new Long(0, 0);
    else
      $this.ibd_1 = cepUid;
    if (0 === (seen1 & 2))
      $this.jbd_1 = new Long(0, 0);
    else
      $this.jbd_1 = cepContentEntryUid;
    if (0 === (seen1 & 4))
      $this.kbd_1 = null;
    else
      $this.kbd_1 = cepUri;
    if (0 === (seen1 & 8))
      $this.lbd_1 = null;
    else
      $this.lbd_1 = cepMd5;
    if (0 === (seen1 & 16))
      $this.mbd_1 = 0;
    else
      $this.mbd_1 = cepFileSize;
    if (0 === (seen1 & 32))
      $this.nbd_1 = new Long(0, 0);
    else
      $this.nbd_1 = cepTimestamp;
    if (0 === (seen1 & 64))
      $this.obd_1 = null;
    else
      $this.obd_1 = cepMimeType;
    if (0 === (seen1 & 128))
      $this.pbd_1 = true;
    else
      $this.pbd_1 = cepActive;
    return $this;
  }
  function ContentEntryPicture_init_$Create$(seen1, cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive, serializationConstructorMarker) {
    return ContentEntryPicture_init_$Init$(seen1, cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive, serializationConstructorMarker, objectCreate(protoOf(ContentEntryPicture)));
  }
  function ContentEntryPicture() {
    this.ibd_1 = new Long(0, 0);
    this.jbd_1 = new Long(0, 0);
    this.kbd_1 = null;
    this.lbd_1 = null;
    this.mbd_1 = 0;
    this.nbd_1 = new Long(0, 0);
    this.obd_1 = null;
    this.pbd_1 = true;
  }
  protoOf(ContentEntryPicture).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryPicture))
      THROW_CCE();
    if (!this.ibd_1.equals(other.ibd_1))
      return false;
    if (!this.jbd_1.equals(other.jbd_1))
      return false;
    if (!(this.kbd_1 == other.kbd_1))
      return false;
    if (!(this.lbd_1 == other.lbd_1))
      return false;
    if (!(this.mbd_1 === other.mbd_1))
      return false;
    if (!this.nbd_1.equals(other.nbd_1))
      return false;
    if (!(this.obd_1 == other.obd_1))
      return false;
    if (!(this.pbd_1 === other.pbd_1))
      return false;
    return true;
  };
  protoOf(ContentEntryPicture).hashCode = function () {
    var result = this.ibd_1.hashCode();
    result = imul(31, result) + this.jbd_1.hashCode() | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.kbd_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.lbd_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    result = imul(31, result) + this.mbd_1 | 0;
    result = imul(31, result) + this.nbd_1.hashCode() | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.obd_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    result = imul(31, result) + getBooleanHashCode(this.pbd_1) | 0;
    return result;
  };
  function Companion_60() {
    this.ojk_1 = 6678;
  }
  var Companion_instance_61;
  function Companion_getInstance_63() {
    return Companion_instance_61;
  }
  function $serializer_57() {
    $serializer_instance_57 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryPicture2', this, 4);
    tmp0_serialDesc.y4l('cepUid', true);
    tmp0_serialDesc.y4l('cepLct', true);
    tmp0_serialDesc.y4l('cepPictureUri', true);
    tmp0_serialDesc.y4l('cepThumbnailUri', true);
    this.pjk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_57).v4a = function () {
    return this.pjk_1;
  };
  protoOf($serializer_57).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_57).x4a = function (decoder) {
    var tmp0_desc = this.pjk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return ContentEntryPicture2_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_57).qjk = function (encoder, value) {
    var tmp0_desc = this.pjk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.nap_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.nap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.oap_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.oap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.pap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.pap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.qap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.qap_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_57).w4a = function (encoder, value) {
    return this.qjk(encoder, value instanceof ContentEntryPicture2 ? value : THROW_CCE());
  };
  var $serializer_instance_57;
  function $serializer_getInstance_57() {
    if ($serializer_instance_57 == null)
      new $serializer_57();
    return $serializer_instance_57;
  }
  function ContentEntryPicture2_init_$Init$(seen1, cepUid, cepLct, cepPictureUri, cepThumbnailUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_57().pjk_1);
    }
    if (0 === (seen1 & 1))
      $this.nap_1 = new Long(0, 0);
    else
      $this.nap_1 = cepUid;
    if (0 === (seen1 & 2))
      $this.oap_1 = new Long(0, 0);
    else
      $this.oap_1 = cepLct;
    if (0 === (seen1 & 4))
      $this.pap_1 = null;
    else
      $this.pap_1 = cepPictureUri;
    if (0 === (seen1 & 8))
      $this.qap_1 = null;
    else
      $this.qap_1 = cepThumbnailUri;
    return $this;
  }
  function ContentEntryPicture2_init_$Create$(seen1, cepUid, cepLct, cepPictureUri, cepThumbnailUri, serializationConstructorMarker) {
    return ContentEntryPicture2_init_$Init$(seen1, cepUid, cepLct, cepPictureUri, cepThumbnailUri, serializationConstructorMarker, objectCreate(protoOf(ContentEntryPicture2)));
  }
  function ContentEntryPicture2(cepUid, cepLct, cepPictureUri, cepThumbnailUri) {
    cepUid = cepUid === VOID ? new Long(0, 0) : cepUid;
    cepLct = cepLct === VOID ? new Long(0, 0) : cepLct;
    cepPictureUri = cepPictureUri === VOID ? null : cepPictureUri;
    cepThumbnailUri = cepThumbnailUri === VOID ? null : cepThumbnailUri;
    this.nap_1 = cepUid;
    this.oap_1 = cepLct;
    this.pap_1 = cepPictureUri;
    this.qap_1 = cepThumbnailUri;
  }
  protoOf(ContentEntryPicture2).rjk = function (cepUid, cepLct, cepPictureUri, cepThumbnailUri) {
    return new ContentEntryPicture2(cepUid, cepLct, cepPictureUri, cepThumbnailUri);
  };
  protoOf(ContentEntryPicture2).sjk = function (cepUid, cepLct, cepPictureUri, cepThumbnailUri, $super) {
    cepUid = cepUid === VOID ? this.nap_1 : cepUid;
    cepLct = cepLct === VOID ? this.oap_1 : cepLct;
    cepPictureUri = cepPictureUri === VOID ? this.pap_1 : cepPictureUri;
    cepThumbnailUri = cepThumbnailUri === VOID ? this.qap_1 : cepThumbnailUri;
    return $super === VOID ? this.rjk(cepUid, cepLct, cepPictureUri, cepThumbnailUri) : $super.rjk.call(this, cepUid, cepLct, cepPictureUri, cepThumbnailUri);
  };
  protoOf(ContentEntryPicture2).toString = function () {
    return 'ContentEntryPicture2(cepUid=' + this.nap_1.toString() + ', cepLct=' + this.oap_1.toString() + ', cepPictureUri=' + this.pap_1 + ', cepThumbnailUri=' + this.qap_1 + ')';
  };
  protoOf(ContentEntryPicture2).hashCode = function () {
    var result = this.nap_1.hashCode();
    result = imul(result, 31) + this.oap_1.hashCode() | 0;
    result = imul(result, 31) + (this.pap_1 == null ? 0 : getStringHashCode(this.pap_1)) | 0;
    result = imul(result, 31) + (this.qap_1 == null ? 0 : getStringHashCode(this.qap_1)) | 0;
    return result;
  };
  protoOf(ContentEntryPicture2).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryPicture2))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryPicture2 ? other : THROW_CCE();
    if (!this.nap_1.equals(tmp0_other_with_cast.nap_1))
      return false;
    if (!this.oap_1.equals(tmp0_other_with_cast.oap_1))
      return false;
    if (!(this.pap_1 == tmp0_other_with_cast.pap_1))
      return false;
    if (!(this.qap_1 == tmp0_other_with_cast.qap_1))
      return false;
    return true;
  };
  function Companion_61() {
    this.tjk_1 = 8;
    this.ujk_1 = 1;
    this.vjk_1 = 2;
  }
  var Companion_instance_62;
  function Companion_getInstance_64() {
    return Companion_instance_62;
  }
  function $serializer_58() {
    $serializer_instance_58 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoin', this, 10);
    tmp0_serialDesc.y4l('cerejUid', true);
    tmp0_serialDesc.y4l('cerejContentEntryUid', true);
    tmp0_serialDesc.y4l('cerejRelatedEntryUid', true);
    tmp0_serialDesc.y4l('cerejLastChangedBy', true);
    tmp0_serialDesc.y4l('relType', true);
    tmp0_serialDesc.y4l('comment', true);
    tmp0_serialDesc.y4l('cerejRelLanguageUid', true);
    tmp0_serialDesc.y4l('cerejLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('cerejMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('cerejLct', true);
    this.wjk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_58).v4a = function () {
    return this.wjk_1;
  };
  protoOf($serializer_58).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_58).x4a = function (decoder) {
    var tmp0_desc = this.wjk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_input = decoder.n4e(tmp0_desc);
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return ContentEntryRelatedEntryJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_58).xjk = function (encoder, value) {
    var tmp0_desc = this.wjk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ubf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ubf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.vbf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.vbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.wbf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.wbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.xbf_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.xbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.ybf_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.ybf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.zbf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.zbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.abg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.abg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.bbg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.bbg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.cbg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.cbg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.dbg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.dbg_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_58).w4a = function (encoder, value) {
    return this.xjk(encoder, value instanceof ContentEntryRelatedEntryJoin ? value : THROW_CCE());
  };
  var $serializer_instance_58;
  function $serializer_getInstance_58() {
    if ($serializer_instance_58 == null)
      new $serializer_58();
    return $serializer_instance_58;
  }
  function ContentEntryRelatedEntryJoin_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_58().wjk_1);
    }
    if (0 === (seen1 & 1))
      $this.ubf_1 = new Long(0, 0);
    else
      $this.ubf_1 = cerejUid;
    if (0 === (seen1 & 2))
      $this.vbf_1 = new Long(0, 0);
    else
      $this.vbf_1 = cerejContentEntryUid;
    if (0 === (seen1 & 4))
      $this.wbf_1 = new Long(0, 0);
    else
      $this.wbf_1 = cerejRelatedEntryUid;
    if (0 === (seen1 & 8))
      $this.xbf_1 = 0;
    else
      $this.xbf_1 = cerejLastChangedBy;
    if (0 === (seen1 & 16))
      $this.ybf_1 = 0;
    else
      $this.ybf_1 = relType;
    if (0 === (seen1 & 32))
      $this.zbf_1 = null;
    else
      $this.zbf_1 = comment;
    if (0 === (seen1 & 64))
      $this.abg_1 = new Long(0, 0);
    else
      $this.abg_1 = cerejRelLanguageUid;
    if (0 === (seen1 & 128))
      $this.bbg_1 = new Long(0, 0);
    else
      $this.bbg_1 = cerejLocalChangeSeqNum;
    if (0 === (seen1 & 256))
      $this.cbg_1 = new Long(0, 0);
    else
      $this.cbg_1 = cerejMasterChangeSeqNum;
    if (0 === (seen1 & 512))
      $this.dbg_1 = new Long(0, 0);
    else
      $this.dbg_1 = cerejLct;
    return $this;
  }
  function ContentEntryRelatedEntryJoin_init_$Create$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker) {
    return ContentEntryRelatedEntryJoin_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker, objectCreate(protoOf(ContentEntryRelatedEntryJoin)));
  }
  function ContentEntryRelatedEntryJoin() {
    this.ubf_1 = new Long(0, 0);
    this.vbf_1 = new Long(0, 0);
    this.wbf_1 = new Long(0, 0);
    this.xbf_1 = 0;
    this.ybf_1 = 0;
    this.zbf_1 = null;
    this.abg_1 = new Long(0, 0);
    this.bbg_1 = new Long(0, 0);
    this.cbg_1 = new Long(0, 0);
    this.dbg_1 = new Long(0, 0);
  }
  protoOf(ContentEntryRelatedEntryJoin).equals = function (other) {
    if (this === other)
      return true;
    var that = (other == null ? true : other instanceof ContentEntryRelatedEntryJoin) ? other : THROW_CCE();
    if (!this.ubf_1.equals(ensureNotNull(that).ubf_1))
      return false;
    if (!this.vbf_1.equals(that.vbf_1))
      return false;
    if (!this.wbf_1.equals(that.wbf_1))
      return false;
    if (!(this.ybf_1 === that.ybf_1))
      return false;
    if (!this.abg_1.equals(that.abg_1))
      return false;
    return !(this.zbf_1 == null) ? this.zbf_1 == that.zbf_1 : that.zbf_1 == null;
  };
  protoOf(ContentEntryRelatedEntryJoin).hashCode = function () {
    var result = this.ubf_1.wc(this.ubf_1.tc(32)).mb();
    result = imul(31, result) + this.vbf_1.wc(this.vbf_1.tc(32)).mb() | 0;
    result = imul(31, result) + this.wbf_1.wc(this.wbf_1.tc(32)).mb() | 0;
    result = imul(31, result) + this.ybf_1 | 0;
    result = imul(31, result) + (!(this.zbf_1 == null) ? getStringHashCode(ensureNotNull(this.zbf_1)) : 0) | 0;
    result = imul(31, result) + this.abg_1.wc(this.abg_1.tc(32)).mb() | 0;
    return result;
  };
  function Companion_62() {
  }
  var Companion_instance_63;
  function Companion_getInstance_65() {
    return Companion_instance_63;
  }
  function $serializer_59() {
    $serializer_instance_59 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoinWithLanguage', this, 11);
    tmp0_serialDesc.y4l('cerejUid', true);
    tmp0_serialDesc.y4l('cerejContentEntryUid', true);
    tmp0_serialDesc.y4l('cerejRelatedEntryUid', true);
    tmp0_serialDesc.y4l('cerejLastChangedBy', true);
    tmp0_serialDesc.y4l('relType', true);
    tmp0_serialDesc.y4l('comment', true);
    tmp0_serialDesc.y4l('cerejRelLanguageUid', true);
    tmp0_serialDesc.y4l('cerejLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('cerejMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('cerejLct', true);
    tmp0_serialDesc.y4l('language', true);
    this.yjk_1 = tmp0_serialDesc;
  }
  protoOf($serializer_59).v4a = function () {
    return this.yjk_1;
  };
  protoOf($serializer_59).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_83())];
  };
  protoOf($serializer_59).x4a = function (decoder) {
    var tmp0_desc = this.yjk_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = null;
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.b4f(tmp0_desc, 10, $serializer_getInstance_83(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.b4f(tmp0_desc, 10, $serializer_getInstance_83(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return ContentEntryRelatedEntryJoinWithLanguage_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_59).zjk = function (encoder, value) {
    var tmp0_desc = this.yjk_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ubf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ubf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.vbf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.vbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.wbf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.wbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.xbf_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.xbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.ybf_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.ybf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.zbf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.zbf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.abg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.abg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.bbg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.bbg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.cbg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.cbg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.dbg_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.dbg_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.kjl_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 10, $serializer_getInstance_83(), value.kjl_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_59).w4a = function (encoder, value) {
    return this.zjk(encoder, value instanceof ContentEntryRelatedEntryJoinWithLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_59;
  function $serializer_getInstance_59() {
    if ($serializer_instance_59 == null)
      new $serializer_59();
    return $serializer_instance_59;
  }
  function ContentEntryRelatedEntryJoinWithLanguage_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, language, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_59().yjk_1);
    }
    ContentEntryRelatedEntryJoin_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 1024))
      $this.kjl_1 = null;
    else
      $this.kjl_1 = language;
    return $this;
  }
  function ContentEntryRelatedEntryJoinWithLanguage_init_$Create$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, language, serializationConstructorMarker) {
    return ContentEntryRelatedEntryJoinWithLanguage_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, language, serializationConstructorMarker, objectCreate(protoOf(ContentEntryRelatedEntryJoinWithLanguage)));
  }
  function ContentEntryRelatedEntryJoinWithLanguage() {
    ContentEntryRelatedEntryJoin.call(this);
    this.kjl_1 = null;
  }
  protoOf(ContentEntryRelatedEntryJoinWithLanguage).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!protoOf(ContentEntryRelatedEntryJoin).equals.call(this, other))
      return false;
    if (!(other instanceof ContentEntryRelatedEntryJoinWithLanguage))
      THROW_CCE();
    if (!equals(this.kjl_1, other.kjl_1))
      return false;
    return true;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLanguage).hashCode = function () {
    var result = protoOf(ContentEntryRelatedEntryJoin).hashCode.call(this);
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.kjl_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.hashCode();
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    return result;
  };
  function Companion_63() {
  }
  var Companion_instance_64;
  function Companion_getInstance_66() {
    return Companion_instance_64;
  }
  function $serializer_60() {
    $serializer_instance_60 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryStatementScoreProgress', this, 10);
    tmp0_serialDesc.y4l('resultScore', true);
    tmp0_serialDesc.y4l('resultMax', true);
    tmp0_serialDesc.y4l('resultScaled', true);
    tmp0_serialDesc.y4l('resultWeight', true);
    tmp0_serialDesc.y4l('contentComplete', true);
    tmp0_serialDesc.y4l('progress', true);
    tmp0_serialDesc.y4l('success', true);
    tmp0_serialDesc.y4l('penalty', true);
    tmp0_serialDesc.y4l('totalContent', true);
    tmp0_serialDesc.y4l('totalCompletedContent', true);
    this.ljl_1 = tmp0_serialDesc;
  }
  protoOf($serializer_60).v4a = function () {
    return this.ljl_1;
  };
  protoOf($serializer_60).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), ByteSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_60).x4a = function (decoder) {
    var tmp0_desc = this.ljl_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0.0;
    var tmp7_local3 = 0;
    var tmp8_local4 = false;
    var tmp9_local5 = 0;
    var tmp10_local6 = 0;
    var tmp11_local7 = 0;
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_input = decoder.n4e(tmp0_desc);
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.u4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.q4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.u4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.q4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return ContentEntryStatementScoreProgress_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_60).mjl = function (encoder, value) {
    var tmp0_desc = this.ljl_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.njl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.njl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ojl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.ojl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !equals(value.pjl_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 2, value.pjl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.qjl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.qjl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.rjl_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 4, value.rjl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.sjl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.sjl_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 6)) {
      tmp = true;
    } else {
      var tmp_0 = value.tjl_1;
      tmp = !(tmp_0 === 0);
    }
    if (tmp) {
      tmp1_output.u4f(tmp0_desc, 6, value.tjl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.ujl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.ujl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.vjl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 8, value.vjl_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.wjl_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.wjl_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_60).w4a = function (encoder, value) {
    return this.mjl(encoder, value instanceof ContentEntryStatementScoreProgress ? value : THROW_CCE());
  };
  var $serializer_instance_60;
  function $serializer_getInstance_60() {
    if ($serializer_instance_60 == null)
      new $serializer_60();
    return $serializer_instance_60;
  }
  function ContentEntryStatementScoreProgress_init_$Init$(seen1, resultScore, resultMax, resultScaled, resultWeight, contentComplete, progress, success, penalty, totalContent, totalCompletedContent, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_60().ljl_1);
    }
    if (0 === (seen1 & 1))
      $this.njl_1 = 0;
    else
      $this.njl_1 = resultScore;
    if (0 === (seen1 & 2))
      $this.ojl_1 = 0;
    else
      $this.ojl_1 = resultMax;
    if (0 === (seen1 & 4))
      $this.pjl_1 = 0.0;
    else
      $this.pjl_1 = resultScaled;
    if (0 === (seen1 & 8))
      $this.qjl_1 = 0;
    else
      $this.qjl_1 = resultWeight;
    if (0 === (seen1 & 16))
      $this.rjl_1 = false;
    else
      $this.rjl_1 = contentComplete;
    if (0 === (seen1 & 32))
      $this.sjl_1 = 0;
    else
      $this.sjl_1 = progress;
    if (0 === (seen1 & 64)) {
      var tmp = $this;
      tmp.tjl_1 = 0;
    } else
      $this.tjl_1 = success;
    if (0 === (seen1 & 128))
      $this.ujl_1 = 0;
    else
      $this.ujl_1 = penalty;
    if (0 === (seen1 & 256))
      $this.vjl_1 = 0;
    else
      $this.vjl_1 = totalContent;
    if (0 === (seen1 & 512))
      $this.wjl_1 = 0;
    else
      $this.wjl_1 = totalCompletedContent;
    return $this;
  }
  function ContentEntryStatementScoreProgress_init_$Create$(seen1, resultScore, resultMax, resultScaled, resultWeight, contentComplete, progress, success, penalty, totalContent, totalCompletedContent, serializationConstructorMarker) {
    return ContentEntryStatementScoreProgress_init_$Init$(seen1, resultScore, resultMax, resultScaled, resultWeight, contentComplete, progress, success, penalty, totalContent, totalCompletedContent, serializationConstructorMarker, objectCreate(protoOf(ContentEntryStatementScoreProgress)));
  }
  function ContentEntryStatementScoreProgress() {
    this.njl_1 = 0;
    this.ojl_1 = 0;
    this.pjl_1 = 0.0;
    this.qjl_1 = 0;
    this.rjl_1 = false;
    this.sjl_1 = 0;
    var tmp = this;
    tmp.tjl_1 = 0;
    this.ujl_1 = 0;
    this.vjl_1 = 0;
    this.wjl_1 = 0;
  }
  protoOf(ContentEntryStatementScoreProgress).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryStatementScoreProgress))
      THROW_CCE();
    if (!(this.njl_1 === other.njl_1))
      return false;
    if (!(this.ojl_1 === other.ojl_1))
      return false;
    if (!(this.pjl_1 === other.pjl_1))
      return false;
    if (!(this.qjl_1 === other.qjl_1))
      return false;
    if (!(this.rjl_1 === other.rjl_1))
      return false;
    if (!(this.sjl_1 === other.sjl_1))
      return false;
    if (!(this.tjl_1 === other.tjl_1))
      return false;
    if (!(this.ujl_1 === other.ujl_1))
      return false;
    if (!(this.vjl_1 === other.vjl_1))
      return false;
    if (!(this.wjl_1 === other.wjl_1))
      return false;
    return true;
  };
  protoOf(ContentEntryStatementScoreProgress).hashCode = function () {
    var result = this.njl_1;
    result = imul(31, result) + this.ojl_1 | 0;
    result = imul(31, result) + getNumberHashCode(this.pjl_1) | 0;
    result = imul(31, result) + this.qjl_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.rjl_1) | 0;
    result = imul(31, result) + this.sjl_1 | 0;
    result = imul(31, result) + this.tjl_1 | 0;
    result = imul(31, result) + this.ujl_1 | 0;
    result = imul(31, result) + this.vjl_1 | 0;
    result = imul(31, result) + this.wjl_1 | 0;
    return result;
  };
  function Companion_64() {
    this.xjl_1 = 'epub';
    this.yjl_1 = 'video';
    this.zjl_1 = 'pdf';
    this.ajm_1 = 'xapi';
    this.bjm_1 = 'api/content/';
    this.cjm_1 = 738;
    this.djm_1 = '\n                 SELECT OfflineItem.oiUid\n                   FROM OfflineItem\n                  WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid\n                    AND CAST(OfflineItem.oiActive AS INTEGER) = 1\n                    AND OfflineItem.oiNodeId = \n            (SELECT COALESCE(\n                    (SELECT nodeClientId \n                       FROM SyncNode \n                      LIMIT 1), 0))\n        \n        ';
  }
  var Companion_instance_65;
  function Companion_getInstance_67() {
    return Companion_instance_65;
  }
  function $serializer_61() {
    $serializer_instance_61 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryVersion', this, 11);
    tmp0_serialDesc.y4l('cevUid', true);
    tmp0_serialDesc.y4l('cevContentEntryUid', true);
    tmp0_serialDesc.y4l('cevOpenUri', true);
    tmp0_serialDesc.y4l('cevContentType', true);
    tmp0_serialDesc.y4l('cevManifestUrl', true);
    tmp0_serialDesc.y4l('cevSize', true);
    tmp0_serialDesc.y4l('cevInActive', true);
    tmp0_serialDesc.y4l('cevLastModified', true);
    tmp0_serialDesc.y4l('cevLct', true);
    tmp0_serialDesc.y4l('cevStorageSize', true);
    tmp0_serialDesc.y4l('cevOriginalSize', true);
    this.ejm_1 = tmp0_serialDesc;
  }
  protoOf($serializer_61).v4a = function () {
    return this.ejm_1;
  };
  protoOf($serializer_61).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_61).x4a = function (decoder) {
    var tmp0_desc = this.ejm_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return ContentEntryVersion_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_61).fjm = function (encoder, value) {
    var tmp0_desc = this.ejm_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.vap_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.vap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.wap_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.wap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.xap_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.xap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.yap_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.yap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.zap_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.zap_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.aaq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.aaq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.baq_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.baq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.caq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.caq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.daq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.daq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.eaq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.eaq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.faq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.faq_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_61).w4a = function (encoder, value) {
    return this.fjm(encoder, value instanceof ContentEntryVersion ? value : THROW_CCE());
  };
  var $serializer_instance_61;
  function $serializer_getInstance_61() {
    if ($serializer_instance_61 == null)
      new $serializer_61();
    return $serializer_instance_61;
  }
  function ContentEntryVersion_init_$Init$(seen1, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_61().ejm_1);
    }
    if (0 === (seen1 & 1))
      $this.vap_1 = new Long(0, 0);
    else
      $this.vap_1 = cevUid;
    if (0 === (seen1 & 2))
      $this.wap_1 = new Long(0, 0);
    else
      $this.wap_1 = cevContentEntryUid;
    if (0 === (seen1 & 4))
      $this.xap_1 = '';
    else
      $this.xap_1 = cevOpenUri;
    if (0 === (seen1 & 8))
      $this.yap_1 = '';
    else
      $this.yap_1 = cevContentType;
    if (0 === (seen1 & 16))
      $this.zap_1 = null;
    else
      $this.zap_1 = cevManifestUrl;
    if (0 === (seen1 & 32))
      $this.aaq_1 = new Long(0, 0);
    else
      $this.aaq_1 = cevSize;
    if (0 === (seen1 & 64))
      $this.baq_1 = false;
    else
      $this.baq_1 = cevInActive;
    if (0 === (seen1 & 128))
      $this.caq_1 = new Long(0, 0);
    else
      $this.caq_1 = cevLastModified;
    if (0 === (seen1 & 256))
      $this.daq_1 = new Long(0, 0);
    else
      $this.daq_1 = cevLct;
    if (0 === (seen1 & 512))
      $this.eaq_1 = new Long(0, 0);
    else
      $this.eaq_1 = cevStorageSize;
    if (0 === (seen1 & 1024))
      $this.faq_1 = new Long(0, 0);
    else
      $this.faq_1 = cevOriginalSize;
    return $this;
  }
  function ContentEntryVersion_init_$Create$(seen1, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, serializationConstructorMarker) {
    return ContentEntryVersion_init_$Init$(seen1, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, serializationConstructorMarker, objectCreate(protoOf(ContentEntryVersion)));
  }
  function ContentEntryVersion(cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) {
    cevUid = cevUid === VOID ? new Long(0, 0) : cevUid;
    cevContentEntryUid = cevContentEntryUid === VOID ? new Long(0, 0) : cevContentEntryUid;
    cevOpenUri = cevOpenUri === VOID ? '' : cevOpenUri;
    cevContentType = cevContentType === VOID ? '' : cevContentType;
    cevManifestUrl = cevManifestUrl === VOID ? null : cevManifestUrl;
    cevSize = cevSize === VOID ? new Long(0, 0) : cevSize;
    cevInActive = cevInActive === VOID ? false : cevInActive;
    cevLastModified = cevLastModified === VOID ? new Long(0, 0) : cevLastModified;
    cevLct = cevLct === VOID ? new Long(0, 0) : cevLct;
    cevStorageSize = cevStorageSize === VOID ? new Long(0, 0) : cevStorageSize;
    cevOriginalSize = cevOriginalSize === VOID ? new Long(0, 0) : cevOriginalSize;
    this.vap_1 = cevUid;
    this.wap_1 = cevContentEntryUid;
    this.xap_1 = cevOpenUri;
    this.yap_1 = cevContentType;
    this.zap_1 = cevManifestUrl;
    this.aaq_1 = cevSize;
    this.baq_1 = cevInActive;
    this.caq_1 = cevLastModified;
    this.daq_1 = cevLct;
    this.eaq_1 = cevStorageSize;
    this.faq_1 = cevOriginalSize;
  }
  protoOf(ContentEntryVersion).toString = function () {
    return 'ContentEntryVersion(cevUid=' + this.vap_1.toString() + ', cevContentEntryUid=' + this.wap_1.toString() + ', cevOpenUri=' + this.xap_1 + ', cevContentType=' + this.yap_1 + ', cevManifestUrl=' + this.zap_1 + ', cevSize=' + this.aaq_1.toString() + ', cevInActive=' + this.baq_1 + ', cevLastModified=' + this.caq_1.toString() + ', cevLct=' + this.daq_1.toString() + ', cevStorageSize=' + this.eaq_1.toString() + ', cevOriginalSize=' + this.faq_1.toString() + ')';
  };
  protoOf(ContentEntryVersion).hashCode = function () {
    var result = this.vap_1.hashCode();
    result = imul(result, 31) + this.wap_1.hashCode() | 0;
    result = imul(result, 31) + (this.xap_1 == null ? 0 : getStringHashCode(this.xap_1)) | 0;
    result = imul(result, 31) + (this.yap_1 == null ? 0 : getStringHashCode(this.yap_1)) | 0;
    result = imul(result, 31) + (this.zap_1 == null ? 0 : getStringHashCode(this.zap_1)) | 0;
    result = imul(result, 31) + this.aaq_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.baq_1) | 0;
    result = imul(result, 31) + this.caq_1.hashCode() | 0;
    result = imul(result, 31) + this.daq_1.hashCode() | 0;
    result = imul(result, 31) + this.eaq_1.hashCode() | 0;
    result = imul(result, 31) + this.faq_1.hashCode() | 0;
    return result;
  };
  protoOf(ContentEntryVersion).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryVersion))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryVersion ? other : THROW_CCE();
    if (!this.vap_1.equals(tmp0_other_with_cast.vap_1))
      return false;
    if (!this.wap_1.equals(tmp0_other_with_cast.wap_1))
      return false;
    if (!(this.xap_1 == tmp0_other_with_cast.xap_1))
      return false;
    if (!(this.yap_1 == tmp0_other_with_cast.yap_1))
      return false;
    if (!(this.zap_1 == tmp0_other_with_cast.zap_1))
      return false;
    if (!this.aaq_1.equals(tmp0_other_with_cast.aaq_1))
      return false;
    if (!(this.baq_1 === tmp0_other_with_cast.baq_1))
      return false;
    if (!this.caq_1.equals(tmp0_other_with_cast.caq_1))
      return false;
    if (!this.daq_1.equals(tmp0_other_with_cast.daq_1))
      return false;
    if (!this.eaq_1.equals(tmp0_other_with_cast.eaq_1))
      return false;
    if (!this.faq_1.equals(tmp0_other_with_cast.faq_1))
      return false;
    return true;
  };
  function Companion_65() {
  }
  var Companion_instance_66;
  function Companion_getInstance_68() {
    return Companion_instance_66;
  }
  function $serializer_62() {
    $serializer_instance_62 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryWithLanguage', this, 28);
    tmp0_serialDesc.y4l('contentEntryUid', true);
    tmp0_serialDesc.y4l('title', true);
    tmp0_serialDesc.y4l('description', true);
    tmp0_serialDesc.y4l('entryId', true);
    tmp0_serialDesc.y4l('author', true);
    tmp0_serialDesc.y4l('publisher', true);
    tmp0_serialDesc.y4l('licenseType', true);
    tmp0_serialDesc.y4l('licenseName', true);
    tmp0_serialDesc.y4l('licenseUrl', true);
    tmp0_serialDesc.y4l('sourceUrl', true);
    tmp0_serialDesc.y4l('thumbnailUrl', true);
    tmp0_serialDesc.y4l('lastModified', true);
    tmp0_serialDesc.y4l('primaryLanguageUid', true);
    tmp0_serialDesc.y4l('languageVariantUid', true);
    tmp0_serialDesc.y4l('contentFlags', true);
    tmp0_serialDesc.y4l('leaf', true);
    tmp0_serialDesc.y4l('publik', true);
    tmp0_serialDesc.y4l('ceInactive', true);
    tmp0_serialDesc.y4l('completionCriteria', true);
    tmp0_serialDesc.y4l('minScore', true);
    tmp0_serialDesc.y4l('contentTypeFlag', true);
    tmp0_serialDesc.y4l('contentOwner', true);
    tmp0_serialDesc.y4l('contentOwnerType', true);
    tmp0_serialDesc.y4l('contentEntryLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentEntryMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('contentEntryLastChangedBy', true);
    tmp0_serialDesc.y4l('contentEntryLct', true);
    tmp0_serialDesc.y4l('language', true);
    this.gjm_1 = tmp0_serialDesc;
  }
  protoOf($serializer_62).v4a = function () {
    return this.gjm_1;
  };
  protoOf($serializer_62).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_83())];
  };
  protoOf($serializer_62).x4a = function (decoder) {
    var tmp0_desc = this.gjm_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = null;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_local10 = null;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = 0;
    var tmp19_local15 = false;
    var tmp20_local16 = false;
    var tmp21_local17 = false;
    var tmp22_local18 = 0;
    var tmp23_local19 = 0;
    var tmp24_local20 = 0;
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = 0;
    var tmp30_local26 = new Long(0, 0);
    var tmp31_local27 = null;
    var tmp32_input = decoder.n4e(tmp0_desc);
    if (tmp32_input.c4f()) {
      tmp4_local0 = tmp32_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp32_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp32_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp32_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp32_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp32_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp32_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp32_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp32_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp32_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp32_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp32_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp32_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp32_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp32_input.s4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp32_input.p4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp32_input.p4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp32_input.p4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp32_input.s4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp32_input.s4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp32_input.s4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp32_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp32_input.s4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp32_input.t4e(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp32_input.t4e(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp32_input.s4e(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp32_input.t4e(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp31_local27 = tmp32_input.b4f(tmp0_desc, 27, $serializer_getInstance_83(), tmp31_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp32_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp32_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp32_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp32_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp32_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp32_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp32_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp32_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp32_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp32_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp32_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp32_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp32_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp32_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp32_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp32_input.s4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp32_input.p4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp32_input.p4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp32_input.p4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp32_input.s4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp32_input.s4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp32_input.s4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp32_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp32_input.s4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp32_input.t4e(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp32_input.t4e(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp32_input.s4e(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp32_input.t4e(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp31_local27 = tmp32_input.b4f(tmp0_desc, 27, $serializer_getInstance_83(), tmp31_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp32_input.o4e(tmp0_desc);
    return ContentEntryWithLanguage_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, tmp31_local27, null);
  };
  protoOf($serializer_62).hjm = function (encoder, value) {
    var tmp0_desc = this.gjm_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.xan_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.xan_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.yan_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.yan_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.zan_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.zan_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.aao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.aao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.bao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.bao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.cao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.cao_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 6)) {
      tmp = true;
    } else {
      var tmp_0 = value.dao_1;
      tmp = !(tmp_0 === 0);
    }
    if (tmp) {
      tmp1_output.w4f(tmp0_desc, 6, value.dao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.eao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 7, StringSerializer_getInstance(), value.eao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.fao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 8, StringSerializer_getInstance(), value.fao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.gao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 9, StringSerializer_getInstance(), value.gao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.hao_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 10, StringSerializer_getInstance(), value.hao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.iao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.iao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.jao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.jao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.kao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.kao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.lao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 14, value.lao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.mao_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 15, value.mao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.nao_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 16, value.nao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.oao_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 17, value.oao_1);
    }
    var tmp_1;
    if (tmp1_output.j4g(tmp0_desc, 18)) {
      tmp_1 = true;
    } else {
      var tmp_2 = value.pao_1;
      tmp_1 = !(tmp_2 === 0);
    }
    if (tmp_1) {
      tmp1_output.w4f(tmp0_desc, 18, value.pao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.qao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 19, value.qao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !(value.rao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 20, value.rao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.sao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.sao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.tao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 22, value.tao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !value.uao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 23, value.uao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 24) ? true : !value.vao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 24, value.vao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 25) ? true : !(value.wao_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 25, value.wao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 26) ? true : !value.xao_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 26, value.xao_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 27) ? true : !(value.jjn_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 27, $serializer_getInstance_83(), value.jjn_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_62).w4a = function (encoder, value) {
    return this.hjm(encoder, value instanceof ContentEntryWithLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_62;
  function $serializer_getInstance_62() {
    if ($serializer_instance_62 == null)
      new $serializer_62();
    return $serializer_instance_62;
  }
  function ContentEntryWithLanguage_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, language, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_62().gjm_1);
    }
    ContentEntry_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 134217728))
      $this.jjn_1 = null;
    else
      $this.jjn_1 = language;
    return $this;
  }
  function ContentEntryWithLanguage_init_$Create$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, language, serializationConstructorMarker) {
    return ContentEntryWithLanguage_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, language, serializationConstructorMarker, objectCreate(protoOf(ContentEntryWithLanguage)));
  }
  function ContentEntryWithLanguage() {
    ContentEntry.call(this);
    this.jjn_1 = null;
  }
  function Companion_66() {
    this.kjn_1 = 702;
  }
  var Companion_instance_67;
  function Companion_getInstance_69() {
    return Companion_instance_67;
  }
  function $serializer_63() {
    $serializer_instance_63 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentJob', this, 8);
    tmp0_serialDesc.y4l('cjUid', true);
    tmp0_serialDesc.y4l('toUri', true);
    tmp0_serialDesc.y4l('cjProgress', true);
    tmp0_serialDesc.y4l('cjTotal', true);
    tmp0_serialDesc.y4l('cjNotificationTitle', true);
    tmp0_serialDesc.y4l('cjIsMeteredAllowed', true);
    tmp0_serialDesc.y4l('params', true);
    tmp0_serialDesc.y4l('cjLct', true);
    this.ljn_1 = tmp0_serialDesc;
  }
  protoOf($serializer_63).v4a = function () {
    return this.ljn_1;
  };
  protoOf($serializer_63).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_63).x4a = function (decoder) {
    var tmp0_desc = this.ljn_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = false;
    var tmp10_local6 = null;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return ContentJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_63).mjn = function (encoder, value) {
    var tmp0_desc = this.ljn_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.njn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.njn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ojn_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ojn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.pjn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.pjn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.qjn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.qjn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.rjn_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.rjn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.sjn_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 5, value.sjn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.tjn_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.tjn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.ujn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.ujn_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_63).w4a = function (encoder, value) {
    return this.mjn(encoder, value instanceof ContentJob ? value : THROW_CCE());
  };
  var $serializer_instance_63;
  function $serializer_getInstance_63() {
    if ($serializer_instance_63 == null)
      new $serializer_63();
    return $serializer_instance_63;
  }
  function ContentJob_init_$Init$(seen1, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_63().ljn_1);
    }
    if (0 === (seen1 & 1))
      $this.njn_1 = new Long(0, 0);
    else
      $this.njn_1 = cjUid;
    if (0 === (seen1 & 2))
      $this.ojn_1 = null;
    else
      $this.ojn_1 = toUri;
    if (0 === (seen1 & 4))
      $this.pjn_1 = new Long(0, 0);
    else
      $this.pjn_1 = cjProgress;
    if (0 === (seen1 & 8))
      $this.qjn_1 = new Long(0, 0);
    else
      $this.qjn_1 = cjTotal;
    if (0 === (seen1 & 16))
      $this.rjn_1 = null;
    else
      $this.rjn_1 = cjNotificationTitle;
    if (0 === (seen1 & 32))
      $this.sjn_1 = false;
    else
      $this.sjn_1 = cjIsMeteredAllowed;
    if (0 === (seen1 & 64))
      $this.tjn_1 = null;
    else
      $this.tjn_1 = params;
    if (0 === (seen1 & 128))
      $this.ujn_1 = new Long(0, 0);
    else
      $this.ujn_1 = cjLct;
    return $this;
  }
  function ContentJob_init_$Create$(seen1, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, serializationConstructorMarker) {
    return ContentJob_init_$Init$(seen1, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, serializationConstructorMarker, objectCreate(protoOf(ContentJob)));
  }
  function ContentJob(cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) {
    cjUid = cjUid === VOID ? new Long(0, 0) : cjUid;
    toUri = toUri === VOID ? null : toUri;
    cjProgress = cjProgress === VOID ? new Long(0, 0) : cjProgress;
    cjTotal = cjTotal === VOID ? new Long(0, 0) : cjTotal;
    cjNotificationTitle = cjNotificationTitle === VOID ? null : cjNotificationTitle;
    cjIsMeteredAllowed = cjIsMeteredAllowed === VOID ? false : cjIsMeteredAllowed;
    params = params === VOID ? null : params;
    cjLct = cjLct === VOID ? new Long(0, 0) : cjLct;
    this.njn_1 = cjUid;
    this.ojn_1 = toUri;
    this.pjn_1 = cjProgress;
    this.qjn_1 = cjTotal;
    this.rjn_1 = cjNotificationTitle;
    this.sjn_1 = cjIsMeteredAllowed;
    this.tjn_1 = params;
    this.ujn_1 = cjLct;
  }
  protoOf(ContentJob).toString = function () {
    return 'ContentJob(cjUid=' + this.njn_1.toString() + ', toUri=' + this.ojn_1 + ', cjProgress=' + this.pjn_1.toString() + ', cjTotal=' + this.qjn_1.toString() + ', cjNotificationTitle=' + this.rjn_1 + ', cjIsMeteredAllowed=' + this.sjn_1 + ', params=' + this.tjn_1 + ', cjLct=' + this.ujn_1.toString() + ')';
  };
  protoOf(ContentJob).hashCode = function () {
    var result = this.njn_1.hashCode();
    result = imul(result, 31) + (this.ojn_1 == null ? 0 : getStringHashCode(this.ojn_1)) | 0;
    result = imul(result, 31) + this.pjn_1.hashCode() | 0;
    result = imul(result, 31) + this.qjn_1.hashCode() | 0;
    result = imul(result, 31) + (this.rjn_1 == null ? 0 : getStringHashCode(this.rjn_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.sjn_1) | 0;
    result = imul(result, 31) + (this.tjn_1 == null ? 0 : getStringHashCode(this.tjn_1)) | 0;
    result = imul(result, 31) + this.ujn_1.hashCode() | 0;
    return result;
  };
  protoOf(ContentJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentJob))
      return false;
    var tmp0_other_with_cast = other instanceof ContentJob ? other : THROW_CCE();
    if (!this.njn_1.equals(tmp0_other_with_cast.njn_1))
      return false;
    if (!(this.ojn_1 == tmp0_other_with_cast.ojn_1))
      return false;
    if (!this.pjn_1.equals(tmp0_other_with_cast.pjn_1))
      return false;
    if (!this.qjn_1.equals(tmp0_other_with_cast.qjn_1))
      return false;
    if (!(this.rjn_1 == tmp0_other_with_cast.rjn_1))
      return false;
    if (!(this.sjn_1 === tmp0_other_with_cast.sjn_1))
      return false;
    if (!(this.tjn_1 == tmp0_other_with_cast.tjn_1))
      return false;
    if (!this.ujn_1.equals(tmp0_other_with_cast.ujn_1))
      return false;
    return true;
  };
  function Companion_67() {
    this.vjn_1 = 523;
  }
  var Companion_instance_68;
  function Companion_getInstance_70() {
    return Companion_instance_68;
  }
  function $serializer_64() {
    $serializer_instance_64 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseAssignmentMark', this, 11);
    tmp0_serialDesc.y4l('camUid', true);
    tmp0_serialDesc.y4l('camAssignmentUid', true);
    tmp0_serialDesc.y4l('camSubmitterUid', true);
    tmp0_serialDesc.y4l('camMarkerSubmitterUid', true);
    tmp0_serialDesc.y4l('camMarkerPersonUid', true);
    tmp0_serialDesc.y4l('camMarkerComment', true);
    tmp0_serialDesc.y4l('camMark', true);
    tmp0_serialDesc.y4l('camMaxMark', true);
    tmp0_serialDesc.y4l('camPenalty', true);
    tmp0_serialDesc.y4l('camLct', true);
    tmp0_serialDesc.y4l('camClazzUid', true);
    this.wjn_1 = tmp0_serialDesc;
  }
  protoOf($serializer_64).v4a = function () {
    return this.wjn_1;
  };
  protoOf($serializer_64).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), FloatSerializer_getInstance(), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_64).x4a = function (decoder) {
    var tmp0_desc = this.wjn_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = 0.0;
    var tmp12_local8 = 0.0;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.u4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.u4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.u4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.u4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.u4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.u4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return CourseAssignmentMark_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_64).xjn = function (encoder, value) {
    var tmp0_desc = this.wjn_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ubn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ubn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.vbn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.vbn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.wbn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.wbn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.xbn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.xbn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.ybn_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.ybn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.zbn_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.zbn_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !equals(value.abo_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 6, value.abo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !equals(value.bbo_1, 1.0)) {
      tmp1_output.y4f(tmp0_desc, 7, value.bbo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !equals(value.cbo_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 8, value.cbo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.dbo_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.dbo_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.ebo_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.ebo_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_64).w4a = function (encoder, value) {
    return this.xjn(encoder, value instanceof CourseAssignmentMark ? value : THROW_CCE());
  };
  var $serializer_instance_64;
  function $serializer_getInstance_64() {
    if ($serializer_instance_64 == null)
      new $serializer_64();
    return $serializer_instance_64;
  }
  function CourseAssignmentMark_init_$Init$(seen1, camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_64().wjn_1);
    }
    if (0 === (seen1 & 1))
      $this.ubn_1 = new Long(0, 0);
    else
      $this.ubn_1 = camUid;
    if (0 === (seen1 & 2))
      $this.vbn_1 = new Long(0, 0);
    else
      $this.vbn_1 = camAssignmentUid;
    if (0 === (seen1 & 4))
      $this.wbn_1 = new Long(0, 0);
    else
      $this.wbn_1 = camSubmitterUid;
    if (0 === (seen1 & 8))
      $this.xbn_1 = new Long(0, 0);
    else
      $this.xbn_1 = camMarkerSubmitterUid;
    if (0 === (seen1 & 16))
      $this.ybn_1 = new Long(0, 0);
    else
      $this.ybn_1 = camMarkerPersonUid;
    if (0 === (seen1 & 32))
      $this.zbn_1 = null;
    else
      $this.zbn_1 = camMarkerComment;
    if (0 === (seen1 & 64))
      $this.abo_1 = 0.0;
    else
      $this.abo_1 = camMark;
    if (0 === (seen1 & 128))
      $this.bbo_1 = 1.0;
    else
      $this.bbo_1 = camMaxMark;
    if (0 === (seen1 & 256))
      $this.cbo_1 = 0.0;
    else
      $this.cbo_1 = camPenalty;
    if (0 === (seen1 & 512))
      $this.dbo_1 = new Long(0, 0);
    else
      $this.dbo_1 = camLct;
    if (0 === (seen1 & 1024))
      $this.ebo_1 = new Long(0, 0);
    else
      $this.ebo_1 = camClazzUid;
    return $this;
  }
  function CourseAssignmentMark_init_$Create$(seen1, camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid, serializationConstructorMarker) {
    return CourseAssignmentMark_init_$Init$(seen1, camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentMark)));
  }
  function CourseAssignmentMark() {
    this.ubn_1 = new Long(0, 0);
    this.vbn_1 = new Long(0, 0);
    this.wbn_1 = new Long(0, 0);
    this.xbn_1 = new Long(0, 0);
    this.ybn_1 = new Long(0, 0);
    this.zbn_1 = null;
    this.abo_1 = 0.0;
    this.bbo_1 = 1.0;
    this.cbo_1 = 0.0;
    this.dbo_1 = new Long(0, 0);
    this.ebo_1 = new Long(0, 0);
  }
  function Companion_68() {
    Companion_instance_69 = this;
    this.yjn_1 = 522;
    this.zjn_1 = new Long(-1, -1);
    this.ajo_1 = 1;
    this.bjo_1 = 2;
    this.cjo_1 = 0;
    this.djo_1 = 1;
    this.ejo_1 = 2;
    this.fjo_1 = 10000;
  }
  protoOf(Companion_68).s4x = function () {
    return $serializer_getInstance_65();
  };
  var Companion_instance_69;
  function Companion_getInstance_71() {
    if (Companion_instance_69 == null)
      new Companion_68();
    return Companion_instance_69;
  }
  function $serializer_65() {
    $serializer_instance_65 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseAssignmentSubmission', this, 8);
    tmp0_serialDesc.y4l('casUid', true);
    tmp0_serialDesc.y4l('casAssignmentUid', true);
    tmp0_serialDesc.y4l('casSubmitterUid', true);
    tmp0_serialDesc.y4l('casSubmitterPersonUid', true);
    tmp0_serialDesc.y4l('casText', true);
    tmp0_serialDesc.y4l('casType', true);
    tmp0_serialDesc.y4l('casTimestamp', true);
    tmp0_serialDesc.y4l('casClazzUid', true);
    this.gjo_1 = tmp0_serialDesc;
  }
  protoOf($serializer_65).v4a = function () {
    return this.gjo_1;
  };
  protoOf($serializer_65).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_65).x4a = function (decoder) {
    var tmp0_desc = this.gjo_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return CourseAssignmentSubmission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_65).hjo = function (encoder, value) {
    var tmp0_desc = this.gjo_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.zbt_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.zbt_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.abu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.abu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.bbu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.bbu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.cbu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.cbu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.dbu_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.dbu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ebu_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.ebu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.fbu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.fbu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.gbu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.gbu_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_65).w4a = function (encoder, value) {
    return this.hjo(encoder, value instanceof CourseAssignmentSubmission ? value : THROW_CCE());
  };
  var $serializer_instance_65;
  function $serializer_getInstance_65() {
    if ($serializer_instance_65 == null)
      new $serializer_65();
    return $serializer_instance_65;
  }
  function CourseAssignmentSubmission_init_$Init$(seen1, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_65().gjo_1);
    }
    if (0 === (seen1 & 1))
      $this.zbt_1 = new Long(0, 0);
    else
      $this.zbt_1 = casUid;
    if (0 === (seen1 & 2))
      $this.abu_1 = new Long(0, 0);
    else
      $this.abu_1 = casAssignmentUid;
    if (0 === (seen1 & 4))
      $this.bbu_1 = new Long(0, 0);
    else
      $this.bbu_1 = casSubmitterUid;
    if (0 === (seen1 & 8))
      $this.cbu_1 = new Long(0, 0);
    else
      $this.cbu_1 = casSubmitterPersonUid;
    if (0 === (seen1 & 16))
      $this.dbu_1 = null;
    else
      $this.dbu_1 = casText;
    if (0 === (seen1 & 32))
      $this.ebu_1 = 0;
    else
      $this.ebu_1 = casType;
    if (0 === (seen1 & 64))
      $this.fbu_1 = new Long(0, 0);
    else
      $this.fbu_1 = casTimestamp;
    if (0 === (seen1 & 128))
      $this.gbu_1 = new Long(0, 0);
    else
      $this.gbu_1 = casClazzUid;
    return $this;
  }
  function CourseAssignmentSubmission_init_$Create$(seen1, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, serializationConstructorMarker) {
    return CourseAssignmentSubmission_init_$Init$(seen1, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentSubmission)));
  }
  function CourseAssignmentSubmission(casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) {
    Companion_getInstance_71();
    casUid = casUid === VOID ? new Long(0, 0) : casUid;
    casAssignmentUid = casAssignmentUid === VOID ? new Long(0, 0) : casAssignmentUid;
    casSubmitterUid = casSubmitterUid === VOID ? new Long(0, 0) : casSubmitterUid;
    casSubmitterPersonUid = casSubmitterPersonUid === VOID ? new Long(0, 0) : casSubmitterPersonUid;
    casText = casText === VOID ? null : casText;
    casType = casType === VOID ? 0 : casType;
    casTimestamp = casTimestamp === VOID ? new Long(0, 0) : casTimestamp;
    casClazzUid = casClazzUid === VOID ? new Long(0, 0) : casClazzUid;
    this.zbt_1 = casUid;
    this.abu_1 = casAssignmentUid;
    this.bbu_1 = casSubmitterUid;
    this.cbu_1 = casSubmitterPersonUid;
    this.dbu_1 = casText;
    this.ebu_1 = casType;
    this.fbu_1 = casTimestamp;
    this.gbu_1 = casClazzUid;
  }
  protoOf(CourseAssignmentSubmission).toString = function () {
    return 'CourseAssignmentSubmission(casUid=' + this.zbt_1.toString() + ', casAssignmentUid=' + this.abu_1.toString() + ', casSubmitterUid=' + this.bbu_1.toString() + ', casSubmitterPersonUid=' + this.cbu_1.toString() + ', casText=' + this.dbu_1 + ', casType=' + this.ebu_1 + ', casTimestamp=' + this.fbu_1.toString() + ', casClazzUid=' + this.gbu_1.toString() + ')';
  };
  protoOf(CourseAssignmentSubmission).hashCode = function () {
    var result = this.zbt_1.hashCode();
    result = imul(result, 31) + this.abu_1.hashCode() | 0;
    result = imul(result, 31) + this.bbu_1.hashCode() | 0;
    result = imul(result, 31) + this.cbu_1.hashCode() | 0;
    result = imul(result, 31) + (this.dbu_1 == null ? 0 : getStringHashCode(this.dbu_1)) | 0;
    result = imul(result, 31) + this.ebu_1 | 0;
    result = imul(result, 31) + this.fbu_1.hashCode() | 0;
    result = imul(result, 31) + this.gbu_1.hashCode() | 0;
    return result;
  };
  protoOf(CourseAssignmentSubmission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentSubmission))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentSubmission ? other : THROW_CCE();
    if (!this.zbt_1.equals(tmp0_other_with_cast.zbt_1))
      return false;
    if (!this.abu_1.equals(tmp0_other_with_cast.abu_1))
      return false;
    if (!this.bbu_1.equals(tmp0_other_with_cast.bbu_1))
      return false;
    if (!this.cbu_1.equals(tmp0_other_with_cast.cbu_1))
      return false;
    if (!(this.dbu_1 == tmp0_other_with_cast.dbu_1))
      return false;
    if (!(this.ebu_1 === tmp0_other_with_cast.ebu_1))
      return false;
    if (!this.fbu_1.equals(tmp0_other_with_cast.fbu_1))
      return false;
    if (!this.gbu_1.equals(tmp0_other_with_cast.gbu_1))
      return false;
    return true;
  };
  function Companion_69() {
    this.ijo_1 = 90;
  }
  var Companion_instance_70;
  function Companion_getInstance_72() {
    return Companion_instance_70;
  }
  function $serializer_66() {
    $serializer_instance_66 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseAssignmentSubmissionFile', this, 11);
    tmp0_serialDesc.y4l('casaUid', true);
    tmp0_serialDesc.y4l('casaSubmissionUid', true);
    tmp0_serialDesc.y4l('casaSubmitterUid', true);
    tmp0_serialDesc.y4l('casaCaUid', true);
    tmp0_serialDesc.y4l('casaClazzUid', true);
    tmp0_serialDesc.y4l('casaMimeType', true);
    tmp0_serialDesc.y4l('casaFileName', true);
    tmp0_serialDesc.y4l('casaUri', true);
    tmp0_serialDesc.y4l('casaSize', true);
    tmp0_serialDesc.y4l('casaTimestamp', true);
    tmp0_serialDesc.y4l('casaDeleted', true);
    this.jjo_1 = tmp0_serialDesc;
  }
  protoOf($serializer_66).v4a = function () {
    return this.jjo_1;
  };
  protoOf($serializer_66).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_66).x4a = function (decoder) {
    var tmp0_desc = this.jjo_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_local8 = 0;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = false;
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.p4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.p4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return CourseAssignmentSubmissionFile_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_66).kjo = function (encoder, value) {
    var tmp0_desc = this.jjo_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.nc2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.nc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.oc2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.oc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.pc2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.pc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.qc2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.qc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.rc2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.rc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.sc2_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.sc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.tc2_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.tc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.uc2_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 7, StringSerializer_getInstance(), value.uc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.vc2_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 8, value.vc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.wc2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.wc2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.xc2_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 10, value.xc2_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_66).w4a = function (encoder, value) {
    return this.kjo(encoder, value instanceof CourseAssignmentSubmissionFile ? value : THROW_CCE());
  };
  var $serializer_instance_66;
  function $serializer_getInstance_66() {
    if ($serializer_instance_66 == null)
      new $serializer_66();
    return $serializer_instance_66;
  }
  function CourseAssignmentSubmissionFile_init_$Init$(seen1, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_66().jjo_1);
    }
    if (0 === (seen1 & 1))
      $this.nc2_1 = new Long(0, 0);
    else
      $this.nc2_1 = casaUid;
    if (0 === (seen1 & 2))
      $this.oc2_1 = new Long(0, 0);
    else
      $this.oc2_1 = casaSubmissionUid;
    if (0 === (seen1 & 4))
      $this.pc2_1 = new Long(0, 0);
    else
      $this.pc2_1 = casaSubmitterUid;
    if (0 === (seen1 & 8))
      $this.qc2_1 = new Long(0, 0);
    else
      $this.qc2_1 = casaCaUid;
    if (0 === (seen1 & 16))
      $this.rc2_1 = new Long(0, 0);
    else
      $this.rc2_1 = casaClazzUid;
    if (0 === (seen1 & 32))
      $this.sc2_1 = null;
    else
      $this.sc2_1 = casaMimeType;
    if (0 === (seen1 & 64))
      $this.tc2_1 = null;
    else
      $this.tc2_1 = casaFileName;
    if (0 === (seen1 & 128))
      $this.uc2_1 = null;
    else
      $this.uc2_1 = casaUri;
    if (0 === (seen1 & 256))
      $this.vc2_1 = 0;
    else
      $this.vc2_1 = casaSize;
    if (0 === (seen1 & 512))
      $this.wc2_1 = new Long(0, 0);
    else
      $this.wc2_1 = casaTimestamp;
    if (0 === (seen1 & 1024))
      $this.xc2_1 = false;
    else
      $this.xc2_1 = casaDeleted;
    return $this;
  }
  function CourseAssignmentSubmissionFile_init_$Create$(seen1, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, serializationConstructorMarker) {
    return CourseAssignmentSubmissionFile_init_$Init$(seen1, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentSubmissionFile)));
  }
  function CourseAssignmentSubmissionFile(casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) {
    casaUid = casaUid === VOID ? new Long(0, 0) : casaUid;
    casaSubmissionUid = casaSubmissionUid === VOID ? new Long(0, 0) : casaSubmissionUid;
    casaSubmitterUid = casaSubmitterUid === VOID ? new Long(0, 0) : casaSubmitterUid;
    casaCaUid = casaCaUid === VOID ? new Long(0, 0) : casaCaUid;
    casaClazzUid = casaClazzUid === VOID ? new Long(0, 0) : casaClazzUid;
    casaMimeType = casaMimeType === VOID ? null : casaMimeType;
    casaFileName = casaFileName === VOID ? null : casaFileName;
    casaUri = casaUri === VOID ? null : casaUri;
    casaSize = casaSize === VOID ? 0 : casaSize;
    casaTimestamp = casaTimestamp === VOID ? new Long(0, 0) : casaTimestamp;
    casaDeleted = casaDeleted === VOID ? false : casaDeleted;
    this.nc2_1 = casaUid;
    this.oc2_1 = casaSubmissionUid;
    this.pc2_1 = casaSubmitterUid;
    this.qc2_1 = casaCaUid;
    this.rc2_1 = casaClazzUid;
    this.sc2_1 = casaMimeType;
    this.tc2_1 = casaFileName;
    this.uc2_1 = casaUri;
    this.vc2_1 = casaSize;
    this.wc2_1 = casaTimestamp;
    this.xc2_1 = casaDeleted;
  }
  protoOf(CourseAssignmentSubmissionFile).toString = function () {
    return 'CourseAssignmentSubmissionFile(casaUid=' + this.nc2_1.toString() + ', casaSubmissionUid=' + this.oc2_1.toString() + ', casaSubmitterUid=' + this.pc2_1.toString() + ', casaCaUid=' + this.qc2_1.toString() + ', casaClazzUid=' + this.rc2_1.toString() + ', casaMimeType=' + this.sc2_1 + ', casaFileName=' + this.tc2_1 + ', casaUri=' + this.uc2_1 + ', casaSize=' + this.vc2_1 + ', casaTimestamp=' + this.wc2_1.toString() + ', casaDeleted=' + this.xc2_1 + ')';
  };
  protoOf(CourseAssignmentSubmissionFile).hashCode = function () {
    var result = this.nc2_1.hashCode();
    result = imul(result, 31) + this.oc2_1.hashCode() | 0;
    result = imul(result, 31) + this.pc2_1.hashCode() | 0;
    result = imul(result, 31) + this.qc2_1.hashCode() | 0;
    result = imul(result, 31) + this.rc2_1.hashCode() | 0;
    result = imul(result, 31) + (this.sc2_1 == null ? 0 : getStringHashCode(this.sc2_1)) | 0;
    result = imul(result, 31) + (this.tc2_1 == null ? 0 : getStringHashCode(this.tc2_1)) | 0;
    result = imul(result, 31) + (this.uc2_1 == null ? 0 : getStringHashCode(this.uc2_1)) | 0;
    result = imul(result, 31) + this.vc2_1 | 0;
    result = imul(result, 31) + this.wc2_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.xc2_1) | 0;
    return result;
  };
  protoOf(CourseAssignmentSubmissionFile).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentSubmissionFile))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentSubmissionFile ? other : THROW_CCE();
    if (!this.nc2_1.equals(tmp0_other_with_cast.nc2_1))
      return false;
    if (!this.oc2_1.equals(tmp0_other_with_cast.oc2_1))
      return false;
    if (!this.pc2_1.equals(tmp0_other_with_cast.pc2_1))
      return false;
    if (!this.qc2_1.equals(tmp0_other_with_cast.qc2_1))
      return false;
    if (!this.rc2_1.equals(tmp0_other_with_cast.rc2_1))
      return false;
    if (!(this.sc2_1 == tmp0_other_with_cast.sc2_1))
      return false;
    if (!(this.tc2_1 == tmp0_other_with_cast.tc2_1))
      return false;
    if (!(this.uc2_1 == tmp0_other_with_cast.uc2_1))
      return false;
    if (!(this.vc2_1 === tmp0_other_with_cast.vc2_1))
      return false;
    if (!this.wc2_1.equals(tmp0_other_with_cast.wc2_1))
      return false;
    if (!(this.xc2_1 === tmp0_other_with_cast.xc2_1))
      return false;
    return true;
  };
  function Companion_70() {
    this.ljo_1 = 124;
    this.mjo_1 = 100;
    this.njo_1 = 102;
    this.ojo_1 = 103;
    this.pjo_1 = 104;
    this.qjo_1 = 105;
    this.rjo_1 = 300;
  }
  protoOf(Companion_70).s4x = function () {
    return $serializer_getInstance_67();
  };
  var Companion_instance_71;
  function Companion_getInstance_73() {
    return Companion_instance_71;
  }
  function $serializer_67() {
    $serializer_instance_67 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseBlock', this, 23);
    tmp0_serialDesc.y4l('cbUid', true);
    tmp0_serialDesc.y4l('cbType', true);
    tmp0_serialDesc.y4l('cbIndentLevel', true);
    tmp0_serialDesc.y4l('cbModuleParentBlockUid', true);
    tmp0_serialDesc.y4l('cbTitle', true);
    tmp0_serialDesc.y4l('cbDescription', true);
    tmp0_serialDesc.y4l('cbCompletionCriteria', true);
    tmp0_serialDesc.y4l('cbHideUntilDate', true);
    tmp0_serialDesc.y4l('cbDeadlineDate', true);
    tmp0_serialDesc.y4l('cbLateSubmissionPenalty', true);
    tmp0_serialDesc.y4l('cbGracePeriodDate', true);
    tmp0_serialDesc.y4l('cbMaxPoints', true);
    tmp0_serialDesc.y4l('cbMinPoints', true);
    tmp0_serialDesc.y4l('cbIndex', true);
    tmp0_serialDesc.y4l('cbClazzUid', true);
    tmp0_serialDesc.y4l('cbClazzSourcedId', true);
    tmp0_serialDesc.y4l('cbActive', true);
    tmp0_serialDesc.y4l('cbHidden', true);
    tmp0_serialDesc.y4l('cbEntityUid', true);
    tmp0_serialDesc.y4l('cbLct', true);
    tmp0_serialDesc.y4l('cbSourcedId', true);
    tmp0_serialDesc.y4l('cbMetadata', true);
    tmp0_serialDesc.y4l('cbCreatedByAppId', true);
    this.sjo_1 = tmp0_serialDesc;
  }
  protoOf($serializer_67).v4a = function () {
    return this.sjo_1;
  };
  protoOf($serializer_67).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_67).x4a = function (decoder) {
    var tmp0_desc = this.sjo_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = null;
    var tmp16_local12 = null;
    var tmp17_local13 = 0;
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = null;
    var tmp20_local16 = false;
    var tmp21_local17 = false;
    var tmp22_local18 = new Long(0, 0);
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = null;
    var tmp25_local21 = null;
    var tmp26_local22 = null;
    var tmp27_input = decoder.n4e(tmp0_desc);
    if (tmp27_input.c4f()) {
      tmp4_local0 = tmp27_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp27_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp27_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp27_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp27_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp27_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp27_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp27_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp27_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp27_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp27_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp27_input.b4f(tmp0_desc, 11, FloatSerializer_getInstance(), tmp15_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp27_input.b4f(tmp0_desc, 12, FloatSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp27_input.s4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp27_input.t4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp27_input.b4f(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp27_input.p4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp27_input.p4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp27_input.t4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp27_input.t4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp27_input.b4f(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp27_input.b4f(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp27_input.b4f(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp27_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp27_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp27_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp27_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp27_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp27_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp27_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp27_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp27_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp27_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp27_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp27_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp27_input.b4f(tmp0_desc, 11, FloatSerializer_getInstance(), tmp15_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp27_input.b4f(tmp0_desc, 12, FloatSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp27_input.s4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp27_input.t4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp27_input.b4f(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp27_input.p4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp27_input.p4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp27_input.t4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp27_input.t4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp27_input.b4f(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp27_input.b4f(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp27_input.b4f(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp27_input.o4e(tmp0_desc);
    return CourseBlock_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, null);
  };
  protoOf($serializer_67).tjo = function (encoder, value) {
    var tmp0_desc = this.sjo_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.o83_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.o83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.p83_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.p83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.q83_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.q83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.r83_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.r83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.s83_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.s83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.t83_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.t83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.u83_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.u83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.v83_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.v83_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 8)) {
      tmp = true;
    } else {
      var tmp_0 = value.w83_1;
      Companion_getInstance();
      tmp = !tmp_0.equals(new Long(-1, 2147483647));
    }
    if (tmp) {
      tmp1_output.x4f(tmp0_desc, 8, value.w83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.x83_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.x83_1);
    }
    var tmp_1;
    if (tmp1_output.j4g(tmp0_desc, 10)) {
      tmp_1 = true;
    } else {
      var tmp_2 = value.y83_1;
      Companion_getInstance();
      tmp_1 = !tmp_2.equals(new Long(-1, 2147483647));
    }
    if (tmp_1) {
      tmp1_output.x4f(tmp0_desc, 10, value.y83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.z83_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 11, FloatSerializer_getInstance(), value.z83_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.a84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 12, FloatSerializer_getInstance(), value.a84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.b84_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 13, value.b84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !value.c84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 14, value.c84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.d84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 15, StringSerializer_getInstance(), value.d84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.e84_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 16, value.e84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.f84_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 17, value.f84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !value.g84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 18, value.g84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !value.h84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 19, value.h84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !(value.i84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 20, StringSerializer_getInstance(), value.i84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !(value.j84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 21, StringSerializer_getInstance(), value.j84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.k84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 22, StringSerializer_getInstance(), value.k84_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_67).w4a = function (encoder, value) {
    return this.tjo(encoder, value instanceof CourseBlock ? value : THROW_CCE());
  };
  var $serializer_instance_67;
  function $serializer_getInstance_67() {
    if ($serializer_instance_67 == null)
      new $serializer_67();
    return $serializer_instance_67;
  }
  function CourseBlock_init_$Init$(seen1, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_67().sjo_1);
    }
    if (0 === (seen1 & 1))
      $this.o83_1 = new Long(0, 0);
    else
      $this.o83_1 = cbUid;
    if (0 === (seen1 & 2))
      $this.p83_1 = 0;
    else
      $this.p83_1 = cbType;
    if (0 === (seen1 & 4))
      $this.q83_1 = 0;
    else
      $this.q83_1 = cbIndentLevel;
    if (0 === (seen1 & 8))
      $this.r83_1 = new Long(0, 0);
    else
      $this.r83_1 = cbModuleParentBlockUid;
    if (0 === (seen1 & 16))
      $this.s83_1 = null;
    else
      $this.s83_1 = cbTitle;
    if (0 === (seen1 & 32))
      $this.t83_1 = null;
    else
      $this.t83_1 = cbDescription;
    if (0 === (seen1 & 64))
      $this.u83_1 = 0;
    else
      $this.u83_1 = cbCompletionCriteria;
    if (0 === (seen1 & 128))
      $this.v83_1 = new Long(0, 0);
    else
      $this.v83_1 = cbHideUntilDate;
    if (0 === (seen1 & 256)) {
      var tmp = $this;
      Companion_getInstance();
      tmp.w83_1 = new Long(-1, 2147483647);
    } else
      $this.w83_1 = cbDeadlineDate;
    if (0 === (seen1 & 512))
      $this.x83_1 = 0;
    else
      $this.x83_1 = cbLateSubmissionPenalty;
    if (0 === (seen1 & 1024)) {
      var tmp_0 = $this;
      Companion_getInstance();
      tmp_0.y83_1 = new Long(-1, 2147483647);
    } else
      $this.y83_1 = cbGracePeriodDate;
    if (0 === (seen1 & 2048))
      $this.z83_1 = null;
    else
      $this.z83_1 = cbMaxPoints;
    if (0 === (seen1 & 4096))
      $this.a84_1 = null;
    else
      $this.a84_1 = cbMinPoints;
    if (0 === (seen1 & 8192))
      $this.b84_1 = 0;
    else
      $this.b84_1 = cbIndex;
    if (0 === (seen1 & 16384))
      $this.c84_1 = new Long(0, 0);
    else
      $this.c84_1 = cbClazzUid;
    if (0 === (seen1 & 32768))
      $this.d84_1 = null;
    else
      $this.d84_1 = cbClazzSourcedId;
    if (0 === (seen1 & 65536))
      $this.e84_1 = true;
    else
      $this.e84_1 = cbActive;
    if (0 === (seen1 & 131072))
      $this.f84_1 = false;
    else
      $this.f84_1 = cbHidden;
    if (0 === (seen1 & 262144))
      $this.g84_1 = new Long(0, 0);
    else
      $this.g84_1 = cbEntityUid;
    if (0 === (seen1 & 524288))
      $this.h84_1 = new Long(0, 0);
    else
      $this.h84_1 = cbLct;
    if (0 === (seen1 & 1048576))
      $this.i84_1 = null;
    else
      $this.i84_1 = cbSourcedId;
    if (0 === (seen1 & 2097152))
      $this.j84_1 = null;
    else
      $this.j84_1 = cbMetadata;
    if (0 === (seen1 & 4194304))
      $this.k84_1 = null;
    else
      $this.k84_1 = cbCreatedByAppId;
    return $this;
  }
  function CourseBlock_init_$Create$(seen1, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, serializationConstructorMarker) {
    return CourseBlock_init_$Init$(seen1, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, serializationConstructorMarker, objectCreate(protoOf(CourseBlock)));
  }
  function CourseBlock(cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) {
    cbUid = cbUid === VOID ? new Long(0, 0) : cbUid;
    cbType = cbType === VOID ? 0 : cbType;
    cbIndentLevel = cbIndentLevel === VOID ? 0 : cbIndentLevel;
    cbModuleParentBlockUid = cbModuleParentBlockUid === VOID ? new Long(0, 0) : cbModuleParentBlockUid;
    cbTitle = cbTitle === VOID ? null : cbTitle;
    cbDescription = cbDescription === VOID ? null : cbDescription;
    cbCompletionCriteria = cbCompletionCriteria === VOID ? 0 : cbCompletionCriteria;
    cbHideUntilDate = cbHideUntilDate === VOID ? new Long(0, 0) : cbHideUntilDate;
    var tmp;
    if (cbDeadlineDate === VOID) {
      Companion_getInstance();
      tmp = new Long(-1, 2147483647);
    } else {
      tmp = cbDeadlineDate;
    }
    cbDeadlineDate = tmp;
    cbLateSubmissionPenalty = cbLateSubmissionPenalty === VOID ? 0 : cbLateSubmissionPenalty;
    var tmp_0;
    if (cbGracePeriodDate === VOID) {
      Companion_getInstance();
      tmp_0 = new Long(-1, 2147483647);
    } else {
      tmp_0 = cbGracePeriodDate;
    }
    cbGracePeriodDate = tmp_0;
    cbMaxPoints = cbMaxPoints === VOID ? null : cbMaxPoints;
    cbMinPoints = cbMinPoints === VOID ? null : cbMinPoints;
    cbIndex = cbIndex === VOID ? 0 : cbIndex;
    cbClazzUid = cbClazzUid === VOID ? new Long(0, 0) : cbClazzUid;
    cbClazzSourcedId = cbClazzSourcedId === VOID ? null : cbClazzSourcedId;
    cbActive = cbActive === VOID ? true : cbActive;
    cbHidden = cbHidden === VOID ? false : cbHidden;
    cbEntityUid = cbEntityUid === VOID ? new Long(0, 0) : cbEntityUid;
    cbLct = cbLct === VOID ? new Long(0, 0) : cbLct;
    cbSourcedId = cbSourcedId === VOID ? null : cbSourcedId;
    cbMetadata = cbMetadata === VOID ? null : cbMetadata;
    cbCreatedByAppId = cbCreatedByAppId === VOID ? null : cbCreatedByAppId;
    this.o83_1 = cbUid;
    this.p83_1 = cbType;
    this.q83_1 = cbIndentLevel;
    this.r83_1 = cbModuleParentBlockUid;
    this.s83_1 = cbTitle;
    this.t83_1 = cbDescription;
    this.u83_1 = cbCompletionCriteria;
    this.v83_1 = cbHideUntilDate;
    this.w83_1 = cbDeadlineDate;
    this.x83_1 = cbLateSubmissionPenalty;
    this.y83_1 = cbGracePeriodDate;
    this.z83_1 = cbMaxPoints;
    this.a84_1 = cbMinPoints;
    this.b84_1 = cbIndex;
    this.c84_1 = cbClazzUid;
    this.d84_1 = cbClazzSourcedId;
    this.e84_1 = cbActive;
    this.f84_1 = cbHidden;
    this.g84_1 = cbEntityUid;
    this.h84_1 = cbLct;
    this.i84_1 = cbSourcedId;
    this.j84_1 = cbMetadata;
    this.k84_1 = cbCreatedByAppId;
  }
  protoOf(CourseBlock).ujo = function (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) {
    return new CourseBlock(cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId);
  };
  protoOf(CourseBlock).vjo = function (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, $super) {
    cbUid = cbUid === VOID ? this.o83_1 : cbUid;
    cbType = cbType === VOID ? this.p83_1 : cbType;
    cbIndentLevel = cbIndentLevel === VOID ? this.q83_1 : cbIndentLevel;
    cbModuleParentBlockUid = cbModuleParentBlockUid === VOID ? this.r83_1 : cbModuleParentBlockUid;
    cbTitle = cbTitle === VOID ? this.s83_1 : cbTitle;
    cbDescription = cbDescription === VOID ? this.t83_1 : cbDescription;
    cbCompletionCriteria = cbCompletionCriteria === VOID ? this.u83_1 : cbCompletionCriteria;
    cbHideUntilDate = cbHideUntilDate === VOID ? this.v83_1 : cbHideUntilDate;
    cbDeadlineDate = cbDeadlineDate === VOID ? this.w83_1 : cbDeadlineDate;
    cbLateSubmissionPenalty = cbLateSubmissionPenalty === VOID ? this.x83_1 : cbLateSubmissionPenalty;
    cbGracePeriodDate = cbGracePeriodDate === VOID ? this.y83_1 : cbGracePeriodDate;
    cbMaxPoints = cbMaxPoints === VOID ? this.z83_1 : cbMaxPoints;
    cbMinPoints = cbMinPoints === VOID ? this.a84_1 : cbMinPoints;
    cbIndex = cbIndex === VOID ? this.b84_1 : cbIndex;
    cbClazzUid = cbClazzUid === VOID ? this.c84_1 : cbClazzUid;
    cbClazzSourcedId = cbClazzSourcedId === VOID ? this.d84_1 : cbClazzSourcedId;
    cbActive = cbActive === VOID ? this.e84_1 : cbActive;
    cbHidden = cbHidden === VOID ? this.f84_1 : cbHidden;
    cbEntityUid = cbEntityUid === VOID ? this.g84_1 : cbEntityUid;
    cbLct = cbLct === VOID ? this.h84_1 : cbLct;
    cbSourcedId = cbSourcedId === VOID ? this.i84_1 : cbSourcedId;
    cbMetadata = cbMetadata === VOID ? this.j84_1 : cbMetadata;
    cbCreatedByAppId = cbCreatedByAppId === VOID ? this.k84_1 : cbCreatedByAppId;
    return $super === VOID ? this.ujo(cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) : $super.ujo.call(this, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId);
  };
  protoOf(CourseBlock).toString = function () {
    return 'CourseBlock(cbUid=' + this.o83_1.toString() + ', cbType=' + this.p83_1 + ', cbIndentLevel=' + this.q83_1 + ', cbModuleParentBlockUid=' + this.r83_1.toString() + ', cbTitle=' + this.s83_1 + ', cbDescription=' + this.t83_1 + ', cbCompletionCriteria=' + this.u83_1 + ', cbHideUntilDate=' + this.v83_1.toString() + ', cbDeadlineDate=' + this.w83_1.toString() + ', cbLateSubmissionPenalty=' + this.x83_1 + ', cbGracePeriodDate=' + this.y83_1.toString() + ', cbMaxPoints=' + this.z83_1 + ', cbMinPoints=' + this.a84_1 + ', cbIndex=' + this.b84_1 + ', cbClazzUid=' + this.c84_1.toString() + ', cbClazzSourcedId=' + this.d84_1 + ', cbActive=' + this.e84_1 + ', cbHidden=' + this.f84_1 + ', cbEntityUid=' + this.g84_1.toString() + ', cbLct=' + this.h84_1.toString() + ', cbSourcedId=' + this.i84_1 + ', cbMetadata=' + this.j84_1 + ', cbCreatedByAppId=' + this.k84_1 + ')';
  };
  protoOf(CourseBlock).hashCode = function () {
    var result = this.o83_1.hashCode();
    result = imul(result, 31) + this.p83_1 | 0;
    result = imul(result, 31) + this.q83_1 | 0;
    result = imul(result, 31) + this.r83_1.hashCode() | 0;
    result = imul(result, 31) + (this.s83_1 == null ? 0 : getStringHashCode(this.s83_1)) | 0;
    result = imul(result, 31) + (this.t83_1 == null ? 0 : getStringHashCode(this.t83_1)) | 0;
    result = imul(result, 31) + this.u83_1 | 0;
    result = imul(result, 31) + this.v83_1.hashCode() | 0;
    result = imul(result, 31) + this.w83_1.hashCode() | 0;
    result = imul(result, 31) + this.x83_1 | 0;
    result = imul(result, 31) + this.y83_1.hashCode() | 0;
    result = imul(result, 31) + (this.z83_1 == null ? 0 : getNumberHashCode(this.z83_1)) | 0;
    result = imul(result, 31) + (this.a84_1 == null ? 0 : getNumberHashCode(this.a84_1)) | 0;
    result = imul(result, 31) + this.b84_1 | 0;
    result = imul(result, 31) + this.c84_1.hashCode() | 0;
    result = imul(result, 31) + (this.d84_1 == null ? 0 : getStringHashCode(this.d84_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.e84_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.f84_1) | 0;
    result = imul(result, 31) + this.g84_1.hashCode() | 0;
    result = imul(result, 31) + this.h84_1.hashCode() | 0;
    result = imul(result, 31) + (this.i84_1 == null ? 0 : getStringHashCode(this.i84_1)) | 0;
    result = imul(result, 31) + (this.j84_1 == null ? 0 : getStringHashCode(this.j84_1)) | 0;
    result = imul(result, 31) + (this.k84_1 == null ? 0 : getStringHashCode(this.k84_1)) | 0;
    return result;
  };
  protoOf(CourseBlock).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlock))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlock ? other : THROW_CCE();
    if (!this.o83_1.equals(tmp0_other_with_cast.o83_1))
      return false;
    if (!(this.p83_1 === tmp0_other_with_cast.p83_1))
      return false;
    if (!(this.q83_1 === tmp0_other_with_cast.q83_1))
      return false;
    if (!this.r83_1.equals(tmp0_other_with_cast.r83_1))
      return false;
    if (!(this.s83_1 == tmp0_other_with_cast.s83_1))
      return false;
    if (!(this.t83_1 == tmp0_other_with_cast.t83_1))
      return false;
    if (!(this.u83_1 === tmp0_other_with_cast.u83_1))
      return false;
    if (!this.v83_1.equals(tmp0_other_with_cast.v83_1))
      return false;
    if (!this.w83_1.equals(tmp0_other_with_cast.w83_1))
      return false;
    if (!(this.x83_1 === tmp0_other_with_cast.x83_1))
      return false;
    if (!this.y83_1.equals(tmp0_other_with_cast.y83_1))
      return false;
    if (!equals(this.z83_1, tmp0_other_with_cast.z83_1))
      return false;
    if (!equals(this.a84_1, tmp0_other_with_cast.a84_1))
      return false;
    if (!(this.b84_1 === tmp0_other_with_cast.b84_1))
      return false;
    if (!this.c84_1.equals(tmp0_other_with_cast.c84_1))
      return false;
    if (!(this.d84_1 == tmp0_other_with_cast.d84_1))
      return false;
    if (!(this.e84_1 === tmp0_other_with_cast.e84_1))
      return false;
    if (!(this.f84_1 === tmp0_other_with_cast.f84_1))
      return false;
    if (!this.g84_1.equals(tmp0_other_with_cast.g84_1))
      return false;
    if (!this.h84_1.equals(tmp0_other_with_cast.h84_1))
      return false;
    if (!(this.i84_1 == tmp0_other_with_cast.i84_1))
      return false;
    if (!(this.j84_1 == tmp0_other_with_cast.j84_1))
      return false;
    if (!(this.k84_1 == tmp0_other_with_cast.k84_1))
      return false;
    return true;
  };
  function Companion_71() {
    this.wjo_1 = 6677;
  }
  var Companion_instance_72;
  function Companion_getInstance_74() {
    return Companion_instance_72;
  }
  function $serializer_68() {
    $serializer_instance_68 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseBlockPicture', this, 4);
    tmp0_serialDesc.y4l('cbpUid', true);
    tmp0_serialDesc.y4l('cbpLct', true);
    tmp0_serialDesc.y4l('cbpPictureUri', true);
    tmp0_serialDesc.y4l('cbpThumbnailUri', true);
    this.xjo_1 = tmp0_serialDesc;
  }
  protoOf($serializer_68).v4a = function () {
    return this.xjo_1;
  };
  protoOf($serializer_68).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_68).x4a = function (decoder) {
    var tmp0_desc = this.xjo_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return CourseBlockPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_68).yjo = function (encoder, value) {
    var tmp0_desc = this.xjo_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.r84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.r84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.s84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.s84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.t84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.t84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.u84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.u84_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_68).w4a = function (encoder, value) {
    return this.yjo(encoder, value instanceof CourseBlockPicture ? value : THROW_CCE());
  };
  var $serializer_instance_68;
  function $serializer_getInstance_68() {
    if ($serializer_instance_68 == null)
      new $serializer_68();
    return $serializer_instance_68;
  }
  function CourseBlockPicture_init_$Init$(seen1, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_68().xjo_1);
    }
    if (0 === (seen1 & 1))
      $this.r84_1 = new Long(0, 0);
    else
      $this.r84_1 = cbpUid;
    if (0 === (seen1 & 2))
      $this.s84_1 = new Long(0, 0);
    else
      $this.s84_1 = cbpLct;
    if (0 === (seen1 & 4))
      $this.t84_1 = null;
    else
      $this.t84_1 = cbpPictureUri;
    if (0 === (seen1 & 8))
      $this.u84_1 = null;
    else
      $this.u84_1 = cbpThumbnailUri;
    return $this;
  }
  function CourseBlockPicture_init_$Create$(seen1, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, serializationConstructorMarker) {
    return CourseBlockPicture_init_$Init$(seen1, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, serializationConstructorMarker, objectCreate(protoOf(CourseBlockPicture)));
  }
  function CourseBlockPicture(cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) {
    cbpUid = cbpUid === VOID ? new Long(0, 0) : cbpUid;
    cbpLct = cbpLct === VOID ? new Long(0, 0) : cbpLct;
    cbpPictureUri = cbpPictureUri === VOID ? null : cbpPictureUri;
    cbpThumbnailUri = cbpThumbnailUri === VOID ? null : cbpThumbnailUri;
    this.r84_1 = cbpUid;
    this.s84_1 = cbpLct;
    this.t84_1 = cbpPictureUri;
    this.u84_1 = cbpThumbnailUri;
  }
  protoOf(CourseBlockPicture).rjk = function (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) {
    return new CourseBlockPicture(cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri);
  };
  protoOf(CourseBlockPicture).zjo = function (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, $super) {
    cbpUid = cbpUid === VOID ? this.r84_1 : cbpUid;
    cbpLct = cbpLct === VOID ? this.s84_1 : cbpLct;
    cbpPictureUri = cbpPictureUri === VOID ? this.t84_1 : cbpPictureUri;
    cbpThumbnailUri = cbpThumbnailUri === VOID ? this.u84_1 : cbpThumbnailUri;
    return $super === VOID ? this.rjk(cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) : $super.rjk.call(this, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri);
  };
  protoOf(CourseBlockPicture).toString = function () {
    return 'CourseBlockPicture(cbpUid=' + this.r84_1.toString() + ', cbpLct=' + this.s84_1.toString() + ', cbpPictureUri=' + this.t84_1 + ', cbpThumbnailUri=' + this.u84_1 + ')';
  };
  protoOf(CourseBlockPicture).hashCode = function () {
    var result = this.r84_1.hashCode();
    result = imul(result, 31) + this.s84_1.hashCode() | 0;
    result = imul(result, 31) + (this.t84_1 == null ? 0 : getStringHashCode(this.t84_1)) | 0;
    result = imul(result, 31) + (this.u84_1 == null ? 0 : getStringHashCode(this.u84_1)) | 0;
    return result;
  };
  protoOf(CourseBlockPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockPicture))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockPicture ? other : THROW_CCE();
    if (!this.r84_1.equals(tmp0_other_with_cast.r84_1))
      return false;
    if (!this.s84_1.equals(tmp0_other_with_cast.s84_1))
      return false;
    if (!(this.t84_1 == tmp0_other_with_cast.t84_1))
      return false;
    if (!(this.u84_1 == tmp0_other_with_cast.u84_1))
      return false;
    return true;
  };
  function Companion_72() {
    this.ajp_1 = 243;
  }
  var Companion_instance_73;
  function Companion_getInstance_75() {
    return Companion_instance_73;
  }
  function $serializer_69() {
    $serializer_instance_69 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseGroupMember', this, 5);
    tmp0_serialDesc.y4l('cgmUid', true);
    tmp0_serialDesc.y4l('cgmSetUid', true);
    tmp0_serialDesc.y4l('cgmGroupNumber', true);
    tmp0_serialDesc.y4l('cgmPersonUid', true);
    tmp0_serialDesc.y4l('cgmLct', true);
    this.bjp_1 = tmp0_serialDesc;
  }
  protoOf($serializer_69).v4a = function () {
    return this.bjp_1;
  };
  protoOf($serializer_69).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_69).x4a = function (decoder) {
    var tmp0_desc = this.bjp_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return CourseGroupMember_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_69).cjp = function (encoder, value) {
    var tmp0_desc = this.bjp_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ecw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ecw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.fcw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.fcw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.gcw_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.gcw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.hcw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.hcw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.icw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.icw_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_69).w4a = function (encoder, value) {
    return this.cjp(encoder, value instanceof CourseGroupMember ? value : THROW_CCE());
  };
  var $serializer_instance_69;
  function $serializer_getInstance_69() {
    if ($serializer_instance_69 == null)
      new $serializer_69();
    return $serializer_instance_69;
  }
  function CourseGroupMember_init_$Init$(seen1, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_69().bjp_1);
    }
    if (0 === (seen1 & 1))
      $this.ecw_1 = new Long(0, 0);
    else
      $this.ecw_1 = cgmUid;
    if (0 === (seen1 & 2))
      $this.fcw_1 = new Long(0, 0);
    else
      $this.fcw_1 = cgmSetUid;
    if (0 === (seen1 & 4))
      $this.gcw_1 = 0;
    else
      $this.gcw_1 = cgmGroupNumber;
    if (0 === (seen1 & 8))
      $this.hcw_1 = new Long(0, 0);
    else
      $this.hcw_1 = cgmPersonUid;
    if (0 === (seen1 & 16))
      $this.icw_1 = new Long(0, 0);
    else
      $this.icw_1 = cgmLct;
    return $this;
  }
  function CourseGroupMember_init_$Create$(seen1, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, serializationConstructorMarker) {
    return CourseGroupMember_init_$Init$(seen1, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, serializationConstructorMarker, objectCreate(protoOf(CourseGroupMember)));
  }
  function CourseGroupMember(cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) {
    cgmUid = cgmUid === VOID ? new Long(0, 0) : cgmUid;
    cgmSetUid = cgmSetUid === VOID ? new Long(0, 0) : cgmSetUid;
    cgmGroupNumber = cgmGroupNumber === VOID ? 0 : cgmGroupNumber;
    cgmPersonUid = cgmPersonUid === VOID ? new Long(0, 0) : cgmPersonUid;
    cgmLct = cgmLct === VOID ? new Long(0, 0) : cgmLct;
    this.ecw_1 = cgmUid;
    this.fcw_1 = cgmSetUid;
    this.gcw_1 = cgmGroupNumber;
    this.hcw_1 = cgmPersonUid;
    this.icw_1 = cgmLct;
  }
  protoOf(CourseGroupMember).toString = function () {
    return 'CourseGroupMember(cgmUid=' + this.ecw_1.toString() + ', cgmSetUid=' + this.fcw_1.toString() + ', cgmGroupNumber=' + this.gcw_1 + ', cgmPersonUid=' + this.hcw_1.toString() + ', cgmLct=' + this.icw_1.toString() + ')';
  };
  protoOf(CourseGroupMember).hashCode = function () {
    var result = this.ecw_1.hashCode();
    result = imul(result, 31) + this.fcw_1.hashCode() | 0;
    result = imul(result, 31) + this.gcw_1 | 0;
    result = imul(result, 31) + this.hcw_1.hashCode() | 0;
    result = imul(result, 31) + this.icw_1.hashCode() | 0;
    return result;
  };
  protoOf(CourseGroupMember).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseGroupMember))
      return false;
    var tmp0_other_with_cast = other instanceof CourseGroupMember ? other : THROW_CCE();
    if (!this.ecw_1.equals(tmp0_other_with_cast.ecw_1))
      return false;
    if (!this.fcw_1.equals(tmp0_other_with_cast.fcw_1))
      return false;
    if (!(this.gcw_1 === tmp0_other_with_cast.gcw_1))
      return false;
    if (!this.hcw_1.equals(tmp0_other_with_cast.hcw_1))
      return false;
    if (!this.icw_1.equals(tmp0_other_with_cast.icw_1))
      return false;
    return true;
  };
  function Companion_73() {
  }
  protoOf(Companion_73).s4x = function () {
    return $serializer_getInstance_70();
  };
  var Companion_instance_74;
  function Companion_getInstance_76() {
    return Companion_instance_74;
  }
  function $serializer_70() {
    $serializer_instance_70 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseGroupMemberAndName', this, 5);
    tmp0_serialDesc.y4l('cgm', true);
    tmp0_serialDesc.y4l('name', true);
    tmp0_serialDesc.y4l('personUid', true);
    tmp0_serialDesc.y4l('enrolmentIsActive', true);
    tmp0_serialDesc.y4l('pictureUri', true);
    this.djp_1 = tmp0_serialDesc;
  }
  protoOf($serializer_70).v4a = function () {
    return this.djp_1;
  };
  protoOf($serializer_70).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_69()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_70).x4a = function (decoder) {
    var tmp0_desc = this.djp_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = false;
    var tmp8_local4 = null;
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.b4f(tmp0_desc, 0, $serializer_getInstance_69(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.b4f(tmp0_desc, 0, $serializer_getInstance_69(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return CourseGroupMemberAndName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_70).ejp = function (encoder, value) {
    var tmp0_desc = this.djp_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.wcw_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_69(), value.wcw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.xcw_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.xcw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.ycw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.ycw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.zcw_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 3, value.zcw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.acx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.acx_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_70).w4a = function (encoder, value) {
    return this.ejp(encoder, value instanceof CourseGroupMemberAndName ? value : THROW_CCE());
  };
  var $serializer_instance_70;
  function $serializer_getInstance_70() {
    if ($serializer_instance_70 == null)
      new $serializer_70();
    return $serializer_instance_70;
  }
  function CourseGroupMemberAndName_init_$Init$(seen1, cgm, name, personUid, enrolmentIsActive, pictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_70().djp_1);
    }
    if (0 === (seen1 & 1))
      $this.wcw_1 = null;
    else
      $this.wcw_1 = cgm;
    if (0 === (seen1 & 2))
      $this.xcw_1 = null;
    else
      $this.xcw_1 = name;
    if (0 === (seen1 & 4))
      $this.ycw_1 = new Long(0, 0);
    else
      $this.ycw_1 = personUid;
    if (0 === (seen1 & 8))
      $this.zcw_1 = false;
    else
      $this.zcw_1 = enrolmentIsActive;
    if (0 === (seen1 & 16))
      $this.acx_1 = null;
    else
      $this.acx_1 = pictureUri;
    return $this;
  }
  function CourseGroupMemberAndName_init_$Create$(seen1, cgm, name, personUid, enrolmentIsActive, pictureUri, serializationConstructorMarker) {
    return CourseGroupMemberAndName_init_$Init$(seen1, cgm, name, personUid, enrolmentIsActive, pictureUri, serializationConstructorMarker, objectCreate(protoOf(CourseGroupMemberAndName)));
  }
  function CourseGroupMemberAndName(cgm, name, personUid, enrolmentIsActive, pictureUri) {
    cgm = cgm === VOID ? null : cgm;
    name = name === VOID ? null : name;
    personUid = personUid === VOID ? new Long(0, 0) : personUid;
    enrolmentIsActive = enrolmentIsActive === VOID ? false : enrolmentIsActive;
    pictureUri = pictureUri === VOID ? null : pictureUri;
    this.wcw_1 = cgm;
    this.xcw_1 = name;
    this.ycw_1 = personUid;
    this.zcw_1 = enrolmentIsActive;
    this.acx_1 = pictureUri;
  }
  protoOf(CourseGroupMemberAndName).fjp = function (cgm, name, personUid, enrolmentIsActive, pictureUri) {
    return new CourseGroupMemberAndName(cgm, name, personUid, enrolmentIsActive, pictureUri);
  };
  protoOf(CourseGroupMemberAndName).gjp = function (cgm, name, personUid, enrolmentIsActive, pictureUri, $super) {
    cgm = cgm === VOID ? this.wcw_1 : cgm;
    name = name === VOID ? this.xcw_1 : name;
    personUid = personUid === VOID ? this.ycw_1 : personUid;
    enrolmentIsActive = enrolmentIsActive === VOID ? this.zcw_1 : enrolmentIsActive;
    pictureUri = pictureUri === VOID ? this.acx_1 : pictureUri;
    return $super === VOID ? this.fjp(cgm, name, personUid, enrolmentIsActive, pictureUri) : $super.fjp.call(this, cgm, name, personUid, enrolmentIsActive, pictureUri);
  };
  protoOf(CourseGroupMemberAndName).toString = function () {
    return 'CourseGroupMemberAndName(cgm=' + this.wcw_1 + ', name=' + this.xcw_1 + ', personUid=' + this.ycw_1.toString() + ', enrolmentIsActive=' + this.zcw_1 + ', pictureUri=' + this.acx_1 + ')';
  };
  protoOf(CourseGroupMemberAndName).hashCode = function () {
    var result = this.wcw_1 == null ? 0 : this.wcw_1.hashCode();
    result = imul(result, 31) + (this.xcw_1 == null ? 0 : getStringHashCode(this.xcw_1)) | 0;
    result = imul(result, 31) + this.ycw_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.zcw_1) | 0;
    result = imul(result, 31) + (this.acx_1 == null ? 0 : getStringHashCode(this.acx_1)) | 0;
    return result;
  };
  protoOf(CourseGroupMemberAndName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseGroupMemberAndName))
      return false;
    var tmp0_other_with_cast = other instanceof CourseGroupMemberAndName ? other : THROW_CCE();
    if (!equals(this.wcw_1, tmp0_other_with_cast.wcw_1))
      return false;
    if (!(this.xcw_1 == tmp0_other_with_cast.xcw_1))
      return false;
    if (!this.ycw_1.equals(tmp0_other_with_cast.ycw_1))
      return false;
    if (!(this.zcw_1 === tmp0_other_with_cast.zcw_1))
      return false;
    if (!(this.acx_1 == tmp0_other_with_cast.acx_1))
      return false;
    return true;
  };
  function Companion_74() {
    this.hjp_1 = 242;
  }
  protoOf(Companion_74).s4x = function () {
    return $serializer_getInstance_71();
  };
  var Companion_instance_75;
  function Companion_getInstance_77() {
    return Companion_instance_75;
  }
  function $serializer_71() {
    $serializer_instance_71 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseGroupSet', this, 6);
    tmp0_serialDesc.y4l('cgsUid', true);
    tmp0_serialDesc.y4l('cgsName', true);
    tmp0_serialDesc.y4l('cgsTotalGroups', true);
    tmp0_serialDesc.y4l('cgsActive', true);
    tmp0_serialDesc.y4l('cgsClazzUid', true);
    tmp0_serialDesc.y4l('cgsLct', true);
    this.ijp_1 = tmp0_serialDesc;
  }
  protoOf($serializer_71).v4a = function () {
    return this.ijp_1;
  };
  protoOf($serializer_71).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_71).x4a = function (decoder) {
    var tmp0_desc = this.ijp_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return CourseGroupSet_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_71).jjp = function (encoder, value) {
    var tmp0_desc = this.ijp_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.v84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.v84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.w84_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.w84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.x84_1 === 4)) {
      tmp1_output.w4f(tmp0_desc, 2, value.x84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.y84_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 3, value.y84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.z84_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.z84_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.a85_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.a85_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_71).w4a = function (encoder, value) {
    return this.jjp(encoder, value instanceof CourseGroupSet ? value : THROW_CCE());
  };
  var $serializer_instance_71;
  function $serializer_getInstance_71() {
    if ($serializer_instance_71 == null)
      new $serializer_71();
    return $serializer_instance_71;
  }
  function CourseGroupSet_init_$Init$(seen1, cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_71().ijp_1);
    }
    if (0 === (seen1 & 1))
      $this.v84_1 = new Long(0, 0);
    else
      $this.v84_1 = cgsUid;
    if (0 === (seen1 & 2))
      $this.w84_1 = null;
    else
      $this.w84_1 = cgsName;
    if (0 === (seen1 & 4))
      $this.x84_1 = 4;
    else
      $this.x84_1 = cgsTotalGroups;
    if (0 === (seen1 & 8))
      $this.y84_1 = true;
    else
      $this.y84_1 = cgsActive;
    if (0 === (seen1 & 16))
      $this.z84_1 = new Long(0, 0);
    else
      $this.z84_1 = cgsClazzUid;
    if (0 === (seen1 & 32))
      $this.a85_1 = new Long(0, 0);
    else
      $this.a85_1 = cgsLct;
    return $this;
  }
  function CourseGroupSet_init_$Create$(seen1, cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct, serializationConstructorMarker) {
    return CourseGroupSet_init_$Init$(seen1, cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct, serializationConstructorMarker, objectCreate(protoOf(CourseGroupSet)));
  }
  function CourseGroupSet() {
    this.v84_1 = new Long(0, 0);
    this.w84_1 = null;
    this.x84_1 = 4;
    this.y84_1 = true;
    this.z84_1 = new Long(0, 0);
    this.a85_1 = new Long(0, 0);
  }
  function Companion_75() {
    Companion_instance_76 = this;
    this.kjp_1 = 10012;
    this.ljp_1 = new Long(8703, 0);
    this.mjp_1 = new Long(8193, 0);
  }
  protoOf(Companion_75).s4x = function () {
    return $serializer_getInstance_72();
  };
  var Companion_instance_76;
  function Companion_getInstance_78() {
    if (Companion_instance_76 == null)
      new Companion_75();
    return Companion_instance_76;
  }
  function $serializer_72() {
    $serializer_instance_72 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CoursePermission', this, 8);
    tmp0_serialDesc.y4l('cpUid', true);
    tmp0_serialDesc.y4l('cpLastModified', true);
    tmp0_serialDesc.y4l('cpClazzUid', true);
    tmp0_serialDesc.y4l('cpToEnrolmentRole', true);
    tmp0_serialDesc.y4l('cpToPersonUid', true);
    tmp0_serialDesc.y4l('cpToGroupUid', true);
    tmp0_serialDesc.y4l('cpPermissionsFlag', true);
    tmp0_serialDesc.y4l('cpIsDeleted', true);
    this.njp_1 = tmp0_serialDesc;
  }
  protoOf($serializer_72).v4a = function () {
    return this.njp_1;
  };
  protoOf($serializer_72).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_72).x4a = function (decoder) {
    var tmp0_desc = this.njp_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = false;
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return CoursePermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_72).ojp = function (encoder, value) {
    var tmp0_desc = this.njp_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.odc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.odc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.pdc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.pdc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.qdc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.qdc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.rdc_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.rdc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.sdc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.sdc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.tdc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.tdc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.udc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.udc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.vdc_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 7, value.vdc_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_72).w4a = function (encoder, value) {
    return this.ojp(encoder, value instanceof CoursePermission ? value : THROW_CCE());
  };
  var $serializer_instance_72;
  function $serializer_getInstance_72() {
    if ($serializer_instance_72 == null)
      new $serializer_72();
    return $serializer_instance_72;
  }
  function CoursePermission_init_$Init$(seen1, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_72().njp_1);
    }
    if (0 === (seen1 & 1))
      $this.odc_1 = new Long(0, 0);
    else
      $this.odc_1 = cpUid;
    if (0 === (seen1 & 2))
      $this.pdc_1 = new Long(0, 0);
    else
      $this.pdc_1 = cpLastModified;
    if (0 === (seen1 & 4))
      $this.qdc_1 = new Long(0, 0);
    else
      $this.qdc_1 = cpClazzUid;
    if (0 === (seen1 & 8))
      $this.rdc_1 = 0;
    else
      $this.rdc_1 = cpToEnrolmentRole;
    if (0 === (seen1 & 16))
      $this.sdc_1 = new Long(0, 0);
    else
      $this.sdc_1 = cpToPersonUid;
    if (0 === (seen1 & 32))
      $this.tdc_1 = new Long(0, 0);
    else
      $this.tdc_1 = cpToGroupUid;
    if (0 === (seen1 & 64))
      $this.udc_1 = new Long(0, 0);
    else
      $this.udc_1 = cpPermissionsFlag;
    if (0 === (seen1 & 128))
      $this.vdc_1 = false;
    else
      $this.vdc_1 = cpIsDeleted;
    return $this;
  }
  function CoursePermission_init_$Create$(seen1, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, serializationConstructorMarker) {
    return CoursePermission_init_$Init$(seen1, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, serializationConstructorMarker, objectCreate(protoOf(CoursePermission)));
  }
  function CoursePermission(cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) {
    Companion_getInstance_78();
    cpUid = cpUid === VOID ? new Long(0, 0) : cpUid;
    cpLastModified = cpLastModified === VOID ? new Long(0, 0) : cpLastModified;
    cpClazzUid = cpClazzUid === VOID ? new Long(0, 0) : cpClazzUid;
    cpToEnrolmentRole = cpToEnrolmentRole === VOID ? 0 : cpToEnrolmentRole;
    cpToPersonUid = cpToPersonUid === VOID ? new Long(0, 0) : cpToPersonUid;
    cpToGroupUid = cpToGroupUid === VOID ? new Long(0, 0) : cpToGroupUid;
    cpPermissionsFlag = cpPermissionsFlag === VOID ? new Long(0, 0) : cpPermissionsFlag;
    cpIsDeleted = cpIsDeleted === VOID ? false : cpIsDeleted;
    this.odc_1 = cpUid;
    this.pdc_1 = cpLastModified;
    this.qdc_1 = cpClazzUid;
    this.rdc_1 = cpToEnrolmentRole;
    this.sdc_1 = cpToPersonUid;
    this.tdc_1 = cpToGroupUid;
    this.udc_1 = cpPermissionsFlag;
    this.vdc_1 = cpIsDeleted;
  }
  protoOf(CoursePermission).pjp = function (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) {
    return new CoursePermission(cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted);
  };
  protoOf(CoursePermission).qjp = function (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, $super) {
    cpUid = cpUid === VOID ? this.odc_1 : cpUid;
    cpLastModified = cpLastModified === VOID ? this.pdc_1 : cpLastModified;
    cpClazzUid = cpClazzUid === VOID ? this.qdc_1 : cpClazzUid;
    cpToEnrolmentRole = cpToEnrolmentRole === VOID ? this.rdc_1 : cpToEnrolmentRole;
    cpToPersonUid = cpToPersonUid === VOID ? this.sdc_1 : cpToPersonUid;
    cpToGroupUid = cpToGroupUid === VOID ? this.tdc_1 : cpToGroupUid;
    cpPermissionsFlag = cpPermissionsFlag === VOID ? this.udc_1 : cpPermissionsFlag;
    cpIsDeleted = cpIsDeleted === VOID ? this.vdc_1 : cpIsDeleted;
    return $super === VOID ? this.pjp(cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) : $super.pjp.call(this, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted);
  };
  protoOf(CoursePermission).toString = function () {
    return 'CoursePermission(cpUid=' + this.odc_1.toString() + ', cpLastModified=' + this.pdc_1.toString() + ', cpClazzUid=' + this.qdc_1.toString() + ', cpToEnrolmentRole=' + this.rdc_1 + ', cpToPersonUid=' + this.sdc_1.toString() + ', cpToGroupUid=' + this.tdc_1.toString() + ', cpPermissionsFlag=' + this.udc_1.toString() + ', cpIsDeleted=' + this.vdc_1 + ')';
  };
  protoOf(CoursePermission).hashCode = function () {
    var result = this.odc_1.hashCode();
    result = imul(result, 31) + this.pdc_1.hashCode() | 0;
    result = imul(result, 31) + this.qdc_1.hashCode() | 0;
    result = imul(result, 31) + this.rdc_1 | 0;
    result = imul(result, 31) + this.sdc_1.hashCode() | 0;
    result = imul(result, 31) + this.tdc_1.hashCode() | 0;
    result = imul(result, 31) + this.udc_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.vdc_1) | 0;
    return result;
  };
  protoOf(CoursePermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePermission))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePermission ? other : THROW_CCE();
    if (!this.odc_1.equals(tmp0_other_with_cast.odc_1))
      return false;
    if (!this.pdc_1.equals(tmp0_other_with_cast.pdc_1))
      return false;
    if (!this.qdc_1.equals(tmp0_other_with_cast.qdc_1))
      return false;
    if (!(this.rdc_1 === tmp0_other_with_cast.rdc_1))
      return false;
    if (!this.sdc_1.equals(tmp0_other_with_cast.sdc_1))
      return false;
    if (!this.tdc_1.equals(tmp0_other_with_cast.tdc_1))
      return false;
    if (!this.udc_1.equals(tmp0_other_with_cast.udc_1))
      return false;
    if (!(this.vdc_1 === tmp0_other_with_cast.vdc_1))
      return false;
    return true;
  };
  function Companion_76() {
    this.rjp_1 = 125;
  }
  var Companion_instance_77;
  function Companion_getInstance_79() {
    return Companion_instance_77;
  }
  function $serializer_73() {
    $serializer_instance_73 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CoursePicture', this, 5);
    tmp0_serialDesc.y4l('coursePictureUid', true);
    tmp0_serialDesc.y4l('coursePictureLct', true);
    tmp0_serialDesc.y4l('coursePictureUri', true);
    tmp0_serialDesc.y4l('coursePictureThumbnailUri', true);
    tmp0_serialDesc.y4l('coursePictureActive', true);
    this.sjp_1 = tmp0_serialDesc;
  }
  protoOf($serializer_73).v4a = function () {
    return this.sjp_1;
  };
  protoOf($serializer_73).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_73).x4a = function (decoder) {
    var tmp0_desc = this.sjp_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = false;
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return CoursePicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_73).tjp = function (encoder, value) {
    var tmp0_desc = this.sjp_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.l8m_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.l8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.m8m_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.m8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.n8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.n8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.o8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.o8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.p8m_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 4, value.p8m_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_73).w4a = function (encoder, value) {
    return this.tjp(encoder, value instanceof CoursePicture ? value : THROW_CCE());
  };
  var $serializer_instance_73;
  function $serializer_getInstance_73() {
    if ($serializer_instance_73 == null)
      new $serializer_73();
    return $serializer_instance_73;
  }
  function CoursePicture_init_$Init$(seen1, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_73().sjp_1);
    }
    if (0 === (seen1 & 1))
      $this.l8m_1 = new Long(0, 0);
    else
      $this.l8m_1 = coursePictureUid;
    if (0 === (seen1 & 2))
      $this.m8m_1 = new Long(0, 0);
    else
      $this.m8m_1 = coursePictureLct;
    if (0 === (seen1 & 4))
      $this.n8m_1 = null;
    else
      $this.n8m_1 = coursePictureUri;
    if (0 === (seen1 & 8))
      $this.o8m_1 = null;
    else
      $this.o8m_1 = coursePictureThumbnailUri;
    if (0 === (seen1 & 16))
      $this.p8m_1 = true;
    else
      $this.p8m_1 = coursePictureActive;
    return $this;
  }
  function CoursePicture_init_$Create$(seen1, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, serializationConstructorMarker) {
    return CoursePicture_init_$Init$(seen1, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, serializationConstructorMarker, objectCreate(protoOf(CoursePicture)));
  }
  function CoursePicture(coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) {
    coursePictureUid = coursePictureUid === VOID ? new Long(0, 0) : coursePictureUid;
    coursePictureLct = coursePictureLct === VOID ? new Long(0, 0) : coursePictureLct;
    coursePictureUri = coursePictureUri === VOID ? null : coursePictureUri;
    coursePictureThumbnailUri = coursePictureThumbnailUri === VOID ? null : coursePictureThumbnailUri;
    coursePictureActive = coursePictureActive === VOID ? true : coursePictureActive;
    this.l8m_1 = coursePictureUid;
    this.m8m_1 = coursePictureLct;
    this.n8m_1 = coursePictureUri;
    this.o8m_1 = coursePictureThumbnailUri;
    this.p8m_1 = coursePictureActive;
  }
  protoOf(CoursePicture).ujp = function (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) {
    return new CoursePicture(coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive);
  };
  protoOf(CoursePicture).vjp = function (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, $super) {
    coursePictureUid = coursePictureUid === VOID ? this.l8m_1 : coursePictureUid;
    coursePictureLct = coursePictureLct === VOID ? this.m8m_1 : coursePictureLct;
    coursePictureUri = coursePictureUri === VOID ? this.n8m_1 : coursePictureUri;
    coursePictureThumbnailUri = coursePictureThumbnailUri === VOID ? this.o8m_1 : coursePictureThumbnailUri;
    coursePictureActive = coursePictureActive === VOID ? this.p8m_1 : coursePictureActive;
    return $super === VOID ? this.ujp(coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) : $super.ujp.call(this, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive);
  };
  protoOf(CoursePicture).toString = function () {
    return 'CoursePicture(coursePictureUid=' + this.l8m_1.toString() + ', coursePictureLct=' + this.m8m_1.toString() + ', coursePictureUri=' + this.n8m_1 + ', coursePictureThumbnailUri=' + this.o8m_1 + ', coursePictureActive=' + this.p8m_1 + ')';
  };
  protoOf(CoursePicture).hashCode = function () {
    var result = this.l8m_1.hashCode();
    result = imul(result, 31) + this.m8m_1.hashCode() | 0;
    result = imul(result, 31) + (this.n8m_1 == null ? 0 : getStringHashCode(this.n8m_1)) | 0;
    result = imul(result, 31) + (this.o8m_1 == null ? 0 : getStringHashCode(this.o8m_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.p8m_1) | 0;
    return result;
  };
  protoOf(CoursePicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePicture))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePicture ? other : THROW_CCE();
    if (!this.l8m_1.equals(tmp0_other_with_cast.l8m_1))
      return false;
    if (!this.m8m_1.equals(tmp0_other_with_cast.m8m_1))
      return false;
    if (!(this.n8m_1 == tmp0_other_with_cast.n8m_1))
      return false;
    if (!(this.o8m_1 == tmp0_other_with_cast.o8m_1))
      return false;
    if (!(this.p8m_1 === tmp0_other_with_cast.p8m_1))
      return false;
    return true;
  };
  function Companion_77() {
    this.wjp_1 = 450;
  }
  protoOf(Companion_77).s4x = function () {
    return $serializer_getInstance_74();
  };
  var Companion_instance_78;
  function Companion_getInstance_80() {
    return Companion_instance_78;
  }
  function $serializer_74() {
    $serializer_instance_74 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseTerminology', this, 4);
    tmp0_serialDesc.y4l('ctUid', true);
    tmp0_serialDesc.y4l('ctTitle', true);
    tmp0_serialDesc.y4l('ctTerminology', true);
    tmp0_serialDesc.y4l('ctLct', true);
    this.xjp_1 = tmp0_serialDesc;
  }
  protoOf($serializer_74).v4a = function () {
    return this.xjp_1;
  };
  protoOf($serializer_74).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_74).x4a = function (decoder) {
    var tmp0_desc = this.xjp_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return CourseTerminology_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_74).yjp = function (encoder, value) {
    var tmp0_desc = this.xjp_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.h8m_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.h8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.i8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.i8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.j8m_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.j8m_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.k8m_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.k8m_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_74).w4a = function (encoder, value) {
    return this.yjp(encoder, value instanceof CourseTerminology ? value : THROW_CCE());
  };
  var $serializer_instance_74;
  function $serializer_getInstance_74() {
    if ($serializer_instance_74 == null)
      new $serializer_74();
    return $serializer_instance_74;
  }
  function CourseTerminology_init_$Init$(seen1, ctUid, ctTitle, ctTerminology, ctLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_74().xjp_1);
    }
    if (0 === (seen1 & 1))
      $this.h8m_1 = new Long(0, 0);
    else
      $this.h8m_1 = ctUid;
    if (0 === (seen1 & 2))
      $this.i8m_1 = null;
    else
      $this.i8m_1 = ctTitle;
    if (0 === (seen1 & 4))
      $this.j8m_1 = null;
    else
      $this.j8m_1 = ctTerminology;
    if (0 === (seen1 & 8))
      $this.k8m_1 = new Long(0, 0);
    else
      $this.k8m_1 = ctLct;
    return $this;
  }
  function CourseTerminology_init_$Create$(seen1, ctUid, ctTitle, ctTerminology, ctLct, serializationConstructorMarker) {
    return CourseTerminology_init_$Init$(seen1, ctUid, ctTitle, ctTerminology, ctLct, serializationConstructorMarker, objectCreate(protoOf(CourseTerminology)));
  }
  function CourseTerminology() {
    this.h8m_1 = new Long(0, 0);
    this.i8m_1 = null;
    this.j8m_1 = null;
    this.k8m_1 = new Long(0, 0);
  }
  function Companion_78() {
    this.zjp_1 = 999;
    this.ajq_1 = 1;
    this.bjq_1 = 2;
    this.cjq_1 = 3;
  }
  var Companion_instance_79;
  function Companion_getInstance_81() {
    return Companion_instance_79;
  }
  function $serializer_75() {
    $serializer_instance_75 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.DeletedItem', this, 10);
    tmp0_serialDesc.y4l('delItemUid', true);
    tmp0_serialDesc.y4l('delItemName', true);
    tmp0_serialDesc.y4l('delItemIconUri', true);
    tmp0_serialDesc.y4l('delItemLastModTime', true);
    tmp0_serialDesc.y4l('delItemTimeDeleted', true);
    tmp0_serialDesc.y4l('delItemEntityTable', true);
    tmp0_serialDesc.y4l('delItemEntityUid', true);
    tmp0_serialDesc.y4l('delItemDeletedByPersonUid', true);
    tmp0_serialDesc.y4l('delItemStatus', true);
    tmp0_serialDesc.y4l('delItemIsFolder', true);
    this.djq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_75).v4a = function () {
    return this.djq_1;
  };
  protoOf($serializer_75).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_75).x4a = function (decoder) {
    var tmp0_desc = this.djq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_local9 = false;
    var tmp14_input = decoder.n4e(tmp0_desc);
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.p4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.p4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return DeletedItem_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_75).ejq = function (encoder, value) {
    var tmp0_desc = this.djq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ue7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ue7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ve7_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ve7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.we7_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.we7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.xe7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.xe7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.ye7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.ye7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ze7_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.ze7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.ae8_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.ae8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.be8_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.be8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.ce8_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 8, value.ce8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.de8_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 9, value.de8_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_75).w4a = function (encoder, value) {
    return this.ejq(encoder, value instanceof DeletedItem ? value : THROW_CCE());
  };
  var $serializer_instance_75;
  function $serializer_getInstance_75() {
    if ($serializer_instance_75 == null)
      new $serializer_75();
    return $serializer_instance_75;
  }
  function DeletedItem_init_$Init$(seen1, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_75().djq_1);
    }
    if (0 === (seen1 & 1))
      $this.ue7_1 = new Long(0, 0);
    else
      $this.ue7_1 = delItemUid;
    if (0 === (seen1 & 2))
      $this.ve7_1 = null;
    else
      $this.ve7_1 = delItemName;
    if (0 === (seen1 & 4))
      $this.we7_1 = null;
    else
      $this.we7_1 = delItemIconUri;
    if (0 === (seen1 & 8))
      $this.xe7_1 = new Long(0, 0);
    else
      $this.xe7_1 = delItemLastModTime;
    if (0 === (seen1 & 16))
      $this.ye7_1 = new Long(0, 0);
    else
      $this.ye7_1 = delItemTimeDeleted;
    if (0 === (seen1 & 32))
      $this.ze7_1 = 0;
    else
      $this.ze7_1 = delItemEntityTable;
    if (0 === (seen1 & 64))
      $this.ae8_1 = new Long(0, 0);
    else
      $this.ae8_1 = delItemEntityUid;
    if (0 === (seen1 & 128))
      $this.be8_1 = new Long(0, 0);
    else
      $this.be8_1 = delItemDeletedByPersonUid;
    if (0 === (seen1 & 256))
      $this.ce8_1 = 1;
    else
      $this.ce8_1 = delItemStatus;
    if (0 === (seen1 & 512))
      $this.de8_1 = false;
    else
      $this.de8_1 = delItemIsFolder;
    return $this;
  }
  function DeletedItem_init_$Create$(seen1, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, serializationConstructorMarker) {
    return DeletedItem_init_$Init$(seen1, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, serializationConstructorMarker, objectCreate(protoOf(DeletedItem)));
  }
  function DeletedItem(delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) {
    delItemUid = delItemUid === VOID ? new Long(0, 0) : delItemUid;
    delItemName = delItemName === VOID ? null : delItemName;
    delItemIconUri = delItemIconUri === VOID ? null : delItemIconUri;
    delItemLastModTime = delItemLastModTime === VOID ? new Long(0, 0) : delItemLastModTime;
    delItemTimeDeleted = delItemTimeDeleted === VOID ? new Long(0, 0) : delItemTimeDeleted;
    delItemEntityTable = delItemEntityTable === VOID ? 0 : delItemEntityTable;
    delItemEntityUid = delItemEntityUid === VOID ? new Long(0, 0) : delItemEntityUid;
    delItemDeletedByPersonUid = delItemDeletedByPersonUid === VOID ? new Long(0, 0) : delItemDeletedByPersonUid;
    delItemStatus = delItemStatus === VOID ? 1 : delItemStatus;
    delItemIsFolder = delItemIsFolder === VOID ? false : delItemIsFolder;
    this.ue7_1 = delItemUid;
    this.ve7_1 = delItemName;
    this.we7_1 = delItemIconUri;
    this.xe7_1 = delItemLastModTime;
    this.ye7_1 = delItemTimeDeleted;
    this.ze7_1 = delItemEntityTable;
    this.ae8_1 = delItemEntityUid;
    this.be8_1 = delItemDeletedByPersonUid;
    this.ce8_1 = delItemStatus;
    this.de8_1 = delItemIsFolder;
  }
  protoOf(DeletedItem).toString = function () {
    return 'DeletedItem(delItemUid=' + this.ue7_1.toString() + ', delItemName=' + this.ve7_1 + ', delItemIconUri=' + this.we7_1 + ', delItemLastModTime=' + this.xe7_1.toString() + ', delItemTimeDeleted=' + this.ye7_1.toString() + ', delItemEntityTable=' + this.ze7_1 + ', delItemEntityUid=' + this.ae8_1.toString() + ', delItemDeletedByPersonUid=' + this.be8_1.toString() + ', delItemStatus=' + this.ce8_1 + ', delItemIsFolder=' + this.de8_1 + ')';
  };
  protoOf(DeletedItem).hashCode = function () {
    var result = this.ue7_1.hashCode();
    result = imul(result, 31) + (this.ve7_1 == null ? 0 : getStringHashCode(this.ve7_1)) | 0;
    result = imul(result, 31) + (this.we7_1 == null ? 0 : getStringHashCode(this.we7_1)) | 0;
    result = imul(result, 31) + this.xe7_1.hashCode() | 0;
    result = imul(result, 31) + this.ye7_1.hashCode() | 0;
    result = imul(result, 31) + this.ze7_1 | 0;
    result = imul(result, 31) + this.ae8_1.hashCode() | 0;
    result = imul(result, 31) + this.be8_1.hashCode() | 0;
    result = imul(result, 31) + this.ce8_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.de8_1) | 0;
    return result;
  };
  protoOf(DeletedItem).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof DeletedItem))
      return false;
    var tmp0_other_with_cast = other instanceof DeletedItem ? other : THROW_CCE();
    if (!this.ue7_1.equals(tmp0_other_with_cast.ue7_1))
      return false;
    if (!(this.ve7_1 == tmp0_other_with_cast.ve7_1))
      return false;
    if (!(this.we7_1 == tmp0_other_with_cast.we7_1))
      return false;
    if (!this.xe7_1.equals(tmp0_other_with_cast.xe7_1))
      return false;
    if (!this.ye7_1.equals(tmp0_other_with_cast.ye7_1))
      return false;
    if (!(this.ze7_1 === tmp0_other_with_cast.ze7_1))
      return false;
    if (!this.ae8_1.equals(tmp0_other_with_cast.ae8_1))
      return false;
    if (!this.be8_1.equals(tmp0_other_with_cast.be8_1))
      return false;
    if (!(this.ce8_1 === tmp0_other_with_cast.ce8_1))
      return false;
    if (!(this.de8_1 === tmp0_other_with_cast.de8_1))
      return false;
    return true;
  };
  function Companion_79() {
    this.fjq_1 = 132;
  }
  protoOf(Companion_79).s4x = function () {
    return $serializer_getInstance_76();
  };
  var Companion_instance_80;
  function Companion_getInstance_82() {
    return Companion_instance_80;
  }
  function $serializer_76() {
    $serializer_instance_76 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.DiscussionPost', this, 12);
    tmp0_serialDesc.y4l('discussionPostUid', true);
    tmp0_serialDesc.y4l('discussionPostReplyToPostUid', true);
    tmp0_serialDesc.y4l('discussionPostTitle', true);
    tmp0_serialDesc.y4l('discussionPostMessage', true);
    tmp0_serialDesc.y4l('discussionPostStartDate', true);
    tmp0_serialDesc.y4l('discussionPostCourseBlockUid', true);
    tmp0_serialDesc.y4l('dpDeleted', true);
    tmp0_serialDesc.y4l('discussionPostStartedPersonUid', true);
    tmp0_serialDesc.y4l('discussionPostClazzUid', true);
    tmp0_serialDesc.y4l('discussionPostLct', true);
    tmp0_serialDesc.y4l('discussionPostVisible', true);
    tmp0_serialDesc.y4l('discussionPostArchive', true);
    this.gjq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_76).v4a = function () {
    return this.gjq_1;
  };
  protoOf($serializer_76).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_76).x4a = function (decoder) {
    var tmp0_desc = this.gjq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = false;
    var tmp15_local11 = false;
    var tmp16_input = decoder.n4e(tmp0_desc);
    if (tmp16_input.c4f()) {
      tmp4_local0 = tmp16_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp16_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp16_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp16_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp16_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp16_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp16_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp16_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp16_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp16_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp16_input.p4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp16_input.p4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp16_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp16_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp16_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp16_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp16_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp16_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp16_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp16_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp16_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp16_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp16_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp16_input.p4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp16_input.p4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp16_input.o4e(tmp0_desc);
    return DiscussionPost_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, null);
  };
  protoOf($serializer_76).hjq = function (encoder, value) {
    var tmp0_desc = this.gjq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.cee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.cee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.dee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.dee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.eee_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.eee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.fee_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.fee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.gee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.gee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.hee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.hee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.iee_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.iee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.jee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.jee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.kee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.kee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.lee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.lee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.mee_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 10, value.mee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.nee_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 11, value.nee_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_76).w4a = function (encoder, value) {
    return this.hjq(encoder, value instanceof DiscussionPost ? value : THROW_CCE());
  };
  var $serializer_instance_76;
  function $serializer_getInstance_76() {
    if ($serializer_instance_76 == null)
      new $serializer_76();
    return $serializer_instance_76;
  }
  function DiscussionPost_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_76().gjq_1);
    }
    if (0 === (seen1 & 1))
      $this.cee_1 = new Long(0, 0);
    else
      $this.cee_1 = discussionPostUid;
    if (0 === (seen1 & 2))
      $this.dee_1 = new Long(0, 0);
    else
      $this.dee_1 = discussionPostReplyToPostUid;
    if (0 === (seen1 & 4))
      $this.eee_1 = null;
    else
      $this.eee_1 = discussionPostTitle;
    if (0 === (seen1 & 8))
      $this.fee_1 = null;
    else
      $this.fee_1 = discussionPostMessage;
    if (0 === (seen1 & 16))
      $this.gee_1 = new Long(0, 0);
    else
      $this.gee_1 = discussionPostStartDate;
    if (0 === (seen1 & 32))
      $this.hee_1 = new Long(0, 0);
    else
      $this.hee_1 = discussionPostCourseBlockUid;
    if (0 === (seen1 & 64))
      $this.iee_1 = false;
    else
      $this.iee_1 = dpDeleted;
    if (0 === (seen1 & 128))
      $this.jee_1 = new Long(0, 0);
    else
      $this.jee_1 = discussionPostStartedPersonUid;
    if (0 === (seen1 & 256))
      $this.kee_1 = new Long(0, 0);
    else
      $this.kee_1 = discussionPostClazzUid;
    if (0 === (seen1 & 512))
      $this.lee_1 = new Long(0, 0);
    else
      $this.lee_1 = discussionPostLct;
    if (0 === (seen1 & 1024))
      $this.mee_1 = false;
    else
      $this.mee_1 = discussionPostVisible;
    if (0 === (seen1 & 2048))
      $this.nee_1 = false;
    else
      $this.nee_1 = discussionPostArchive;
    return $this;
  }
  function DiscussionPost_init_$Create$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker) {
    return DiscussionPost_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker, objectCreate(protoOf(DiscussionPost)));
  }
  function DiscussionPost() {
    this.cee_1 = new Long(0, 0);
    this.dee_1 = new Long(0, 0);
    this.eee_1 = null;
    this.fee_1 = null;
    this.gee_1 = new Long(0, 0);
    this.hee_1 = new Long(0, 0);
    this.iee_1 = false;
    this.jee_1 = new Long(0, 0);
    this.kee_1 = new Long(0, 0);
    this.lee_1 = new Long(0, 0);
    this.mee_1 = false;
    this.nee_1 = false;
  }
  function Companion_80() {
  }
  var Companion_instance_81;
  function Companion_getInstance_83() {
    return Companion_instance_81;
  }
  function $serializer_77() {
    $serializer_instance_77 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.DiscussionPostWithDetails', this, 18);
    tmp0_serialDesc.y4l('discussionPostUid', true);
    tmp0_serialDesc.y4l('discussionPostReplyToPostUid', true);
    tmp0_serialDesc.y4l('discussionPostTitle', true);
    tmp0_serialDesc.y4l('discussionPostMessage', true);
    tmp0_serialDesc.y4l('discussionPostStartDate', true);
    tmp0_serialDesc.y4l('discussionPostCourseBlockUid', true);
    tmp0_serialDesc.y4l('dpDeleted', true);
    tmp0_serialDesc.y4l('discussionPostStartedPersonUid', true);
    tmp0_serialDesc.y4l('discussionPostClazzUid', true);
    tmp0_serialDesc.y4l('discussionPostLct', true);
    tmp0_serialDesc.y4l('discussionPostVisible', true);
    tmp0_serialDesc.y4l('discussionPostArchive', true);
    tmp0_serialDesc.y4l('authorPersonFirstNames', true);
    tmp0_serialDesc.y4l('authorPersonLastName', true);
    tmp0_serialDesc.y4l('authorPictureUri', true);
    tmp0_serialDesc.y4l('postLatestMessage', true);
    tmp0_serialDesc.y4l('postRepliesCount', true);
    tmp0_serialDesc.y4l('postLatestMessageTimestamp', true);
    this.ijq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_77).v4a = function () {
    return this.ijq_1;
  };
  protoOf($serializer_77).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_77).x4a = function (decoder) {
    var tmp0_desc = this.ijq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = false;
    var tmp15_local11 = false;
    var tmp16_local12 = null;
    var tmp17_local13 = null;
    var tmp18_local14 = null;
    var tmp19_local15 = null;
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_input = decoder.n4e(tmp0_desc);
    if (tmp22_input.c4f()) {
      tmp4_local0 = tmp22_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp22_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp22_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp22_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp22_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp22_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp22_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp22_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp22_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp22_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp22_input.p4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp22_input.p4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp22_input.b4f(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp22_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp22_input.b4f(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp22_input.b4f(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp22_input.s4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp22_input.t4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp22_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp22_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp22_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp22_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp22_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp22_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp22_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp22_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp22_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp22_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp22_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp22_input.p4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp22_input.p4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp22_input.b4f(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp22_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp22_input.b4f(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp22_input.b4f(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp22_input.s4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp22_input.t4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp22_input.o4e(tmp0_desc);
    return DiscussionPostWithDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, null);
  };
  protoOf($serializer_77).jjq = function (encoder, value) {
    var tmp0_desc = this.ijq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.cee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.cee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.dee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.dee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.eee_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.eee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.fee_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.fee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.gee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.gee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.hee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.hee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.iee_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.iee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.jee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.jee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.kee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.kee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.lee_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.lee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.mee_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 10, value.mee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.nee_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 11, value.nee_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.nef_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 12, StringSerializer_getInstance(), value.nef_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.oef_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, StringSerializer_getInstance(), value.oef_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.pef_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 14, StringSerializer_getInstance(), value.pef_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.qef_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 15, StringSerializer_getInstance(), value.qef_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.ref_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 16, value.ref_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !value.sef_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 17, value.sef_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_77).w4a = function (encoder, value) {
    return this.jjq(encoder, value instanceof DiscussionPostWithDetails ? value : THROW_CCE());
  };
  var $serializer_instance_77;
  function $serializer_getInstance_77() {
    if ($serializer_instance_77 == null)
      new $serializer_77();
    return $serializer_instance_77;
  }
  function DiscussionPostWithDetails_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, authorPersonFirstNames, authorPersonLastName, authorPictureUri, postLatestMessage, postRepliesCount, postLatestMessageTimestamp, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_77().ijq_1);
    }
    DiscussionPost_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker, $this);
    if (0 === (seen1 & 4096))
      $this.nef_1 = null;
    else
      $this.nef_1 = authorPersonFirstNames;
    if (0 === (seen1 & 8192))
      $this.oef_1 = null;
    else
      $this.oef_1 = authorPersonLastName;
    if (0 === (seen1 & 16384))
      $this.pef_1 = null;
    else
      $this.pef_1 = authorPictureUri;
    if (0 === (seen1 & 32768))
      $this.qef_1 = null;
    else
      $this.qef_1 = postLatestMessage;
    if (0 === (seen1 & 65536))
      $this.ref_1 = 0;
    else
      $this.ref_1 = postRepliesCount;
    if (0 === (seen1 & 131072))
      $this.sef_1 = new Long(0, 0);
    else
      $this.sef_1 = postLatestMessageTimestamp;
    return $this;
  }
  function DiscussionPostWithDetails_init_$Create$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, authorPersonFirstNames, authorPersonLastName, authorPictureUri, postLatestMessage, postRepliesCount, postLatestMessageTimestamp, serializationConstructorMarker) {
    return DiscussionPostWithDetails_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, authorPersonFirstNames, authorPersonLastName, authorPictureUri, postLatestMessage, postRepliesCount, postLatestMessageTimestamp, serializationConstructorMarker, objectCreate(protoOf(DiscussionPostWithDetails)));
  }
  function DiscussionPostWithDetails() {
    DiscussionPost.call(this);
    this.nef_1 = null;
    this.oef_1 = null;
    this.pef_1 = null;
    this.qef_1 = null;
    this.ref_1 = 0;
    this.sef_1 = new Long(0, 0);
  }
  function Companion_81() {
    this.kjq_1 = 1;
    this.ljq_1 = 2;
    this.mjq_1 = 3;
    this.njq_1 = 4;
    this.ojq_1 = 10070;
  }
  var Companion_instance_82;
  function Companion_getInstance_84() {
    return Companion_instance_82;
  }
  function $serializer_78() {
    $serializer_instance_78 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.EnrolmentRequest', this, 14);
    tmp0_serialDesc.y4l('erUid', true);
    tmp0_serialDesc.y4l('erClazzUid', true);
    tmp0_serialDesc.y4l('erClazzName', true);
    tmp0_serialDesc.y4l('erPersonUid', true);
    tmp0_serialDesc.y4l('erPersonFullname', true);
    tmp0_serialDesc.y4l('erPersonPictureUri', true);
    tmp0_serialDesc.y4l('erPersonUsername', true);
    tmp0_serialDesc.y4l('erRole', true);
    tmp0_serialDesc.y4l('erRequestTime', true);
    tmp0_serialDesc.y4l('erStatus', true);
    tmp0_serialDesc.y4l('erStatusSetByPersonUid', true);
    tmp0_serialDesc.y4l('erDeleted', true);
    tmp0_serialDesc.y4l('erStatusSetAuth', true);
    tmp0_serialDesc.y4l('erLastModified', true);
    this.pjq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_78).v4a = function () {
    return this.pjq_1;
  };
  protoOf($serializer_78).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_78).x4a = function (decoder) {
    var tmp0_desc = this.pjq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = 0;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = false;
    var tmp16_local12 = null;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_input = decoder.n4e(tmp0_desc);
    if (tmp18_input.c4f()) {
      tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.p4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.b4f(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.p4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.b4f(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.o4e(tmp0_desc);
    return EnrolmentRequest_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_78).qjq = function (encoder, value) {
    var tmp0_desc = this.pjq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.zep_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.zep_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.aeq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.aeq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.beq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.beq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.ceq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.ceq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.deq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.deq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.eeq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.eeq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.feq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.feq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.geq_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.geq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.heq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.heq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.ieq_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 9, value.ieq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.jeq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.jeq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.keq_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 11, value.keq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.leq_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 12, StringSerializer_getInstance(), value.leq_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.meq_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.meq_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_78).w4a = function (encoder, value) {
    return this.qjq(encoder, value instanceof EnrolmentRequest ? value : THROW_CCE());
  };
  var $serializer_instance_78;
  function $serializer_getInstance_78() {
    if ($serializer_instance_78 == null)
      new $serializer_78();
    return $serializer_instance_78;
  }
  function EnrolmentRequest_init_$Init$(seen1, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_78().pjq_1);
    }
    if (0 === (seen1 & 1))
      $this.zep_1 = new Long(0, 0);
    else
      $this.zep_1 = erUid;
    if (0 === (seen1 & 2))
      $this.aeq_1 = new Long(0, 0);
    else
      $this.aeq_1 = erClazzUid;
    if (0 === (seen1 & 4))
      $this.beq_1 = null;
    else
      $this.beq_1 = erClazzName;
    if (0 === (seen1 & 8))
      $this.ceq_1 = new Long(0, 0);
    else
      $this.ceq_1 = erPersonUid;
    if (0 === (seen1 & 16))
      $this.deq_1 = null;
    else
      $this.deq_1 = erPersonFullname;
    if (0 === (seen1 & 32))
      $this.eeq_1 = null;
    else
      $this.eeq_1 = erPersonPictureUri;
    if (0 === (seen1 & 64))
      $this.feq_1 = null;
    else
      $this.feq_1 = erPersonUsername;
    if (0 === (seen1 & 128))
      $this.geq_1 = 0;
    else
      $this.geq_1 = erRole;
    if (0 === (seen1 & 256))
      $this.heq_1 = new Long(0, 0);
    else
      $this.heq_1 = erRequestTime;
    if (0 === (seen1 & 512))
      $this.ieq_1 = 1;
    else
      $this.ieq_1 = erStatus;
    if (0 === (seen1 & 1024))
      $this.jeq_1 = new Long(0, 0);
    else
      $this.jeq_1 = erStatusSetByPersonUid;
    if (0 === (seen1 & 2048))
      $this.keq_1 = false;
    else
      $this.keq_1 = erDeleted;
    if (0 === (seen1 & 4096))
      $this.leq_1 = null;
    else
      $this.leq_1 = erStatusSetAuth;
    if (0 === (seen1 & 8192))
      $this.meq_1 = new Long(0, 0);
    else
      $this.meq_1 = erLastModified;
    return $this;
  }
  function EnrolmentRequest_init_$Create$(seen1, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, serializationConstructorMarker) {
    return EnrolmentRequest_init_$Init$(seen1, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, serializationConstructorMarker, objectCreate(protoOf(EnrolmentRequest)));
  }
  function EnrolmentRequest(erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) {
    erUid = erUid === VOID ? new Long(0, 0) : erUid;
    erClazzUid = erClazzUid === VOID ? new Long(0, 0) : erClazzUid;
    erClazzName = erClazzName === VOID ? null : erClazzName;
    erPersonUid = erPersonUid === VOID ? new Long(0, 0) : erPersonUid;
    erPersonFullname = erPersonFullname === VOID ? null : erPersonFullname;
    erPersonPictureUri = erPersonPictureUri === VOID ? null : erPersonPictureUri;
    erPersonUsername = erPersonUsername === VOID ? null : erPersonUsername;
    erRole = erRole === VOID ? 0 : erRole;
    erRequestTime = erRequestTime === VOID ? new Long(0, 0) : erRequestTime;
    erStatus = erStatus === VOID ? 1 : erStatus;
    erStatusSetByPersonUid = erStatusSetByPersonUid === VOID ? new Long(0, 0) : erStatusSetByPersonUid;
    erDeleted = erDeleted === VOID ? false : erDeleted;
    erStatusSetAuth = erStatusSetAuth === VOID ? null : erStatusSetAuth;
    erLastModified = erLastModified === VOID ? new Long(0, 0) : erLastModified;
    this.zep_1 = erUid;
    this.aeq_1 = erClazzUid;
    this.beq_1 = erClazzName;
    this.ceq_1 = erPersonUid;
    this.deq_1 = erPersonFullname;
    this.eeq_1 = erPersonPictureUri;
    this.feq_1 = erPersonUsername;
    this.geq_1 = erRole;
    this.heq_1 = erRequestTime;
    this.ieq_1 = erStatus;
    this.jeq_1 = erStatusSetByPersonUid;
    this.keq_1 = erDeleted;
    this.leq_1 = erStatusSetAuth;
    this.meq_1 = erLastModified;
  }
  protoOf(EnrolmentRequest).toString = function () {
    return 'EnrolmentRequest(erUid=' + this.zep_1.toString() + ', erClazzUid=' + this.aeq_1.toString() + ', erClazzName=' + this.beq_1 + ', erPersonUid=' + this.ceq_1.toString() + ', erPersonFullname=' + this.deq_1 + ', erPersonPictureUri=' + this.eeq_1 + ', erPersonUsername=' + this.feq_1 + ', erRole=' + this.geq_1 + ', erRequestTime=' + this.heq_1.toString() + ', erStatus=' + this.ieq_1 + ', erStatusSetByPersonUid=' + this.jeq_1.toString() + ', erDeleted=' + this.keq_1 + ', erStatusSetAuth=' + this.leq_1 + ', erLastModified=' + this.meq_1.toString() + ')';
  };
  protoOf(EnrolmentRequest).hashCode = function () {
    var result = this.zep_1.hashCode();
    result = imul(result, 31) + this.aeq_1.hashCode() | 0;
    result = imul(result, 31) + (this.beq_1 == null ? 0 : getStringHashCode(this.beq_1)) | 0;
    result = imul(result, 31) + this.ceq_1.hashCode() | 0;
    result = imul(result, 31) + (this.deq_1 == null ? 0 : getStringHashCode(this.deq_1)) | 0;
    result = imul(result, 31) + (this.eeq_1 == null ? 0 : getStringHashCode(this.eeq_1)) | 0;
    result = imul(result, 31) + (this.feq_1 == null ? 0 : getStringHashCode(this.feq_1)) | 0;
    result = imul(result, 31) + this.geq_1 | 0;
    result = imul(result, 31) + this.heq_1.hashCode() | 0;
    result = imul(result, 31) + this.ieq_1 | 0;
    result = imul(result, 31) + this.jeq_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.keq_1) | 0;
    result = imul(result, 31) + (this.leq_1 == null ? 0 : getStringHashCode(this.leq_1)) | 0;
    result = imul(result, 31) + this.meq_1.hashCode() | 0;
    return result;
  };
  protoOf(EnrolmentRequest).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EnrolmentRequest))
      return false;
    var tmp0_other_with_cast = other instanceof EnrolmentRequest ? other : THROW_CCE();
    if (!this.zep_1.equals(tmp0_other_with_cast.zep_1))
      return false;
    if (!this.aeq_1.equals(tmp0_other_with_cast.aeq_1))
      return false;
    if (!(this.beq_1 == tmp0_other_with_cast.beq_1))
      return false;
    if (!this.ceq_1.equals(tmp0_other_with_cast.ceq_1))
      return false;
    if (!(this.deq_1 == tmp0_other_with_cast.deq_1))
      return false;
    if (!(this.eeq_1 == tmp0_other_with_cast.eeq_1))
      return false;
    if (!(this.feq_1 == tmp0_other_with_cast.feq_1))
      return false;
    if (!(this.geq_1 === tmp0_other_with_cast.geq_1))
      return false;
    if (!this.heq_1.equals(tmp0_other_with_cast.heq_1))
      return false;
    if (!(this.ieq_1 === tmp0_other_with_cast.ieq_1))
      return false;
    if (!this.jeq_1.equals(tmp0_other_with_cast.jeq_1))
      return false;
    if (!(this.keq_1 === tmp0_other_with_cast.keq_1))
      return false;
    if (!(this.leq_1 == tmp0_other_with_cast.leq_1))
      return false;
    if (!this.meq_1.equals(tmp0_other_with_cast.meq_1))
      return false;
    return true;
  };
  function ErrorReport() {
    this.rey_1 = new Long(0, 0);
    this.sey_1 = new Long(0, 0);
    this.tey_1 = new Long(0, 0);
    this.uey_1 = 0;
    this.vey_1 = new Long(0, 0);
    this.wey_1 = 0;
    this.xey_1 = new Long(0, 0);
    this.yey_1 = null;
    this.zey_1 = null;
    this.aez_1 = 0;
    this.bez_1 = 0;
    this.cez_1 = null;
    this.dez_1 = null;
    this.eez_1 = null;
    this.fez_1 = null;
  }
  function Companion_82() {
  }
  var Companion_instance_83;
  function Companion_getInstance_85() {
    return Companion_instance_83;
  }
  function $serializer_79() {
    $serializer_instance_79 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ExternalAppPermission', this, 7);
    tmp0_serialDesc.y4l('eapUid', true);
    tmp0_serialDesc.y4l('eapPersonUid', true);
    tmp0_serialDesc.y4l('eapPackageId', true);
    tmp0_serialDesc.y4l('eapStartTime', true);
    tmp0_serialDesc.y4l('eapExpireTime', true);
    tmp0_serialDesc.y4l('eapAuthToken', true);
    tmp0_serialDesc.y4l('eapAndroidAccountName', true);
    this.rjq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_79).v4a = function () {
    return this.rjq_1;
  };
  protoOf($serializer_79).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_79).x4a = function (decoder) {
    var tmp0_desc = this.rjq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return ExternalAppPermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_79).sjq = function (encoder, value) {
    var tmp0_desc = this.rjq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.rez_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.rez_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.sez_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.sez_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.tez_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.tez_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.uez_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.uez_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.vez_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.vez_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.wez_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.wez_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.xez_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.xez_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_79).w4a = function (encoder, value) {
    return this.sjq(encoder, value instanceof ExternalAppPermission ? value : THROW_CCE());
  };
  var $serializer_instance_79;
  function $serializer_getInstance_79() {
    if ($serializer_instance_79 == null)
      new $serializer_79();
    return $serializer_instance_79;
  }
  function ExternalAppPermission_init_$Init$(seen1, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_79().rjq_1);
    }
    if (0 === (seen1 & 1))
      $this.rez_1 = 0;
    else
      $this.rez_1 = eapUid;
    if (0 === (seen1 & 2))
      $this.sez_1 = new Long(0, 0);
    else
      $this.sez_1 = eapPersonUid;
    if (0 === (seen1 & 4))
      $this.tez_1 = null;
    else
      $this.tez_1 = eapPackageId;
    if (0 === (seen1 & 8))
      $this.uez_1 = new Long(0, 0);
    else
      $this.uez_1 = eapStartTime;
    if (0 === (seen1 & 16))
      $this.vez_1 = new Long(0, 0);
    else
      $this.vez_1 = eapExpireTime;
    if (0 === (seen1 & 32))
      $this.wez_1 = null;
    else
      $this.wez_1 = eapAuthToken;
    if (0 === (seen1 & 64))
      $this.xez_1 = null;
    else
      $this.xez_1 = eapAndroidAccountName;
    return $this;
  }
  function ExternalAppPermission_init_$Create$(seen1, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, serializationConstructorMarker) {
    return ExternalAppPermission_init_$Init$(seen1, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, serializationConstructorMarker, objectCreate(protoOf(ExternalAppPermission)));
  }
  function ExternalAppPermission(eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName) {
    eapUid = eapUid === VOID ? 0 : eapUid;
    eapPersonUid = eapPersonUid === VOID ? new Long(0, 0) : eapPersonUid;
    eapPackageId = eapPackageId === VOID ? null : eapPackageId;
    eapStartTime = eapStartTime === VOID ? new Long(0, 0) : eapStartTime;
    eapExpireTime = eapExpireTime === VOID ? new Long(0, 0) : eapExpireTime;
    eapAuthToken = eapAuthToken === VOID ? null : eapAuthToken;
    eapAndroidAccountName = eapAndroidAccountName === VOID ? null : eapAndroidAccountName;
    this.rez_1 = eapUid;
    this.sez_1 = eapPersonUid;
    this.tez_1 = eapPackageId;
    this.uez_1 = eapStartTime;
    this.vez_1 = eapExpireTime;
    this.wez_1 = eapAuthToken;
    this.xez_1 = eapAndroidAccountName;
  }
  protoOf(ExternalAppPermission).toString = function () {
    return 'ExternalAppPermission(eapUid=' + this.rez_1 + ', eapPersonUid=' + this.sez_1.toString() + ', eapPackageId=' + this.tez_1 + ', eapStartTime=' + this.uez_1.toString() + ', eapExpireTime=' + this.vez_1.toString() + ', eapAuthToken=' + this.wez_1 + ', eapAndroidAccountName=' + this.xez_1 + ')';
  };
  protoOf(ExternalAppPermission).hashCode = function () {
    var result = this.rez_1;
    result = imul(result, 31) + this.sez_1.hashCode() | 0;
    result = imul(result, 31) + (this.tez_1 == null ? 0 : getStringHashCode(this.tez_1)) | 0;
    result = imul(result, 31) + this.uez_1.hashCode() | 0;
    result = imul(result, 31) + this.vez_1.hashCode() | 0;
    result = imul(result, 31) + (this.wez_1 == null ? 0 : getStringHashCode(this.wez_1)) | 0;
    result = imul(result, 31) + (this.xez_1 == null ? 0 : getStringHashCode(this.xez_1)) | 0;
    return result;
  };
  protoOf(ExternalAppPermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ExternalAppPermission))
      return false;
    var tmp0_other_with_cast = other instanceof ExternalAppPermission ? other : THROW_CCE();
    if (!(this.rez_1 === tmp0_other_with_cast.rez_1))
      return false;
    if (!this.sez_1.equals(tmp0_other_with_cast.sez_1))
      return false;
    if (!(this.tez_1 == tmp0_other_with_cast.tez_1))
      return false;
    if (!this.uez_1.equals(tmp0_other_with_cast.uez_1))
      return false;
    if (!this.vez_1.equals(tmp0_other_with_cast.vez_1))
      return false;
    if (!(this.wez_1 == tmp0_other_with_cast.wez_1))
      return false;
    if (!(this.xez_1 == tmp0_other_with_cast.xez_1))
      return false;
    return true;
  };
  function Companion_83() {
    this.tjq_1 = 99;
  }
  var Companion_instance_84;
  function Companion_getInstance_86() {
    return Companion_instance_84;
  }
  function $serializer_80() {
    $serializer_instance_80 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Holiday', this, 10);
    tmp0_serialDesc.y4l('holUid', true);
    tmp0_serialDesc.y4l('holMasterCsn', true);
    tmp0_serialDesc.y4l('holLocalCsn', true);
    tmp0_serialDesc.y4l('holLastModBy', true);
    tmp0_serialDesc.y4l('holLct', true);
    tmp0_serialDesc.y4l('holActive', true);
    tmp0_serialDesc.y4l('holHolidayCalendarUid', true);
    tmp0_serialDesc.y4l('holStartTime', true);
    tmp0_serialDesc.y4l('holEndTime', true);
    tmp0_serialDesc.y4l('holName', true);
    this.ujq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_80).v4a = function () {
    return this.ujq_1;
  };
  protoOf($serializer_80).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_80).x4a = function (decoder) {
    var tmp0_desc = this.ujq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = null;
    var tmp14_input = decoder.n4e(tmp0_desc);
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return Holiday_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_80).vjq = function (encoder, value) {
    var tmp0_desc = this.ujq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.tf2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.tf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.uf2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.uf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.vf2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.vf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.wf2_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.wf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.xf2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.xf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.yf2_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 5, value.yf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.zf2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.zf2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.af3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.af3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.bf3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.bf3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.cf3_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 9, StringSerializer_getInstance(), value.cf3_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_80).w4a = function (encoder, value) {
    return this.vjq(encoder, value instanceof Holiday ? value : THROW_CCE());
  };
  var $serializer_instance_80;
  function $serializer_getInstance_80() {
    if ($serializer_instance_80 == null)
      new $serializer_80();
    return $serializer_instance_80;
  }
  function Holiday_init_$Init$(seen1, holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_80().ujq_1);
    }
    if (0 === (seen1 & 1))
      $this.tf2_1 = new Long(0, 0);
    else
      $this.tf2_1 = holUid;
    if (0 === (seen1 & 2))
      $this.uf2_1 = new Long(0, 0);
    else
      $this.uf2_1 = holMasterCsn;
    if (0 === (seen1 & 4))
      $this.vf2_1 = new Long(0, 0);
    else
      $this.vf2_1 = holLocalCsn;
    if (0 === (seen1 & 8))
      $this.wf2_1 = 0;
    else
      $this.wf2_1 = holLastModBy;
    if (0 === (seen1 & 16))
      $this.xf2_1 = new Long(0, 0);
    else
      $this.xf2_1 = holLct;
    if (0 === (seen1 & 32))
      $this.yf2_1 = true;
    else
      $this.yf2_1 = holActive;
    if (0 === (seen1 & 64))
      $this.zf2_1 = new Long(0, 0);
    else
      $this.zf2_1 = holHolidayCalendarUid;
    if (0 === (seen1 & 128))
      $this.af3_1 = new Long(0, 0);
    else
      $this.af3_1 = holStartTime;
    if (0 === (seen1 & 256))
      $this.bf3_1 = new Long(0, 0);
    else
      $this.bf3_1 = holEndTime;
    if (0 === (seen1 & 512))
      $this.cf3_1 = null;
    else
      $this.cf3_1 = holName;
    return $this;
  }
  function Holiday_init_$Create$(seen1, holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName, serializationConstructorMarker) {
    return Holiday_init_$Init$(seen1, holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName, serializationConstructorMarker, objectCreate(protoOf(Holiday)));
  }
  function Holiday() {
    this.tf2_1 = new Long(0, 0);
    this.uf2_1 = new Long(0, 0);
    this.vf2_1 = new Long(0, 0);
    this.wf2_1 = 0;
    this.xf2_1 = new Long(0, 0);
    this.yf2_1 = true;
    this.zf2_1 = new Long(0, 0);
    this.af3_1 = new Long(0, 0);
    this.bf3_1 = new Long(0, 0);
    this.cf3_1 = null;
  }
  protoOf(Holiday).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Holiday))
      THROW_CCE();
    if (!this.tf2_1.equals(other.tf2_1))
      return false;
    if (!this.uf2_1.equals(other.uf2_1))
      return false;
    if (!this.vf2_1.equals(other.vf2_1))
      return false;
    if (!(this.wf2_1 === other.wf2_1))
      return false;
    if (!(this.yf2_1 === other.yf2_1))
      return false;
    if (!this.zf2_1.equals(other.zf2_1))
      return false;
    if (!this.af3_1.equals(other.af3_1))
      return false;
    if (!this.bf3_1.equals(other.bf3_1))
      return false;
    if (!(this.cf3_1 == other.cf3_1))
      return false;
    return true;
  };
  protoOf(Holiday).hashCode = function () {
    var result = this.tf2_1.hashCode();
    result = imul(31, result) + this.uf2_1.hashCode() | 0;
    result = imul(31, result) + this.vf2_1.hashCode() | 0;
    result = imul(31, result) + this.wf2_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.yf2_1) | 0;
    result = imul(31, result) + this.zf2_1.hashCode() | 0;
    result = imul(31, result) + this.af3_1.hashCode() | 0;
    result = imul(31, result) + this.bf3_1.hashCode() | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.cf3_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    return result;
  };
  function Companion_84() {
    this.wjq_1 = 28;
    this.xjq_1 = 1;
  }
  var Companion_instance_85;
  function Companion_getInstance_87() {
    return Companion_instance_85;
  }
  function $serializer_81() {
    $serializer_instance_81 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.HolidayCalendar', this, 8);
    tmp0_serialDesc.y4l('umCalendarUid', true);
    tmp0_serialDesc.y4l('umCalendarName', true);
    tmp0_serialDesc.y4l('umCalendarCategory', true);
    tmp0_serialDesc.y4l('umCalendarActive', true);
    tmp0_serialDesc.y4l('umCalendarMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('umCalendarLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('umCalendarLastChangedBy', true);
    tmp0_serialDesc.y4l('umCalendarLct', true);
    this.yjq_1 = tmp0_serialDesc;
  }
  protoOf($serializer_81).v4a = function () {
    return this.yjq_1;
  };
  protoOf($serializer_81).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_81).x4a = function (decoder) {
    var tmp0_desc = this.yjq_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return HolidayCalendar_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_81).zjq = function (encoder, value) {
    var tmp0_desc = this.yjq_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.x8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.x8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.y8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.y8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.z8k_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 2, value.z8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.a8l_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 3, value.a8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.b8l_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.b8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.c8l_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.c8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.d8l_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.d8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.e8l_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.e8l_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_81).w4a = function (encoder, value) {
    return this.zjq(encoder, value instanceof HolidayCalendar ? value : THROW_CCE());
  };
  var $serializer_instance_81;
  function $serializer_getInstance_81() {
    if ($serializer_instance_81 == null)
      new $serializer_81();
    return $serializer_instance_81;
  }
  function HolidayCalendar_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_81().yjq_1);
    }
    if (0 === (seen1 & 1))
      $this.x8k_1 = new Long(0, 0);
    else
      $this.x8k_1 = umCalendarUid;
    if (0 === (seen1 & 2))
      $this.y8k_1 = null;
    else
      $this.y8k_1 = umCalendarName;
    if (0 === (seen1 & 4))
      $this.z8k_1 = 1;
    else
      $this.z8k_1 = umCalendarCategory;
    if (0 === (seen1 & 8))
      $this.a8l_1 = true;
    else
      $this.a8l_1 = umCalendarActive;
    if (0 === (seen1 & 16))
      $this.b8l_1 = new Long(0, 0);
    else
      $this.b8l_1 = umCalendarMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.c8l_1 = new Long(0, 0);
    else
      $this.c8l_1 = umCalendarLocalChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.d8l_1 = 0;
    else
      $this.d8l_1 = umCalendarLastChangedBy;
    if (0 === (seen1 & 128))
      $this.e8l_1 = new Long(0, 0);
    else
      $this.e8l_1 = umCalendarLct;
    return $this;
  }
  function HolidayCalendar_init_$Create$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker) {
    return HolidayCalendar_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker, objectCreate(protoOf(HolidayCalendar)));
  }
  function HolidayCalendar() {
    this.x8k_1 = new Long(0, 0);
    this.y8k_1 = null;
    this.z8k_1 = 1;
    this.a8l_1 = true;
    this.b8l_1 = new Long(0, 0);
    this.c8l_1 = new Long(0, 0);
    this.d8l_1 = 0;
    this.e8l_1 = new Long(0, 0);
  }
  function Companion_85() {
  }
  var Companion_instance_86;
  function Companion_getInstance_88() {
    return Companion_instance_86;
  }
  function $serializer_82() {
    $serializer_instance_82 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.HolidayCalendarWithNumEntries', this, 9);
    tmp0_serialDesc.y4l('umCalendarUid', true);
    tmp0_serialDesc.y4l('umCalendarName', true);
    tmp0_serialDesc.y4l('umCalendarCategory', true);
    tmp0_serialDesc.y4l('umCalendarActive', true);
    tmp0_serialDesc.y4l('umCalendarMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('umCalendarLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('umCalendarLastChangedBy', true);
    tmp0_serialDesc.y4l('umCalendarLct', true);
    tmp0_serialDesc.y4l('numEntries', true);
    this.ajr_1 = tmp0_serialDesc;
  }
  protoOf($serializer_82).v4a = function () {
    return this.ajr_1;
  };
  protoOf($serializer_82).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_82).x4a = function (decoder) {
    var tmp0_desc = this.ajr_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_input = decoder.n4e(tmp0_desc);
    if (tmp13_input.c4f()) {
      tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.p4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.p4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.o4e(tmp0_desc);
    return HolidayCalendarWithNumEntries_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_82).bjr = function (encoder, value) {
    var tmp0_desc = this.ajr_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.x8k_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.x8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.y8k_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.y8k_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 2)) {
      tmp = true;
    } else {
      var tmp_0 = value.z8k_1;
      tmp = !(tmp_0 === 1);
    }
    if (tmp) {
      tmp1_output.w4f(tmp0_desc, 2, value.z8k_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.a8l_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 3, value.a8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.b8l_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.b8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.c8l_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.c8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.d8l_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.d8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.e8l_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.e8l_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.kjr_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 8, value.kjr_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_82).w4a = function (encoder, value) {
    return this.bjr(encoder, value instanceof HolidayCalendarWithNumEntries ? value : THROW_CCE());
  };
  var $serializer_instance_82;
  function $serializer_getInstance_82() {
    if ($serializer_instance_82 == null)
      new $serializer_82();
    return $serializer_instance_82;
  }
  function HolidayCalendarWithNumEntries_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, numEntries, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_82().ajr_1);
    }
    HolidayCalendar_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 256))
      $this.kjr_1 = 0;
    else
      $this.kjr_1 = numEntries;
    return $this;
  }
  function HolidayCalendarWithNumEntries_init_$Create$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, numEntries, serializationConstructorMarker) {
    return HolidayCalendarWithNumEntries_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, numEntries, serializationConstructorMarker, objectCreate(protoOf(HolidayCalendarWithNumEntries)));
  }
  function HolidayCalendarWithNumEntries() {
    HolidayCalendar.call(this);
    this.kjr_1 = 0;
  }
  function Companion_86() {
    Companion_instance_87 = this;
    this.ljr_1 = 13;
    this.mjr_1 = new Long(10000, 0);
    this.njr_1 = new Long(10001, 0);
    this.ojr_1 = new Long(10002, 0);
    this.pjr_1 = new Long(10003, 0);
    this.qjr_1 = new Long(10004, 0);
    this.rjr_1 = new Long(10005, 0);
    this.sjr_1 = new Long(10006, 0);
    this.tjr_1 = new Long(10007, 0);
    this.ujr_1 = new Long(10008, 0);
    this.vjr_1 = new Long(10009, 0);
    var tmp = this;
    // Inline function 'kotlin.apply' call
    var this_0 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_0.ecf_1 = 'English';
    this_0.dcf_1 = new Long(10000, 0);
    this_0.fcf_1 = 'en';
    this_0.gcf_1 = 'eng';
    this_0.hcf_1 = 'eng';
    var tmp_0 = this_0;
    // Inline function 'kotlin.apply' call
    var this_1 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_1.ecf_1 = '\u0627\u0644\u0639\u0631\u0628\u064A\u0629';
    this_1.dcf_1 = new Long(10001, 0);
    this_1.fcf_1 = 'ar';
    this_1.gcf_1 = 'ara';
    this_1.hcf_1 = 'ara';
    var tmp_1 = this_1;
    // Inline function 'kotlin.apply' call
    var this_2 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_2.ecf_1 = '\u09AC\u09BE\u0982\u09B2\u09BE';
    this_2.dcf_1 = new Long(10002, 0);
    this_2.fcf_1 = 'bn';
    this_2.gcf_1 = 'ben';
    this_2.hcf_1 = 'ben';
    var tmp_2 = this_2;
    // Inline function 'kotlin.apply' call
    var this_3 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_3.ecf_1 = '\u1019\u103C\u1014\u103A\u1019\u102C';
    this_3.dcf_1 = new Long(10003, 0);
    this_3.fcf_1 = 'my';
    this_3.gcf_1 = 'bur';
    this_3.hcf_1 = 'mya';
    var tmp_3 = this_3;
    // Inline function 'kotlin.apply' call
    var this_4 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_4.ecf_1 = 'Ikinyarwanda';
    this_4.dcf_1 = new Long(10004, 0);
    this_4.fcf_1 = 'rw';
    this_4.gcf_1 = 'kin';
    this_4.hcf_1 = 'kin';
    var tmp_4 = this_4;
    // Inline function 'kotlin.apply' call
    var this_5 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_5.ecf_1 = '\u0928\u0947\u092A\u093E\u0932\u0940';
    this_5.dcf_1 = new Long(10005, 0);
    this_5.fcf_1 = 'ne';
    this_5.gcf_1 = 'nep';
    this_5.hcf_1 = 'nep';
    var tmp_5 = this_5;
    // Inline function 'kotlin.apply' call
    var this_6 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_6.ecf_1 = '\u067E\u069A\u062A\u0648';
    this_6.dcf_1 = new Long(10006, 0);
    this_6.fcf_1 = 'ps';
    this_6.gcf_1 = 'pus';
    this_6.hcf_1 = 'pus';
    var tmp_6 = this_6;
    // Inline function 'kotlin.apply' call
    var this_7 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_7.ecf_1 = '\u0641\u0627\u0631\u0633\u06CC';
    this_7.dcf_1 = new Long(10007, 0);
    this_7.fcf_1 = 'fa';
    this_7.gcf_1 = 'per';
    this_7.hcf_1 = 'fas';
    var tmp_7 = this_7;
    // Inline function 'kotlin.apply' call
    var this_8 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_8.ecf_1 = '\u0440\u0443\u0441\u0441\u043A\u0438\u0439';
    this_8.dcf_1 = new Long(10008, 0);
    this_8.fcf_1 = 'ru';
    this_8.gcf_1 = 'rus';
    this_8.hcf_1 = 'rus';
    var tmp_8 = this_8;
    // Inline function 'kotlin.apply' call
    var this_9 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_9.ecf_1 = '\u0422\u043E\u04B7\u0438\u043A\u04E3';
    this_9.dcf_1 = new Long(10009, 0);
    this_9.fcf_1 = 'tg';
    this_9.gcf_1 = 'tgk';
    this_9.hcf_1 = 'tgk';
    tmp.wjr_1 = listOf_0([tmp_0, tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, tmp_6, tmp_7, tmp_8, this_9]);
  }
  var Companion_instance_87;
  function Companion_getInstance_89() {
    if (Companion_instance_87 == null)
      new Companion_86();
    return Companion_instance_87;
  }
  function $serializer_83() {
    $serializer_instance_83 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Language', this, 11);
    tmp0_serialDesc.y4l('langUid', true);
    tmp0_serialDesc.y4l('name', true);
    tmp0_serialDesc.y4l('iso_639_1_standard', true);
    tmp0_serialDesc.y4l('iso_639_2_standard', true);
    tmp0_serialDesc.y4l('iso_639_3_standard', true);
    tmp0_serialDesc.y4l('Language_Type', true);
    tmp0_serialDesc.y4l('languageActive', true);
    tmp0_serialDesc.y4l('langLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('langMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('langLastChangedBy', true);
    tmp0_serialDesc.y4l('langLct', true);
    this.xjr_1 = tmp0_serialDesc;
  }
  protoOf($serializer_83).v4a = function () {
    return this.xjr_1;
  };
  protoOf($serializer_83).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_83).x4a = function (decoder) {
    var tmp0_desc = this.xjr_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return Language_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_83).yjr = function (encoder, value) {
    var tmp0_desc = this.xjr_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.dcf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.dcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ecf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ecf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.fcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.fcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.gcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.gcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.hcf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.hcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.icf_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.icf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.jcf_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 6, value.jcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.kcf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.kcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.lcf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.lcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.mcf_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.mcf_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.ncf_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.ncf_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_83).w4a = function (encoder, value) {
    return this.yjr(encoder, value instanceof Language ? value : THROW_CCE());
  };
  var $serializer_instance_83;
  function $serializer_getInstance_83() {
    if ($serializer_instance_83 == null)
      new $serializer_83();
    return $serializer_instance_83;
  }
  function Language_init_$Init$(seen1, langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_83().xjr_1);
    }
    if (0 === (seen1 & 1))
      $this.dcf_1 = new Long(0, 0);
    else
      $this.dcf_1 = langUid;
    if (0 === (seen1 & 2))
      $this.ecf_1 = null;
    else
      $this.ecf_1 = name;
    if (0 === (seen1 & 4))
      $this.fcf_1 = null;
    else
      $this.fcf_1 = iso_639_1_standard;
    if (0 === (seen1 & 8))
      $this.gcf_1 = null;
    else
      $this.gcf_1 = iso_639_2_standard;
    if (0 === (seen1 & 16))
      $this.hcf_1 = null;
    else
      $this.hcf_1 = iso_639_3_standard;
    if (0 === (seen1 & 32))
      $this.icf_1 = null;
    else
      $this.icf_1 = Language_Type;
    if (0 === (seen1 & 64))
      $this.jcf_1 = true;
    else
      $this.jcf_1 = languageActive;
    if (0 === (seen1 & 128))
      $this.kcf_1 = new Long(0, 0);
    else
      $this.kcf_1 = langLocalChangeSeqNum;
    if (0 === (seen1 & 256))
      $this.lcf_1 = new Long(0, 0);
    else
      $this.lcf_1 = langMasterChangeSeqNum;
    if (0 === (seen1 & 512))
      $this.mcf_1 = 0;
    else
      $this.mcf_1 = langLastChangedBy;
    if (0 === (seen1 & 1024))
      $this.ncf_1 = new Long(0, 0);
    else
      $this.ncf_1 = langLct;
    return $this;
  }
  function Language_init_$Create$(seen1, langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct, serializationConstructorMarker) {
    return Language_init_$Init$(seen1, langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct, serializationConstructorMarker, objectCreate(protoOf(Language)));
  }
  function Language() {
    Companion_getInstance_89();
    this.dcf_1 = new Long(0, 0);
    this.ecf_1 = null;
    this.fcf_1 = null;
    this.gcf_1 = null;
    this.hcf_1 = null;
    this.icf_1 = null;
    this.jcf_1 = true;
    this.kcf_1 = new Long(0, 0);
    this.lcf_1 = new Long(0, 0);
    this.mcf_1 = 0;
    this.ncf_1 = new Long(0, 0);
  }
  protoOf(Language).toString = function () {
    return toString(this.ecf_1);
  };
  protoOf(Language).equals = function (other) {
    if (this === other)
      return true;
    var language = (other == null ? true : other instanceof Language) ? other : THROW_CCE();
    if (!this.dcf_1.equals(ensureNotNull(language).dcf_1))
      return false;
    if (!(this.ecf_1 == null) ? !(this.ecf_1 == language.ecf_1) : !(language.ecf_1 == null))
      return false;
    if (!(this.fcf_1 == null) ? !(this.fcf_1 == language.fcf_1) : !(language.fcf_1 == null))
      return false;
    if (!(this.gcf_1 == null) ? !(this.gcf_1 == language.gcf_1) : !(language.gcf_1 == null))
      return false;
    return !(this.hcf_1 == null) ? this.hcf_1 == language.hcf_1 : language.hcf_1 == null;
  };
  protoOf(Language).hashCode = function () {
    var result = this.dcf_1.wc(this.dcf_1.tc(32)).mb();
    result = imul(31, result) + (!(this.ecf_1 == null) ? getStringHashCode(ensureNotNull(this.ecf_1)) : 0) | 0;
    result = imul(31, result) + (!(this.fcf_1 == null) ? getStringHashCode(ensureNotNull(this.fcf_1)) : 0) | 0;
    result = imul(31, result) + (!(this.gcf_1 == null) ? getStringHashCode(ensureNotNull(this.gcf_1)) : 0) | 0;
    result = imul(31, result) + (!(this.hcf_1 == null) ? getStringHashCode(ensureNotNull(this.hcf_1)) : 0) | 0;
    return result;
  };
  function Companion_87() {
    this.zjr_1 = 10;
  }
  var Companion_instance_88;
  function Companion_getInstance_90() {
    return Companion_instance_88;
  }
  function $serializer_84() {
    $serializer_instance_84 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.LanguageVariant', this, 8);
    tmp0_serialDesc.y4l('langVariantUid', true);
    tmp0_serialDesc.y4l('langUid', true);
    tmp0_serialDesc.y4l('countryCode', true);
    tmp0_serialDesc.y4l('name', true);
    tmp0_serialDesc.y4l('langVariantLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('langVariantMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('langVariantLastChangedBy', true);
    tmp0_serialDesc.y4l('langVariantLct', true);
    this.ajs_1 = tmp0_serialDesc;
  }
  protoOf($serializer_84).v4a = function () {
    return this.ajs_1;
  };
  protoOf($serializer_84).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_84).x4a = function (decoder) {
    var tmp0_desc = this.ajs_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return LanguageVariant_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_84).bjs = function (encoder, value) {
    var tmp0_desc = this.ajs_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.of7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.of7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.pf7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.pf7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.qf7_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.qf7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.rf7_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.rf7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.sf7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.sf7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.tf7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.tf7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.uf7_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.uf7_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.vf7_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.vf7_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_84).w4a = function (encoder, value) {
    return this.bjs(encoder, value instanceof LanguageVariant ? value : THROW_CCE());
  };
  var $serializer_instance_84;
  function $serializer_getInstance_84() {
    if ($serializer_instance_84 == null)
      new $serializer_84();
    return $serializer_instance_84;
  }
  function LanguageVariant_init_$Init$(seen1, langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_84().ajs_1);
    }
    if (0 === (seen1 & 1))
      $this.of7_1 = new Long(0, 0);
    else
      $this.of7_1 = langVariantUid;
    if (0 === (seen1 & 2))
      $this.pf7_1 = new Long(0, 0);
    else
      $this.pf7_1 = langUid;
    if (0 === (seen1 & 4))
      $this.qf7_1 = null;
    else
      $this.qf7_1 = countryCode;
    if (0 === (seen1 & 8))
      $this.rf7_1 = null;
    else
      $this.rf7_1 = name;
    if (0 === (seen1 & 16))
      $this.sf7_1 = new Long(0, 0);
    else
      $this.sf7_1 = langVariantLocalChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.tf7_1 = new Long(0, 0);
    else
      $this.tf7_1 = langVariantMasterChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.uf7_1 = 0;
    else
      $this.uf7_1 = langVariantLastChangedBy;
    if (0 === (seen1 & 128))
      $this.vf7_1 = new Long(0, 0);
    else
      $this.vf7_1 = langVariantLct;
    return $this;
  }
  function LanguageVariant_init_$Create$(seen1, langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct, serializationConstructorMarker) {
    return LanguageVariant_init_$Init$(seen1, langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct, serializationConstructorMarker, objectCreate(protoOf(LanguageVariant)));
  }
  function LanguageVariant() {
    this.of7_1 = new Long(0, 0);
    this.pf7_1 = new Long(0, 0);
    this.qf7_1 = null;
    this.rf7_1 = null;
    this.sf7_1 = new Long(0, 0);
    this.tf7_1 = new Long(0, 0);
    this.uf7_1 = 0;
    this.vf7_1 = new Long(0, 0);
  }
  protoOf(LanguageVariant).equals = function (other) {
    if (this === other)
      return true;
    var that = (other == null ? true : other instanceof LanguageVariant) ? other : THROW_CCE();
    if (!this.of7_1.equals(ensureNotNull(that).of7_1))
      return false;
    if (!this.pf7_1.equals(that.pf7_1))
      return false;
    if (!(this.qf7_1 == null) ? !(this.qf7_1 == that.qf7_1) : !(that.qf7_1 == null))
      return false;
    return !(this.rf7_1 == null) ? this.rf7_1 == that.rf7_1 : that.rf7_1 == null;
  };
  protoOf(LanguageVariant).hashCode = function () {
    var result = this.of7_1.wc(this.of7_1.tc(32)).mb();
    result = imul(31, result) + this.pf7_1.wc(this.pf7_1.tc(32)).mb() | 0;
    result = imul(31, result) + (!(this.qf7_1 == null) ? getStringHashCode(ensureNotNull(this.qf7_1)) : 0) | 0;
    result = imul(31, result) + (!(this.rf7_1 == null) ? getStringHashCode(ensureNotNull(this.rf7_1)) : 0) | 0;
    return result;
  };
  function Companion_88() {
    Companion_instance_89 = this;
    this.cjs_1 = 410;
    this.djs_1 = 'Moved';
    this.ejs_1 = new Long(10000, 0);
    this.fjs_1 = 'Medical';
    this.gjs_1 = new Long(10001, 0);
    this.hjs_1 = 'Transportation problem';
    this.ijs_1 = new Long(10002, 0);
    this.jjs_1 = 'Family economic problem';
    this.kjs_1 = new Long(10003, 0);
    this.ljs_1 = 'Failed test';
    this.mjs_1 = new Long(10004, 0);
    this.njs_1 = 'Passed test';
    this.ojs_1 = new Long(10005, 0);
    this.pjs_1 = mapOf([to('Moved', new Long(10000, 0)), to('Medical', new Long(10001, 0)), to('Transportation problem', new Long(10002, 0)), to('Family economic problem', new Long(10003, 0)), to('Failed test', new Long(10004, 0)), to('Passed test', new Long(10005, 0))]);
  }
  protoOf(Companion_88).s4x = function () {
    return $serializer_getInstance_85();
  };
  var Companion_instance_89;
  function Companion_getInstance_91() {
    if (Companion_instance_89 == null)
      new Companion_88();
    return Companion_instance_89;
  }
  function $serializer_85() {
    $serializer_instance_85 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.LeavingReason', this, 6);
    tmp0_serialDesc.y4l('leavingReasonUid', true);
    tmp0_serialDesc.y4l('leavingReasonTitle', true);
    tmp0_serialDesc.y4l('leavingReasonMCSN', true);
    tmp0_serialDesc.y4l('leavingReasonCSN', true);
    tmp0_serialDesc.y4l('leavingReasonLCB', true);
    tmp0_serialDesc.y4l('leavingReasonLct', true);
    this.qjs_1 = tmp0_serialDesc;
  }
  protoOf($serializer_85).v4a = function () {
    return this.qjs_1;
  };
  protoOf($serializer_85).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_85).x4a = function (decoder) {
    var tmp0_desc = this.qjs_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = 0;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return LeavingReason_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_85).rjs = function (encoder, value) {
    var tmp0_desc = this.qjs_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.l9a_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.l9a_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.m9a_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.m9a_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.n9a_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.n9a_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.o9a_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.o9a_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.p9a_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.p9a_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.q9a_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.q9a_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_85).w4a = function (encoder, value) {
    return this.rjs(encoder, value instanceof LeavingReason ? value : THROW_CCE());
  };
  var $serializer_instance_85;
  function $serializer_getInstance_85() {
    if ($serializer_instance_85 == null)
      new $serializer_85();
    return $serializer_instance_85;
  }
  function LeavingReason_init_$Init$(seen1, leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_85().qjs_1);
    }
    if (0 === (seen1 & 1))
      $this.l9a_1 = new Long(0, 0);
    else
      $this.l9a_1 = leavingReasonUid;
    if (0 === (seen1 & 2))
      $this.m9a_1 = null;
    else
      $this.m9a_1 = leavingReasonTitle;
    if (0 === (seen1 & 4))
      $this.n9a_1 = new Long(0, 0);
    else
      $this.n9a_1 = leavingReasonMCSN;
    if (0 === (seen1 & 8))
      $this.o9a_1 = new Long(0, 0);
    else
      $this.o9a_1 = leavingReasonCSN;
    if (0 === (seen1 & 16))
      $this.p9a_1 = 0;
    else
      $this.p9a_1 = leavingReasonLCB;
    if (0 === (seen1 & 32))
      $this.q9a_1 = new Long(0, 0);
    else
      $this.q9a_1 = leavingReasonLct;
    return $this;
  }
  function LeavingReason_init_$Create$(seen1, leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct, serializationConstructorMarker) {
    return LeavingReason_init_$Init$(seen1, leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct, serializationConstructorMarker, objectCreate(protoOf(LeavingReason)));
  }
  function LeavingReason() {
    Companion_getInstance_91();
    this.l9a_1 = new Long(0, 0);
    this.m9a_1 = null;
    this.n9a_1 = new Long(0, 0);
    this.o9a_1 = new Long(0, 0);
    this.p9a_1 = 0;
    this.q9a_1 = new Long(0, 0);
  }
  function Companion_89() {
    this.sjs_1 = 126;
  }
  var Companion_instance_90;
  function Companion_getInstance_92() {
    return Companion_instance_90;
  }
  function $serializer_86() {
    $serializer_instance_86 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Message', this, 6);
    tmp0_serialDesc.y4l('messageUid', true);
    tmp0_serialDesc.y4l('messageSenderPersonUid', true);
    tmp0_serialDesc.y4l('messageToPersonUid', true);
    tmp0_serialDesc.y4l('messageText', true);
    tmp0_serialDesc.y4l('messageTimestamp', true);
    tmp0_serialDesc.y4l('messageLct', true);
    this.tjs_1 = tmp0_serialDesc;
  }
  protoOf($serializer_86).v4a = function () {
    return this.tjs_1;
  };
  protoOf($serializer_86).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_86).x4a = function (decoder) {
    var tmp0_desc = this.tjs_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return Message_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_86).ujs = function (encoder, value) {
    var tmp0_desc = this.tjs_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.gfd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.gfd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.hfd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.hfd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.ifd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.ifd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.jfd_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.jfd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.kfd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.kfd_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.lfd_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.lfd_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_86).w4a = function (encoder, value) {
    return this.ujs(encoder, value instanceof Message ? value : THROW_CCE());
  };
  var $serializer_instance_86;
  function $serializer_getInstance_86() {
    if ($serializer_instance_86 == null)
      new $serializer_86();
    return $serializer_instance_86;
  }
  function Message_init_$Init$(seen1, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_86().tjs_1);
    }
    if (0 === (seen1 & 1))
      $this.gfd_1 = new Long(0, 0);
    else
      $this.gfd_1 = messageUid;
    if (0 === (seen1 & 2))
      $this.hfd_1 = new Long(0, 0);
    else
      $this.hfd_1 = messageSenderPersonUid;
    if (0 === (seen1 & 4))
      $this.ifd_1 = new Long(0, 0);
    else
      $this.ifd_1 = messageToPersonUid;
    if (0 === (seen1 & 8))
      $this.jfd_1 = null;
    else
      $this.jfd_1 = messageText;
    if (0 === (seen1 & 16))
      $this.kfd_1 = new Long(0, 0);
    else
      $this.kfd_1 = messageTimestamp;
    if (0 === (seen1 & 32))
      $this.lfd_1 = new Long(0, 0);
    else
      $this.lfd_1 = messageLct;
    return $this;
  }
  function Message_init_$Create$(seen1, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, serializationConstructorMarker) {
    return Message_init_$Init$(seen1, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, serializationConstructorMarker, objectCreate(protoOf(Message)));
  }
  function Message(messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) {
    messageUid = messageUid === VOID ? new Long(0, 0) : messageUid;
    messageSenderPersonUid = messageSenderPersonUid === VOID ? new Long(0, 0) : messageSenderPersonUid;
    messageToPersonUid = messageToPersonUid === VOID ? new Long(0, 0) : messageToPersonUid;
    messageText = messageText === VOID ? null : messageText;
    messageTimestamp = messageTimestamp === VOID ? new Long(0, 0) : messageTimestamp;
    messageLct = messageLct === VOID ? new Long(0, 0) : messageLct;
    this.gfd_1 = messageUid;
    this.hfd_1 = messageSenderPersonUid;
    this.ifd_1 = messageToPersonUid;
    this.jfd_1 = messageText;
    this.kfd_1 = messageTimestamp;
    this.lfd_1 = messageLct;
  }
  protoOf(Message).toString = function () {
    return 'Message(messageUid=' + this.gfd_1.toString() + ', messageSenderPersonUid=' + this.hfd_1.toString() + ', messageToPersonUid=' + this.ifd_1.toString() + ', messageText=' + this.jfd_1 + ', messageTimestamp=' + this.kfd_1.toString() + ', messageLct=' + this.lfd_1.toString() + ')';
  };
  protoOf(Message).hashCode = function () {
    var result = this.gfd_1.hashCode();
    result = imul(result, 31) + this.hfd_1.hashCode() | 0;
    result = imul(result, 31) + this.ifd_1.hashCode() | 0;
    result = imul(result, 31) + (this.jfd_1 == null ? 0 : getStringHashCode(this.jfd_1)) | 0;
    result = imul(result, 31) + this.kfd_1.hashCode() | 0;
    result = imul(result, 31) + this.lfd_1.hashCode() | 0;
    return result;
  };
  protoOf(Message).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Message))
      return false;
    var tmp0_other_with_cast = other instanceof Message ? other : THROW_CCE();
    if (!this.gfd_1.equals(tmp0_other_with_cast.gfd_1))
      return false;
    if (!this.hfd_1.equals(tmp0_other_with_cast.hfd_1))
      return false;
    if (!this.ifd_1.equals(tmp0_other_with_cast.ifd_1))
      return false;
    if (!(this.jfd_1 == tmp0_other_with_cast.jfd_1))
      return false;
    if (!this.kfd_1.equals(tmp0_other_with_cast.kfd_1))
      return false;
    if (!this.lfd_1.equals(tmp0_other_with_cast.lfd_1))
      return false;
    return true;
  };
  function Companion_90() {
    this.vjs_1 = 971;
  }
  var Companion_instance_91;
  function Companion_getInstance_93() {
    return Companion_instance_91;
  }
  function $serializer_87() {
    $serializer_instance_87 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.OfflineItem', this, 7);
    tmp0_serialDesc.y4l('oiUid', true);
    tmp0_serialDesc.y4l('oiNodeId', true);
    tmp0_serialDesc.y4l('oiClazzUid', true);
    tmp0_serialDesc.y4l('oiCourseBlockUid', true);
    tmp0_serialDesc.y4l('oiContentEntryUid', true);
    tmp0_serialDesc.y4l('oiActive', true);
    tmp0_serialDesc.y4l('oiLct', true);
    this.wjs_1 = tmp0_serialDesc;
  }
  protoOf($serializer_87).v4a = function () {
    return this.wjs_1;
  };
  protoOf($serializer_87).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_87).x4a = function (decoder) {
    var tmp0_desc = this.wjs_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return OfflineItem_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_87).xjs = function (encoder, value) {
    var tmp0_desc = this.wjs_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.yfi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.yfi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.zfi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.zfi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.afj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.afj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.bfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.bfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.cfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.cfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.dfj_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 5, value.dfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.efj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.efj_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_87).w4a = function (encoder, value) {
    return this.xjs(encoder, value instanceof OfflineItem ? value : THROW_CCE());
  };
  var $serializer_instance_87;
  function $serializer_getInstance_87() {
    if ($serializer_instance_87 == null)
      new $serializer_87();
    return $serializer_instance_87;
  }
  function OfflineItem_init_$Init$(seen1, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_87().wjs_1);
    }
    if (0 === (seen1 & 1))
      $this.yfi_1 = new Long(0, 0);
    else
      $this.yfi_1 = oiUid;
    if (0 === (seen1 & 2))
      $this.zfi_1 = new Long(0, 0);
    else
      $this.zfi_1 = oiNodeId;
    if (0 === (seen1 & 4))
      $this.afj_1 = new Long(0, 0);
    else
      $this.afj_1 = oiClazzUid;
    if (0 === (seen1 & 8))
      $this.bfj_1 = new Long(0, 0);
    else
      $this.bfj_1 = oiCourseBlockUid;
    if (0 === (seen1 & 16))
      $this.cfj_1 = new Long(0, 0);
    else
      $this.cfj_1 = oiContentEntryUid;
    if (0 === (seen1 & 32))
      $this.dfj_1 = true;
    else
      $this.dfj_1 = oiActive;
    if (0 === (seen1 & 64))
      $this.efj_1 = new Long(0, 0);
    else
      $this.efj_1 = oiLct;
    return $this;
  }
  function OfflineItem_init_$Create$(seen1, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, serializationConstructorMarker) {
    return OfflineItem_init_$Init$(seen1, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, serializationConstructorMarker, objectCreate(protoOf(OfflineItem)));
  }
  function OfflineItem(oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) {
    oiUid = oiUid === VOID ? new Long(0, 0) : oiUid;
    oiNodeId = oiNodeId === VOID ? new Long(0, 0) : oiNodeId;
    oiClazzUid = oiClazzUid === VOID ? new Long(0, 0) : oiClazzUid;
    oiCourseBlockUid = oiCourseBlockUid === VOID ? new Long(0, 0) : oiCourseBlockUid;
    oiContentEntryUid = oiContentEntryUid === VOID ? new Long(0, 0) : oiContentEntryUid;
    oiActive = oiActive === VOID ? true : oiActive;
    oiLct = oiLct === VOID ? new Long(0, 0) : oiLct;
    this.yfi_1 = oiUid;
    this.zfi_1 = oiNodeId;
    this.afj_1 = oiClazzUid;
    this.bfj_1 = oiCourseBlockUid;
    this.cfj_1 = oiContentEntryUid;
    this.dfj_1 = oiActive;
    this.efj_1 = oiLct;
  }
  protoOf(OfflineItem).toString = function () {
    return 'OfflineItem(oiUid=' + this.yfi_1.toString() + ', oiNodeId=' + this.zfi_1.toString() + ', oiClazzUid=' + this.afj_1.toString() + ', oiCourseBlockUid=' + this.bfj_1.toString() + ', oiContentEntryUid=' + this.cfj_1.toString() + ', oiActive=' + this.dfj_1 + ', oiLct=' + this.efj_1.toString() + ')';
  };
  protoOf(OfflineItem).hashCode = function () {
    var result = this.yfi_1.hashCode();
    result = imul(result, 31) + this.zfi_1.hashCode() | 0;
    result = imul(result, 31) + this.afj_1.hashCode() | 0;
    result = imul(result, 31) + this.bfj_1.hashCode() | 0;
    result = imul(result, 31) + this.cfj_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.dfj_1) | 0;
    result = imul(result, 31) + this.efj_1.hashCode() | 0;
    return result;
  };
  protoOf(OfflineItem).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof OfflineItem))
      return false;
    var tmp0_other_with_cast = other instanceof OfflineItem ? other : THROW_CCE();
    if (!this.yfi_1.equals(tmp0_other_with_cast.yfi_1))
      return false;
    if (!this.zfi_1.equals(tmp0_other_with_cast.zfi_1))
      return false;
    if (!this.afj_1.equals(tmp0_other_with_cast.afj_1))
      return false;
    if (!this.bfj_1.equals(tmp0_other_with_cast.bfj_1))
      return false;
    if (!this.cfj_1.equals(tmp0_other_with_cast.cfj_1))
      return false;
    if (!(this.dfj_1 === tmp0_other_with_cast.dfj_1))
      return false;
    if (!this.efj_1.equals(tmp0_other_with_cast.efj_1))
      return false;
    return true;
  };
  function Companion_91() {
    this.yjs_1 = 140;
  }
  protoOf(Companion_91).s4x = function () {
    return $serializer_getInstance_88();
  };
  var Companion_instance_92;
  function Companion_getInstance_94() {
    return Companion_instance_92;
  }
  function $serializer_88() {
    $serializer_instance_88 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PeerReviewerAllocation', this, 6);
    tmp0_serialDesc.y4l('praUid', true);
    tmp0_serialDesc.y4l('praMarkerSubmitterUid', true);
    tmp0_serialDesc.y4l('praToMarkerSubmitterUid', true);
    tmp0_serialDesc.y4l('praAssignmentUid', true);
    tmp0_serialDesc.y4l('praActive', true);
    tmp0_serialDesc.y4l('praLct', true);
    this.zjs_1 = tmp0_serialDesc;
  }
  protoOf($serializer_88).v4a = function () {
    return this.zjs_1;
  };
  protoOf($serializer_88).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_88).x4a = function (decoder) {
    var tmp0_desc = this.zjs_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return PeerReviewerAllocation_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_88).ajt = function (encoder, value) {
    var tmp0_desc = this.zjs_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.cfm_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.cfm_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.dfm_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.dfm_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.efm_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.efm_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.ffm_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.ffm_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.gfm_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 4, value.gfm_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.hfm_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.hfm_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_88).w4a = function (encoder, value) {
    return this.ajt(encoder, value instanceof PeerReviewerAllocation ? value : THROW_CCE());
  };
  var $serializer_instance_88;
  function $serializer_getInstance_88() {
    if ($serializer_instance_88 == null)
      new $serializer_88();
    return $serializer_instance_88;
  }
  function PeerReviewerAllocation_init_$Init$(seen1, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_88().zjs_1);
    }
    if (0 === (seen1 & 1))
      $this.cfm_1 = new Long(0, 0);
    else
      $this.cfm_1 = praUid;
    if (0 === (seen1 & 2))
      $this.dfm_1 = new Long(0, 0);
    else
      $this.dfm_1 = praMarkerSubmitterUid;
    if (0 === (seen1 & 4))
      $this.efm_1 = new Long(0, 0);
    else
      $this.efm_1 = praToMarkerSubmitterUid;
    if (0 === (seen1 & 8))
      $this.ffm_1 = new Long(0, 0);
    else
      $this.ffm_1 = praAssignmentUid;
    if (0 === (seen1 & 16))
      $this.gfm_1 = true;
    else
      $this.gfm_1 = praActive;
    if (0 === (seen1 & 32))
      $this.hfm_1 = new Long(0, 0);
    else
      $this.hfm_1 = praLct;
    return $this;
  }
  function PeerReviewerAllocation_init_$Create$(seen1, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, serializationConstructorMarker) {
    return PeerReviewerAllocation_init_$Init$(seen1, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, serializationConstructorMarker, objectCreate(protoOf(PeerReviewerAllocation)));
  }
  function PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) {
    praUid = praUid === VOID ? new Long(0, 0) : praUid;
    praMarkerSubmitterUid = praMarkerSubmitterUid === VOID ? new Long(0, 0) : praMarkerSubmitterUid;
    praToMarkerSubmitterUid = praToMarkerSubmitterUid === VOID ? new Long(0, 0) : praToMarkerSubmitterUid;
    praAssignmentUid = praAssignmentUid === VOID ? new Long(0, 0) : praAssignmentUid;
    praActive = praActive === VOID ? true : praActive;
    praLct = praLct === VOID ? new Long(0, 0) : praLct;
    this.cfm_1 = praUid;
    this.dfm_1 = praMarkerSubmitterUid;
    this.efm_1 = praToMarkerSubmitterUid;
    this.ffm_1 = praAssignmentUid;
    this.gfm_1 = praActive;
    this.hfm_1 = praLct;
  }
  protoOf(PeerReviewerAllocation).bjt = function (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) {
    return new PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct);
  };
  protoOf(PeerReviewerAllocation).cjt = function (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, $super) {
    praUid = praUid === VOID ? this.cfm_1 : praUid;
    praMarkerSubmitterUid = praMarkerSubmitterUid === VOID ? this.dfm_1 : praMarkerSubmitterUid;
    praToMarkerSubmitterUid = praToMarkerSubmitterUid === VOID ? this.efm_1 : praToMarkerSubmitterUid;
    praAssignmentUid = praAssignmentUid === VOID ? this.ffm_1 : praAssignmentUid;
    praActive = praActive === VOID ? this.gfm_1 : praActive;
    praLct = praLct === VOID ? this.hfm_1 : praLct;
    return $super === VOID ? this.bjt(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) : $super.bjt.call(this, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct);
  };
  protoOf(PeerReviewerAllocation).toString = function () {
    return 'PeerReviewerAllocation(praUid=' + this.cfm_1.toString() + ', praMarkerSubmitterUid=' + this.dfm_1.toString() + ', praToMarkerSubmitterUid=' + this.efm_1.toString() + ', praAssignmentUid=' + this.ffm_1.toString() + ', praActive=' + this.gfm_1 + ', praLct=' + this.hfm_1.toString() + ')';
  };
  protoOf(PeerReviewerAllocation).hashCode = function () {
    var result = this.cfm_1.hashCode();
    result = imul(result, 31) + this.dfm_1.hashCode() | 0;
    result = imul(result, 31) + this.efm_1.hashCode() | 0;
    result = imul(result, 31) + this.ffm_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.gfm_1) | 0;
    result = imul(result, 31) + this.hfm_1.hashCode() | 0;
    return result;
  };
  protoOf(PeerReviewerAllocation).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PeerReviewerAllocation))
      return false;
    var tmp0_other_with_cast = other instanceof PeerReviewerAllocation ? other : THROW_CCE();
    if (!this.cfm_1.equals(tmp0_other_with_cast.cfm_1))
      return false;
    if (!this.dfm_1.equals(tmp0_other_with_cast.dfm_1))
      return false;
    if (!this.efm_1.equals(tmp0_other_with_cast.efm_1))
      return false;
    if (!this.ffm_1.equals(tmp0_other_with_cast.ffm_1))
      return false;
    if (!(this.gfm_1 === tmp0_other_with_cast.gfm_1))
      return false;
    if (!this.hfm_1.equals(tmp0_other_with_cast.hfm_1))
      return false;
    return true;
  };
  function Companion_92() {
    this.djt_1 = 9;
    this.ejt_1 = 0;
    this.fjt_1 = 1;
    this.gjt_1 = 2;
    this.hjt_1 = 4;
    this.ijt_1 = 0;
    this.jjt_1 = 1;
    this.kjt_1 = 2;
    this.ljt_1 = '\n            JOIN ScopedGrant\n                 ON ScopedGrant.sgGroupUid = PersonGroupMember.groupMemberGroupUid\n                    AND (ScopedGrant.sgPermissions &';
    this.mjt_1 = '\n                ((ScopedGrant.sgTableId = -2\n                    AND ScopedGrant.sgEntityUid = -2)\n                 OR (ScopedGrant.sgTableId = 9\n                    AND ScopedGrant.sgEntityUid = Person.personUid)\n                 OR (ScopedGrant.sgTableId = 6       \n                    AND Person.personUid IN (\n                        SELECT DISTINCT clazzEnrolmentPersonUid\n                          FROM ClazzEnrolment\n                         WHERE clazzEnrolmentClazzUid =ScopedGrant.sgEntityUid \n                           AND ClazzEnrolment.clazzEnrolmentActive))\n                 \n                 )    \n        ';
    this.njt_1 = '\n                                                    ) > 0\n            JOIN Person \n                 ON \n                ((ScopedGrant.sgTableId = -2\n                    AND ScopedGrant.sgEntityUid = -2)\n                 OR (ScopedGrant.sgTableId = 9\n                    AND ScopedGrant.sgEntityUid = Person.personUid)\n                 OR (ScopedGrant.sgTableId = 6       \n                    AND Person.personUid IN (\n                        SELECT DISTINCT clazzEnrolmentPersonUid\n                          FROM ClazzEnrolment\n                         WHERE clazzEnrolmentClazzUid =ScopedGrant.sgEntityUid \n                           AND ClazzEnrolment.clazzEnrolmentActive))\n                 \n                 )    \n        \n        ';
  }
  protoOf(Companion_92).s4x = function () {
    return $serializer_getInstance_89();
  };
  var Companion_instance_93;
  function Companion_getInstance_95() {
    return Companion_instance_93;
  }
  function $serializer_89() {
    $serializer_instance_89 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Person', this, 24);
    tmp0_serialDesc.y4l('personUid', true);
    tmp0_serialDesc.y4l('username', true);
    tmp0_serialDesc.y4l('firstNames', true);
    tmp0_serialDesc.y4l('lastName', true);
    tmp0_serialDesc.y4l('emailAddr', true);
    tmp0_serialDesc.y4l('phoneNum', true);
    tmp0_serialDesc.y4l('gender', true);
    tmp0_serialDesc.y4l('active', true);
    tmp0_serialDesc.y4l('dateOfBirth', true);
    tmp0_serialDesc.y4l('personAddress', true);
    tmp0_serialDesc.y4l('personOrgId', true);
    tmp0_serialDesc.y4l('personGroupUid', true);
    tmp0_serialDesc.y4l('personLct', true);
    tmp0_serialDesc.y4l('personCountry', true);
    tmp0_serialDesc.y4l('personType', true);
    tmp0_serialDesc.y4l('personMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('personLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('personLastChangedBy', true);
    tmp0_serialDesc.y4l('admin', true);
    tmp0_serialDesc.y4l('personNotes', true);
    tmp0_serialDesc.y4l('fatherName', true);
    tmp0_serialDesc.y4l('fatherNumber', true);
    tmp0_serialDesc.y4l('motherName', true);
    tmp0_serialDesc.y4l('motherNum', true);
    this.ojt_1 = tmp0_serialDesc;
  }
  protoOf($serializer_89).v4a = function () {
    return this.ojt_1;
  };
  protoOf($serializer_89).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_89).x4a = function (decoder) {
    var tmp0_desc = this.ojt_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = null;
    var tmp14_local10 = null;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = null;
    var tmp18_local14 = 0;
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = new Long(0, 0);
    var tmp21_local17 = 0;
    var tmp22_local18 = false;
    var tmp23_local19 = null;
    var tmp24_local20 = null;
    var tmp25_local21 = null;
    var tmp26_local22 = null;
    var tmp27_local23 = null;
    var tmp28_input = decoder.n4e(tmp0_desc);
    if (tmp28_input.c4f()) {
      tmp4_local0 = tmp28_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp28_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp28_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp28_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp28_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp28_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp28_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp28_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp28_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp28_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp28_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp28_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp28_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp28_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp28_input.s4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp28_input.t4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp28_input.t4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp28_input.s4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp28_input.p4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp28_input.b4f(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp28_input.b4f(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp28_input.b4f(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp28_input.b4f(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp28_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp28_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp28_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp28_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp28_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp28_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp28_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp28_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp28_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp28_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp28_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp28_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp28_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp28_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp28_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp28_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp28_input.s4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp28_input.t4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp28_input.t4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp28_input.s4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp28_input.p4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp28_input.b4f(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp28_input.b4f(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp28_input.b4f(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp28_input.b4f(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp28_input.b4f(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp28_input.o4e(tmp0_desc);
    return Person_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, null);
  };
  protoOf($serializer_89).pjt = function (encoder, value) {
    var tmp0_desc = this.ojt_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.x9b_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.x9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.y9b_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.y9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.z9b_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.z9b_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.a9c_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.a9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.b9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.b9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.c9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.c9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.d9c_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.d9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.e9c_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 7, value.e9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.f9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.f9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.g9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 9, StringSerializer_getInstance(), value.g9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.h9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 10, StringSerializer_getInstance(), value.h9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.i9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.i9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.j9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.j9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.k9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, StringSerializer_getInstance(), value.k9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.l9c_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 14, value.l9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !value.m9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 15, value.m9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !value.n9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 16, value.n9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.o9c_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 17, value.o9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.p9c_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 18, value.p9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.q9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 19, StringSerializer_getInstance(), value.q9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !(value.r9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 20, StringSerializer_getInstance(), value.r9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !(value.s9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 21, StringSerializer_getInstance(), value.s9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.t9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 22, StringSerializer_getInstance(), value.t9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !(value.u9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 23, StringSerializer_getInstance(), value.u9c_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_89).w4a = function (encoder, value) {
    return this.pjt(encoder, value instanceof Person ? value : THROW_CCE());
  };
  var $serializer_instance_89;
  function $serializer_getInstance_89() {
    if ($serializer_instance_89 == null)
      new $serializer_89();
    return $serializer_instance_89;
  }
  function Person_init_$Init$(seen1, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_89().ojt_1);
    }
    if (0 === (seen1 & 1))
      $this.x9b_1 = new Long(0, 0);
    else
      $this.x9b_1 = personUid;
    if (0 === (seen1 & 2))
      $this.y9b_1 = null;
    else
      $this.y9b_1 = username;
    if (0 === (seen1 & 4))
      $this.z9b_1 = '';
    else
      $this.z9b_1 = firstNames;
    if (0 === (seen1 & 8))
      $this.a9c_1 = '';
    else
      $this.a9c_1 = lastName;
    if (0 === (seen1 & 16))
      $this.b9c_1 = null;
    else
      $this.b9c_1 = emailAddr;
    if (0 === (seen1 & 32))
      $this.c9c_1 = null;
    else
      $this.c9c_1 = phoneNum;
    if (0 === (seen1 & 64))
      $this.d9c_1 = 0;
    else
      $this.d9c_1 = gender;
    if (0 === (seen1 & 128))
      $this.e9c_1 = true;
    else
      $this.e9c_1 = active;
    if (0 === (seen1 & 256))
      $this.f9c_1 = new Long(0, 0);
    else
      $this.f9c_1 = dateOfBirth;
    if (0 === (seen1 & 512))
      $this.g9c_1 = null;
    else
      $this.g9c_1 = personAddress;
    if (0 === (seen1 & 1024))
      $this.h9c_1 = null;
    else
      $this.h9c_1 = personOrgId;
    if (0 === (seen1 & 2048))
      $this.i9c_1 = new Long(0, 0);
    else
      $this.i9c_1 = personGroupUid;
    if (0 === (seen1 & 4096))
      $this.j9c_1 = new Long(0, 0);
    else
      $this.j9c_1 = personLct;
    if (0 === (seen1 & 8192))
      $this.k9c_1 = null;
    else
      $this.k9c_1 = personCountry;
    if (0 === (seen1 & 16384))
      $this.l9c_1 = 0;
    else
      $this.l9c_1 = personType;
    if (0 === (seen1 & 32768))
      $this.m9c_1 = new Long(0, 0);
    else
      $this.m9c_1 = personMasterChangeSeqNum;
    if (0 === (seen1 & 65536))
      $this.n9c_1 = new Long(0, 0);
    else
      $this.n9c_1 = personLocalChangeSeqNum;
    if (0 === (seen1 & 131072))
      $this.o9c_1 = 0;
    else
      $this.o9c_1 = personLastChangedBy;
    if (0 === (seen1 & 262144))
      $this.p9c_1 = false;
    else
      $this.p9c_1 = admin;
    if (0 === (seen1 & 524288))
      $this.q9c_1 = null;
    else
      $this.q9c_1 = personNotes;
    if (0 === (seen1 & 1048576))
      $this.r9c_1 = null;
    else
      $this.r9c_1 = fatherName;
    if (0 === (seen1 & 2097152))
      $this.s9c_1 = null;
    else
      $this.s9c_1 = fatherNumber;
    if (0 === (seen1 & 4194304))
      $this.t9c_1 = null;
    else
      $this.t9c_1 = motherName;
    if (0 === (seen1 & 8388608))
      $this.u9c_1 = null;
    else
      $this.u9c_1 = motherNum;
    return $this;
  }
  function Person_init_$Create$(seen1, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, serializationConstructorMarker) {
    return Person_init_$Init$(seen1, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, serializationConstructorMarker, objectCreate(protoOf(Person)));
  }
  function Person(personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) {
    personUid = personUid === VOID ? new Long(0, 0) : personUid;
    username = username === VOID ? null : username;
    firstNames = firstNames === VOID ? '' : firstNames;
    lastName = lastName === VOID ? '' : lastName;
    emailAddr = emailAddr === VOID ? null : emailAddr;
    phoneNum = phoneNum === VOID ? null : phoneNum;
    gender = gender === VOID ? 0 : gender;
    active = active === VOID ? true : active;
    dateOfBirth = dateOfBirth === VOID ? new Long(0, 0) : dateOfBirth;
    personAddress = personAddress === VOID ? null : personAddress;
    personOrgId = personOrgId === VOID ? null : personOrgId;
    personGroupUid = personGroupUid === VOID ? new Long(0, 0) : personGroupUid;
    personLct = personLct === VOID ? new Long(0, 0) : personLct;
    personCountry = personCountry === VOID ? null : personCountry;
    personType = personType === VOID ? 0 : personType;
    personMasterChangeSeqNum = personMasterChangeSeqNum === VOID ? new Long(0, 0) : personMasterChangeSeqNum;
    personLocalChangeSeqNum = personLocalChangeSeqNum === VOID ? new Long(0, 0) : personLocalChangeSeqNum;
    personLastChangedBy = personLastChangedBy === VOID ? 0 : personLastChangedBy;
    admin = admin === VOID ? false : admin;
    personNotes = personNotes === VOID ? null : personNotes;
    fatherName = fatherName === VOID ? null : fatherName;
    fatherNumber = fatherNumber === VOID ? null : fatherNumber;
    motherName = motherName === VOID ? null : motherName;
    motherNum = motherNum === VOID ? null : motherNum;
    this.x9b_1 = personUid;
    this.y9b_1 = username;
    this.z9b_1 = firstNames;
    this.a9c_1 = lastName;
    this.b9c_1 = emailAddr;
    this.c9c_1 = phoneNum;
    this.d9c_1 = gender;
    this.e9c_1 = active;
    this.f9c_1 = dateOfBirth;
    this.g9c_1 = personAddress;
    this.h9c_1 = personOrgId;
    this.i9c_1 = personGroupUid;
    this.j9c_1 = personLct;
    this.k9c_1 = personCountry;
    this.l9c_1 = personType;
    this.m9c_1 = personMasterChangeSeqNum;
    this.n9c_1 = personLocalChangeSeqNum;
    this.o9c_1 = personLastChangedBy;
    this.p9c_1 = admin;
    this.q9c_1 = personNotes;
    this.r9c_1 = fatherName;
    this.s9c_1 = fatherNumber;
    this.t9c_1 = motherName;
    this.u9c_1 = motherNum;
  }
  protoOf(Person).qjt = function () {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Person.fullName.<anonymous>' call
    var tmp0_safe_receiver = this.z9b_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.lib.db.entities.Person.fullName.<anonymous>.<anonymous>' call
      this_0.y5(tmp0_safe_receiver);
    }
    if (!(this.z9b_1 == null) ? !(this.a9c_1 == null) : false) {
      this_0.y5(' ');
    }
    var tmp1_safe_receiver = this.a9c_1;
    if (tmp1_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.lib.db.entities.Person.fullName.<anonymous>.<anonymous>' call
      this_0.y5(tmp1_safe_receiver);
    }
    return this_0.toString();
  };
  protoOf(Person).toString = function () {
    return 'Person(personUid=' + this.x9b_1.toString() + ', username=' + this.y9b_1 + ', firstNames=' + this.z9b_1 + ', lastName=' + this.a9c_1 + ', emailAddr=' + this.b9c_1 + ', phoneNum=' + this.c9c_1 + ', gender=' + this.d9c_1 + ', active=' + this.e9c_1 + ', dateOfBirth=' + this.f9c_1.toString() + ', personAddress=' + this.g9c_1 + ', personOrgId=' + this.h9c_1 + ', personGroupUid=' + this.i9c_1.toString() + ', personLct=' + this.j9c_1.toString() + ', personCountry=' + this.k9c_1 + ', personType=' + this.l9c_1 + ', personMasterChangeSeqNum=' + this.m9c_1.toString() + ', personLocalChangeSeqNum=' + this.n9c_1.toString() + ', personLastChangedBy=' + this.o9c_1 + ', admin=' + this.p9c_1 + ', personNotes=' + this.q9c_1 + ', fatherName=' + this.r9c_1 + ', fatherNumber=' + this.s9c_1 + ', motherName=' + this.t9c_1 + ', motherNum=' + this.u9c_1 + ')';
  };
  protoOf(Person).hashCode = function () {
    var result = this.x9b_1.hashCode();
    result = imul(result, 31) + (this.y9b_1 == null ? 0 : getStringHashCode(this.y9b_1)) | 0;
    result = imul(result, 31) + (this.z9b_1 == null ? 0 : getStringHashCode(this.z9b_1)) | 0;
    result = imul(result, 31) + (this.a9c_1 == null ? 0 : getStringHashCode(this.a9c_1)) | 0;
    result = imul(result, 31) + (this.b9c_1 == null ? 0 : getStringHashCode(this.b9c_1)) | 0;
    result = imul(result, 31) + (this.c9c_1 == null ? 0 : getStringHashCode(this.c9c_1)) | 0;
    result = imul(result, 31) + this.d9c_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.e9c_1) | 0;
    result = imul(result, 31) + this.f9c_1.hashCode() | 0;
    result = imul(result, 31) + (this.g9c_1 == null ? 0 : getStringHashCode(this.g9c_1)) | 0;
    result = imul(result, 31) + (this.h9c_1 == null ? 0 : getStringHashCode(this.h9c_1)) | 0;
    result = imul(result, 31) + this.i9c_1.hashCode() | 0;
    result = imul(result, 31) + this.j9c_1.hashCode() | 0;
    result = imul(result, 31) + (this.k9c_1 == null ? 0 : getStringHashCode(this.k9c_1)) | 0;
    result = imul(result, 31) + this.l9c_1 | 0;
    result = imul(result, 31) + this.m9c_1.hashCode() | 0;
    result = imul(result, 31) + this.n9c_1.hashCode() | 0;
    result = imul(result, 31) + this.o9c_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.p9c_1) | 0;
    result = imul(result, 31) + (this.q9c_1 == null ? 0 : getStringHashCode(this.q9c_1)) | 0;
    result = imul(result, 31) + (this.r9c_1 == null ? 0 : getStringHashCode(this.r9c_1)) | 0;
    result = imul(result, 31) + (this.s9c_1 == null ? 0 : getStringHashCode(this.s9c_1)) | 0;
    result = imul(result, 31) + (this.t9c_1 == null ? 0 : getStringHashCode(this.t9c_1)) | 0;
    result = imul(result, 31) + (this.u9c_1 == null ? 0 : getStringHashCode(this.u9c_1)) | 0;
    return result;
  };
  protoOf(Person).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Person))
      return false;
    var tmp0_other_with_cast = other instanceof Person ? other : THROW_CCE();
    if (!this.x9b_1.equals(tmp0_other_with_cast.x9b_1))
      return false;
    if (!(this.y9b_1 == tmp0_other_with_cast.y9b_1))
      return false;
    if (!(this.z9b_1 == tmp0_other_with_cast.z9b_1))
      return false;
    if (!(this.a9c_1 == tmp0_other_with_cast.a9c_1))
      return false;
    if (!(this.b9c_1 == tmp0_other_with_cast.b9c_1))
      return false;
    if (!(this.c9c_1 == tmp0_other_with_cast.c9c_1))
      return false;
    if (!(this.d9c_1 === tmp0_other_with_cast.d9c_1))
      return false;
    if (!(this.e9c_1 === tmp0_other_with_cast.e9c_1))
      return false;
    if (!this.f9c_1.equals(tmp0_other_with_cast.f9c_1))
      return false;
    if (!(this.g9c_1 == tmp0_other_with_cast.g9c_1))
      return false;
    if (!(this.h9c_1 == tmp0_other_with_cast.h9c_1))
      return false;
    if (!this.i9c_1.equals(tmp0_other_with_cast.i9c_1))
      return false;
    if (!this.j9c_1.equals(tmp0_other_with_cast.j9c_1))
      return false;
    if (!(this.k9c_1 == tmp0_other_with_cast.k9c_1))
      return false;
    if (!(this.l9c_1 === tmp0_other_with_cast.l9c_1))
      return false;
    if (!this.m9c_1.equals(tmp0_other_with_cast.m9c_1))
      return false;
    if (!this.n9c_1.equals(tmp0_other_with_cast.n9c_1))
      return false;
    if (!(this.o9c_1 === tmp0_other_with_cast.o9c_1))
      return false;
    if (!(this.p9c_1 === tmp0_other_with_cast.p9c_1))
      return false;
    if (!(this.q9c_1 == tmp0_other_with_cast.q9c_1))
      return false;
    if (!(this.r9c_1 == tmp0_other_with_cast.r9c_1))
      return false;
    if (!(this.s9c_1 == tmp0_other_with_cast.s9c_1))
      return false;
    if (!(this.t9c_1 == tmp0_other_with_cast.t9c_1))
      return false;
    if (!(this.u9c_1 == tmp0_other_with_cast.u9c_1))
      return false;
    return true;
  };
  function Companion_93() {
  }
  var Companion_instance_94;
  function Companion_getInstance_96() {
    return Companion_instance_94;
  }
  function $serializer_90() {
    $serializer_instance_90 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonAndDisplayDetail', this, 4);
    tmp0_serialDesc.y4l('person', true);
    tmp0_serialDesc.y4l('parentJoin', true);
    tmp0_serialDesc.y4l('personPicture', true);
    tmp0_serialDesc.y4l('personPictureTransferJobItem', true);
    this.rjt_1 = tmp0_serialDesc;
  }
  protoOf($serializer_90).v4a = function () {
    return this.rjt_1;
  };
  protoOf($serializer_90).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_89()), get_nullable($serializer_getInstance_94()), get_nullable($serializer_getInstance_96()), get_nullable($serializer_getInstance_108())];
  };
  protoOf($serializer_90).x4a = function (decoder) {
    var tmp0_desc = this.rjt_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_94(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_96(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_108(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.b4f(tmp0_desc, 0, $serializer_getInstance_89(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, $serializer_getInstance_94(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.b4f(tmp0_desc, 2, $serializer_getInstance_96(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, $serializer_getInstance_108(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return PersonAndDisplayDetail_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_90).sjt = function (encoder, value) {
    var tmp0_desc = this.rjt_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.cfx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_89(), value.cfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.dfx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_94(), value.dfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.efx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, $serializer_getInstance_96(), value.efx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ffx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, $serializer_getInstance_108(), value.ffx_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_90).w4a = function (encoder, value) {
    return this.sjt(encoder, value instanceof PersonAndDisplayDetail ? value : THROW_CCE());
  };
  var $serializer_instance_90;
  function $serializer_getInstance_90() {
    if ($serializer_instance_90 == null)
      new $serializer_90();
    return $serializer_instance_90;
  }
  function PersonAndDisplayDetail_init_$Init$(seen1, person, parentJoin, personPicture, personPictureTransferJobItem, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_90().rjt_1);
    }
    if (0 === (seen1 & 1))
      $this.cfx_1 = null;
    else
      $this.cfx_1 = person;
    if (0 === (seen1 & 2))
      $this.dfx_1 = null;
    else
      $this.dfx_1 = parentJoin;
    if (0 === (seen1 & 4))
      $this.efx_1 = null;
    else
      $this.efx_1 = personPicture;
    if (0 === (seen1 & 8))
      $this.ffx_1 = null;
    else
      $this.ffx_1 = personPictureTransferJobItem;
    return $this;
  }
  function PersonAndDisplayDetail_init_$Create$(seen1, person, parentJoin, personPicture, personPictureTransferJobItem, serializationConstructorMarker) {
    return PersonAndDisplayDetail_init_$Init$(seen1, person, parentJoin, personPicture, personPictureTransferJobItem, serializationConstructorMarker, objectCreate(protoOf(PersonAndDisplayDetail)));
  }
  function PersonAndDisplayDetail(person, parentJoin, personPicture, personPictureTransferJobItem) {
    person = person === VOID ? null : person;
    parentJoin = parentJoin === VOID ? null : parentJoin;
    personPicture = personPicture === VOID ? null : personPicture;
    personPictureTransferJobItem = personPictureTransferJobItem === VOID ? null : personPictureTransferJobItem;
    this.cfx_1 = person;
    this.dfx_1 = parentJoin;
    this.efx_1 = personPicture;
    this.ffx_1 = personPictureTransferJobItem;
  }
  protoOf(PersonAndDisplayDetail).toString = function () {
    return 'PersonAndDisplayDetail(person=' + this.cfx_1 + ', parentJoin=' + this.dfx_1 + ', personPicture=' + this.efx_1 + ', personPictureTransferJobItem=' + this.ffx_1 + ')';
  };
  protoOf(PersonAndDisplayDetail).hashCode = function () {
    var result = this.cfx_1 == null ? 0 : this.cfx_1.hashCode();
    result = imul(result, 31) + (this.dfx_1 == null ? 0 : this.dfx_1.hashCode()) | 0;
    result = imul(result, 31) + (this.efx_1 == null ? 0 : this.efx_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ffx_1 == null ? 0 : this.ffx_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndDisplayDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndDisplayDetail))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndDisplayDetail ? other : THROW_CCE();
    if (!equals(this.cfx_1, tmp0_other_with_cast.cfx_1))
      return false;
    if (!equals(this.dfx_1, tmp0_other_with_cast.dfx_1))
      return false;
    if (!equals(this.efx_1, tmp0_other_with_cast.efx_1))
      return false;
    if (!equals(this.ffx_1, tmp0_other_with_cast.ffx_1))
      return false;
    return true;
  };
  function Companion_94() {
    this.tjt_1 = 1;
    this.ujt_1 = 0;
  }
  var Companion_instance_95;
  function Companion_getInstance_97() {
    return Companion_instance_95;
  }
  function $serializer_91() {
    $serializer_instance_91 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonAuth', this, 3);
    tmp0_serialDesc.y4l('personAuthUid', true);
    tmp0_serialDesc.y4l('passwordHash', true);
    tmp0_serialDesc.y4l('personAuthStatus', true);
    this.vjt_1 = tmp0_serialDesc;
  }
  protoOf($serializer_91).v4a = function () {
    return this.vjt_1;
  };
  protoOf($serializer_91).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance()];
  };
  protoOf($serializer_91).x4a = function (decoder) {
    var tmp0_desc = this.vjt_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return PersonAuth_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_91).wjt = function (encoder, value) {
    var tmp0_desc = this.vjt_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.uft_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.uft_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.vft_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.vft_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.wft_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.wft_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_91).w4a = function (encoder, value) {
    return this.wjt(encoder, value instanceof PersonAuth ? value : THROW_CCE());
  };
  var $serializer_instance_91;
  function $serializer_getInstance_91() {
    if ($serializer_instance_91 == null)
      new $serializer_91();
    return $serializer_instance_91;
  }
  function PersonAuth_init_$Init$(seen1, personAuthUid, passwordHash, personAuthStatus, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_91().vjt_1);
    }
    if (0 === (seen1 & 1))
      $this.uft_1 = new Long(0, 0);
    else
      $this.uft_1 = personAuthUid;
    if (0 === (seen1 & 2))
      $this.vft_1 = null;
    else
      $this.vft_1 = passwordHash;
    if (0 === (seen1 & 4))
      $this.wft_1 = 0;
    else
      $this.wft_1 = personAuthStatus;
    return $this;
  }
  function PersonAuth_init_$Create$(seen1, personAuthUid, passwordHash, personAuthStatus, serializationConstructorMarker) {
    return PersonAuth_init_$Init$(seen1, personAuthUid, passwordHash, personAuthStatus, serializationConstructorMarker, objectCreate(protoOf(PersonAuth)));
  }
  function PersonAuth() {
    this.uft_1 = new Long(0, 0);
    this.vft_1 = null;
    this.wft_1 = 0;
  }
  function Companion_95() {
    this.xjt_1 = 'PBKDF2x2';
    this.yjt_1 = 678;
  }
  var Companion_instance_96;
  function Companion_getInstance_98() {
    return Companion_instance_96;
  }
  function PersonAuth2() {
    this.qfr_1 = new Long(0, 0);
    this.rfr_1 = null;
    this.sfr_1 = null;
    this.tfr_1 = new Long(0, 0);
    this.ufr_1 = new Long(0, 0);
    this.vfr_1 = new Long(0, 0);
    this.wfr_1 = new Long(0, 0);
  }
  function Companion_96() {
    this.zjt_1 = 43;
    this.aju_1 = 0;
    this.bju_1 = 1;
    this.cju_1 = 2;
    this.dju_1 = 4;
    this.eju_1 = 8;
    this.fju_1 = 16;
  }
  var Companion_instance_97;
  function Companion_getInstance_99() {
    return Companion_instance_97;
  }
  function $serializer_92() {
    $serializer_instance_92 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonGroup', this, 8);
    tmp0_serialDesc.y4l('groupUid', true);
    tmp0_serialDesc.y4l('groupMasterCsn', true);
    tmp0_serialDesc.y4l('groupLocalCsn', true);
    tmp0_serialDesc.y4l('groupLastChangedBy', true);
    tmp0_serialDesc.y4l('groupLct', true);
    tmp0_serialDesc.y4l('groupName', true);
    tmp0_serialDesc.y4l('groupActive', true);
    tmp0_serialDesc.y4l('personGroupFlag', true);
    this.gju_1 = tmp0_serialDesc;
  }
  protoOf($serializer_92).v4a = function () {
    return this.gju_1;
  };
  protoOf($serializer_92).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_92).x4a = function (decoder) {
    var tmp0_desc = this.gju_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = 0;
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return PersonGroup_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_92).hju = function (encoder, value) {
    var tmp0_desc = this.gju_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.jfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.jfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.kfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.kfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.lfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.lfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.mfz_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.mfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.nfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.nfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ofz_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.ofz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.pfz_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 6, value.pfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.qfz_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.qfz_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_92).w4a = function (encoder, value) {
    return this.hju(encoder, value instanceof PersonGroup ? value : THROW_CCE());
  };
  var $serializer_instance_92;
  function $serializer_getInstance_92() {
    if ($serializer_instance_92 == null)
      new $serializer_92();
    return $serializer_instance_92;
  }
  function PersonGroup_init_$Init$(seen1, groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_92().gju_1);
    }
    if (0 === (seen1 & 1))
      $this.jfz_1 = new Long(0, 0);
    else
      $this.jfz_1 = groupUid;
    if (0 === (seen1 & 2))
      $this.kfz_1 = new Long(0, 0);
    else
      $this.kfz_1 = groupMasterCsn;
    if (0 === (seen1 & 4))
      $this.lfz_1 = new Long(0, 0);
    else
      $this.lfz_1 = groupLocalCsn;
    if (0 === (seen1 & 8))
      $this.mfz_1 = 0;
    else
      $this.mfz_1 = groupLastChangedBy;
    if (0 === (seen1 & 16))
      $this.nfz_1 = new Long(0, 0);
    else
      $this.nfz_1 = groupLct;
    if (0 === (seen1 & 32))
      $this.ofz_1 = null;
    else
      $this.ofz_1 = groupName;
    if (0 === (seen1 & 64))
      $this.pfz_1 = true;
    else
      $this.pfz_1 = groupActive;
    if (0 === (seen1 & 128))
      $this.qfz_1 = 0;
    else
      $this.qfz_1 = personGroupFlag;
    return $this;
  }
  function PersonGroup_init_$Create$(seen1, groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag, serializationConstructorMarker) {
    return PersonGroup_init_$Init$(seen1, groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag, serializationConstructorMarker, objectCreate(protoOf(PersonGroup)));
  }
  function PersonGroup() {
    this.jfz_1 = new Long(0, 0);
    this.kfz_1 = new Long(0, 0);
    this.lfz_1 = new Long(0, 0);
    this.mfz_1 = 0;
    this.nfz_1 = new Long(0, 0);
    this.ofz_1 = null;
    this.pfz_1 = true;
    this.qfz_1 = 0;
  }
  function PersonGroupMember_init_$Init$(personUid, groupUid, $this) {
    PersonGroupMember.call($this);
    $this.wfz_1 = personUid;
    $this.xfz_1 = groupUid;
    return $this;
  }
  function PersonGroupMember_init_$Create$(personUid, groupUid) {
    return PersonGroupMember_init_$Init$(personUid, groupUid, objectCreate(protoOf(PersonGroupMember)));
  }
  function Companion_97() {
    this.iju_1 = 44;
  }
  var Companion_instance_98;
  function Companion_getInstance_100() {
    return Companion_instance_98;
  }
  function $serializer_93() {
    $serializer_instance_93 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonGroupMember', this, 8);
    tmp0_serialDesc.y4l('groupMemberUid', true);
    tmp0_serialDesc.y4l('groupMemberActive', true);
    tmp0_serialDesc.y4l('groupMemberPersonUid', true);
    tmp0_serialDesc.y4l('groupMemberGroupUid', true);
    tmp0_serialDesc.y4l('groupMemberMasterCsn', true);
    tmp0_serialDesc.y4l('groupMemberLocalCsn', true);
    tmp0_serialDesc.y4l('groupMemberLastChangedBy', true);
    tmp0_serialDesc.y4l('groupMemberLct', true);
    this.jju_1 = tmp0_serialDesc;
  }
  protoOf($serializer_93).v4a = function () {
    return this.jju_1;
  };
  protoOf($serializer_93).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_93).x4a = function (decoder) {
    var tmp0_desc = this.jju_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = false;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.p4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.p4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return PersonGroupMember_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_93).kju = function (encoder, value) {
    var tmp0_desc = this.jju_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ufz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ufz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.vfz_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 1, value.vfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.wfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.wfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.xfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.xfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.yfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.yfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.zfz_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.zfz_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.ag0_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.ag0_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.bg0_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.bg0_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_93).w4a = function (encoder, value) {
    return this.kju(encoder, value instanceof PersonGroupMember ? value : THROW_CCE());
  };
  var $serializer_instance_93;
  function $serializer_getInstance_93() {
    if ($serializer_instance_93 == null)
      new $serializer_93();
    return $serializer_instance_93;
  }
  function PersonGroupMember_init_$Init$_0(seen1, groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_93().jju_1);
    }
    if (0 === (seen1 & 1))
      $this.ufz_1 = new Long(0, 0);
    else
      $this.ufz_1 = groupMemberUid;
    if (0 === (seen1 & 2))
      $this.vfz_1 = true;
    else
      $this.vfz_1 = groupMemberActive;
    if (0 === (seen1 & 4))
      $this.wfz_1 = new Long(0, 0);
    else
      $this.wfz_1 = groupMemberPersonUid;
    if (0 === (seen1 & 8))
      $this.xfz_1 = new Long(0, 0);
    else
      $this.xfz_1 = groupMemberGroupUid;
    if (0 === (seen1 & 16))
      $this.yfz_1 = new Long(0, 0);
    else
      $this.yfz_1 = groupMemberMasterCsn;
    if (0 === (seen1 & 32))
      $this.zfz_1 = new Long(0, 0);
    else
      $this.zfz_1 = groupMemberLocalCsn;
    if (0 === (seen1 & 64))
      $this.ag0_1 = 0;
    else
      $this.ag0_1 = groupMemberLastChangedBy;
    if (0 === (seen1 & 128))
      $this.bg0_1 = new Long(0, 0);
    else
      $this.bg0_1 = groupMemberLct;
    return $this;
  }
  function PersonGroupMember_init_$Create$_0(seen1, groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct, serializationConstructorMarker) {
    return PersonGroupMember_init_$Init$_0(seen1, groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct, serializationConstructorMarker, objectCreate(protoOf(PersonGroupMember)));
  }
  function PersonGroupMember() {
    this.ufz_1 = new Long(0, 0);
    this.vfz_1 = true;
    this.wfz_1 = new Long(0, 0);
    this.xfz_1 = new Long(0, 0);
    this.yfz_1 = new Long(0, 0);
    this.zfz_1 = new Long(0, 0);
    this.ag0_1 = 0;
    this.bg0_1 = new Long(0, 0);
  }
  function Companion_98() {
    this.lju_1 = 512;
    this.mju_1 = 0;
    this.nju_1 = 1;
    this.oju_1 = 2;
    this.pju_1 = 1;
    this.qju_1 = 2;
    this.rju_1 = 4;
    this.sju_1 = 8;
  }
  var Companion_instance_99;
  function Companion_getInstance_101() {
    return Companion_instance_99;
  }
  function $serializer_94() {
    $serializer_instance_94 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonParentJoin', this, 14);
    tmp0_serialDesc.y4l('ppjUid', true);
    tmp0_serialDesc.y4l('ppjPcsn', true);
    tmp0_serialDesc.y4l('ppjLcsn', true);
    tmp0_serialDesc.y4l('ppjLcb', true);
    tmp0_serialDesc.y4l('ppjLct', true);
    tmp0_serialDesc.y4l('ppjParentPersonUid', true);
    tmp0_serialDesc.y4l('ppjMinorPersonUid', true);
    tmp0_serialDesc.y4l('ppjRelationship', true);
    tmp0_serialDesc.y4l('ppjEmail', true);
    tmp0_serialDesc.y4l('ppjPhone', true);
    tmp0_serialDesc.y4l('ppjInactive', true);
    tmp0_serialDesc.y4l('ppjStatus', true);
    tmp0_serialDesc.y4l('ppjApprovalTiemstamp', true);
    tmp0_serialDesc.y4l('ppjApprovalIpAddr', true);
    this.tju_1 = tmp0_serialDesc;
  }
  protoOf($serializer_94).v4a = function () {
    return this.tju_1;
  };
  protoOf($serializer_94).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_94).x4a = function (decoder) {
    var tmp0_desc = this.tju_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = 0;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_local10 = false;
    var tmp15_local11 = 0;
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = null;
    var tmp18_input = decoder.n4e(tmp0_desc);
    if (tmp18_input.c4f()) {
      tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.p4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.s4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.b4f(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.p4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.s4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.o4e(tmp0_desc);
    return PersonParentJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_94).uju = function (encoder, value) {
    var tmp0_desc = this.tju_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.gfx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.gfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.hfx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.hfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.ifx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.ifx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.jfx_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.jfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.kfx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.kfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.lfx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.lfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.mfx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.mfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.nfx_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.nfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.ofx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 8, StringSerializer_getInstance(), value.ofx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.pfx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 9, StringSerializer_getInstance(), value.pfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.qfx_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 10, value.qfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.rfx_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 11, value.rfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.sfx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.sfx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.tfx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, StringSerializer_getInstance(), value.tfx_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_94).w4a = function (encoder, value) {
    return this.uju(encoder, value instanceof PersonParentJoin ? value : THROW_CCE());
  };
  var $serializer_instance_94;
  function $serializer_getInstance_94() {
    if ($serializer_instance_94 == null)
      new $serializer_94();
    return $serializer_instance_94;
  }
  function PersonParentJoin_init_$Init$(seen1, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_94().tju_1);
    }
    if (0 === (seen1 & 1))
      $this.gfx_1 = new Long(0, 0);
    else
      $this.gfx_1 = ppjUid;
    if (0 === (seen1 & 2))
      $this.hfx_1 = new Long(0, 0);
    else
      $this.hfx_1 = ppjPcsn;
    if (0 === (seen1 & 4))
      $this.ifx_1 = new Long(0, 0);
    else
      $this.ifx_1 = ppjLcsn;
    if (0 === (seen1 & 8))
      $this.jfx_1 = 0;
    else
      $this.jfx_1 = ppjLcb;
    if (0 === (seen1 & 16))
      $this.kfx_1 = new Long(0, 0);
    else
      $this.kfx_1 = ppjLct;
    if (0 === (seen1 & 32))
      $this.lfx_1 = new Long(0, 0);
    else
      $this.lfx_1 = ppjParentPersonUid;
    if (0 === (seen1 & 64))
      $this.mfx_1 = new Long(0, 0);
    else
      $this.mfx_1 = ppjMinorPersonUid;
    if (0 === (seen1 & 128))
      $this.nfx_1 = 0;
    else
      $this.nfx_1 = ppjRelationship;
    if (0 === (seen1 & 256))
      $this.ofx_1 = null;
    else
      $this.ofx_1 = ppjEmail;
    if (0 === (seen1 & 512))
      $this.pfx_1 = null;
    else
      $this.pfx_1 = ppjPhone;
    if (0 === (seen1 & 1024))
      $this.qfx_1 = false;
    else
      $this.qfx_1 = ppjInactive;
    if (0 === (seen1 & 2048))
      $this.rfx_1 = 0;
    else
      $this.rfx_1 = ppjStatus;
    if (0 === (seen1 & 4096))
      $this.sfx_1 = new Long(0, 0);
    else
      $this.sfx_1 = ppjApprovalTiemstamp;
    if (0 === (seen1 & 8192))
      $this.tfx_1 = null;
    else
      $this.tfx_1 = ppjApprovalIpAddr;
    return $this;
  }
  function PersonParentJoin_init_$Create$(seen1, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, serializationConstructorMarker) {
    return PersonParentJoin_init_$Init$(seen1, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, serializationConstructorMarker, objectCreate(protoOf(PersonParentJoin)));
  }
  function PersonParentJoin(ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) {
    ppjUid = ppjUid === VOID ? new Long(0, 0) : ppjUid;
    ppjPcsn = ppjPcsn === VOID ? new Long(0, 0) : ppjPcsn;
    ppjLcsn = ppjLcsn === VOID ? new Long(0, 0) : ppjLcsn;
    ppjLcb = ppjLcb === VOID ? 0 : ppjLcb;
    ppjLct = ppjLct === VOID ? new Long(0, 0) : ppjLct;
    ppjParentPersonUid = ppjParentPersonUid === VOID ? new Long(0, 0) : ppjParentPersonUid;
    ppjMinorPersonUid = ppjMinorPersonUid === VOID ? new Long(0, 0) : ppjMinorPersonUid;
    ppjRelationship = ppjRelationship === VOID ? 0 : ppjRelationship;
    ppjEmail = ppjEmail === VOID ? null : ppjEmail;
    ppjPhone = ppjPhone === VOID ? null : ppjPhone;
    ppjInactive = ppjInactive === VOID ? false : ppjInactive;
    ppjStatus = ppjStatus === VOID ? 0 : ppjStatus;
    ppjApprovalTiemstamp = ppjApprovalTiemstamp === VOID ? new Long(0, 0) : ppjApprovalTiemstamp;
    ppjApprovalIpAddr = ppjApprovalIpAddr === VOID ? null : ppjApprovalIpAddr;
    this.gfx_1 = ppjUid;
    this.hfx_1 = ppjPcsn;
    this.ifx_1 = ppjLcsn;
    this.jfx_1 = ppjLcb;
    this.kfx_1 = ppjLct;
    this.lfx_1 = ppjParentPersonUid;
    this.mfx_1 = ppjMinorPersonUid;
    this.nfx_1 = ppjRelationship;
    this.ofx_1 = ppjEmail;
    this.pfx_1 = ppjPhone;
    this.qfx_1 = ppjInactive;
    this.rfx_1 = ppjStatus;
    this.sfx_1 = ppjApprovalTiemstamp;
    this.tfx_1 = ppjApprovalIpAddr;
  }
  protoOf(PersonParentJoin).toString = function () {
    return 'PersonParentJoin(ppjUid=' + this.gfx_1.toString() + ', ppjPcsn=' + this.hfx_1.toString() + ', ppjLcsn=' + this.ifx_1.toString() + ', ppjLcb=' + this.jfx_1 + ', ppjLct=' + this.kfx_1.toString() + ', ppjParentPersonUid=' + this.lfx_1.toString() + ', ppjMinorPersonUid=' + this.mfx_1.toString() + ', ppjRelationship=' + this.nfx_1 + ', ppjEmail=' + this.ofx_1 + ', ppjPhone=' + this.pfx_1 + ', ppjInactive=' + this.qfx_1 + ', ppjStatus=' + this.rfx_1 + ', ppjApprovalTiemstamp=' + this.sfx_1.toString() + ', ppjApprovalIpAddr=' + this.tfx_1 + ')';
  };
  protoOf(PersonParentJoin).hashCode = function () {
    var result = this.gfx_1.hashCode();
    result = imul(result, 31) + this.hfx_1.hashCode() | 0;
    result = imul(result, 31) + this.ifx_1.hashCode() | 0;
    result = imul(result, 31) + this.jfx_1 | 0;
    result = imul(result, 31) + this.kfx_1.hashCode() | 0;
    result = imul(result, 31) + this.lfx_1.hashCode() | 0;
    result = imul(result, 31) + this.mfx_1.hashCode() | 0;
    result = imul(result, 31) + this.nfx_1 | 0;
    result = imul(result, 31) + (this.ofx_1 == null ? 0 : getStringHashCode(this.ofx_1)) | 0;
    result = imul(result, 31) + (this.pfx_1 == null ? 0 : getStringHashCode(this.pfx_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.qfx_1) | 0;
    result = imul(result, 31) + this.rfx_1 | 0;
    result = imul(result, 31) + this.sfx_1.hashCode() | 0;
    result = imul(result, 31) + (this.tfx_1 == null ? 0 : getStringHashCode(this.tfx_1)) | 0;
    return result;
  };
  protoOf(PersonParentJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonParentJoin))
      return false;
    var tmp0_other_with_cast = other instanceof PersonParentJoin ? other : THROW_CCE();
    if (!this.gfx_1.equals(tmp0_other_with_cast.gfx_1))
      return false;
    if (!this.hfx_1.equals(tmp0_other_with_cast.hfx_1))
      return false;
    if (!this.ifx_1.equals(tmp0_other_with_cast.ifx_1))
      return false;
    if (!(this.jfx_1 === tmp0_other_with_cast.jfx_1))
      return false;
    if (!this.kfx_1.equals(tmp0_other_with_cast.kfx_1))
      return false;
    if (!this.lfx_1.equals(tmp0_other_with_cast.lfx_1))
      return false;
    if (!this.mfx_1.equals(tmp0_other_with_cast.mfx_1))
      return false;
    if (!(this.nfx_1 === tmp0_other_with_cast.nfx_1))
      return false;
    if (!(this.ofx_1 == tmp0_other_with_cast.ofx_1))
      return false;
    if (!(this.pfx_1 == tmp0_other_with_cast.pfx_1))
      return false;
    if (!(this.qfx_1 === tmp0_other_with_cast.qfx_1))
      return false;
    if (!(this.rfx_1 === tmp0_other_with_cast.rfx_1))
      return false;
    if (!this.sfx_1.equals(tmp0_other_with_cast.sfx_1))
      return false;
    if (!(this.tfx_1 == tmp0_other_with_cast.tfx_1))
      return false;
    return true;
  };
  function Companion_99() {
  }
  protoOf(Companion_99).s4x = function () {
    return $serializer_getInstance_95();
  };
  var Companion_instance_100;
  function Companion_getInstance_102() {
    return Companion_instance_100;
  }
  function $serializer_95() {
    $serializer_instance_95 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonParentJoinAndMinorPerson', this, 2);
    tmp0_serialDesc.y4l('personParentJoin', true);
    tmp0_serialDesc.y4l('minorPerson', true);
    this.vju_1 = tmp0_serialDesc;
  }
  protoOf($serializer_95).v4a = function () {
    return this.vju_1;
  };
  protoOf($serializer_95).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_94()), get_nullable($serializer_getInstance_89())];
  };
  protoOf($serializer_95).x4a = function (decoder) {
    var tmp0_desc = this.vju_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_94(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_89(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.b4f(tmp0_desc, 0, $serializer_getInstance_94(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, $serializer_getInstance_89(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return PersonParentJoinAndMinorPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_95).wju = function (encoder, value) {
    var tmp0_desc = this.vju_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.igi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 0, $serializer_getInstance_94(), value.igi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.jgi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, $serializer_getInstance_89(), value.jgi_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_95).w4a = function (encoder, value) {
    return this.wju(encoder, value instanceof PersonParentJoinAndMinorPerson ? value : THROW_CCE());
  };
  var $serializer_instance_95;
  function $serializer_getInstance_95() {
    if ($serializer_instance_95 == null)
      new $serializer_95();
    return $serializer_instance_95;
  }
  function PersonParentJoinAndMinorPerson_init_$Init$(seen1, personParentJoin, minorPerson, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_95().vju_1);
    }
    if (0 === (seen1 & 1))
      $this.igi_1 = null;
    else
      $this.igi_1 = personParentJoin;
    if (0 === (seen1 & 2))
      $this.jgi_1 = null;
    else
      $this.jgi_1 = minorPerson;
    return $this;
  }
  function PersonParentJoinAndMinorPerson_init_$Create$(seen1, personParentJoin, minorPerson, serializationConstructorMarker) {
    return PersonParentJoinAndMinorPerson_init_$Init$(seen1, personParentJoin, minorPerson, serializationConstructorMarker, objectCreate(protoOf(PersonParentJoinAndMinorPerson)));
  }
  function PersonParentJoinAndMinorPerson(personParentJoin, minorPerson) {
    personParentJoin = personParentJoin === VOID ? null : personParentJoin;
    minorPerson = minorPerson === VOID ? null : minorPerson;
    this.igi_1 = personParentJoin;
    this.jgi_1 = minorPerson;
  }
  protoOf(PersonParentJoinAndMinorPerson).xju = function (personParentJoin, minorPerson) {
    return new PersonParentJoinAndMinorPerson(personParentJoin, minorPerson);
  };
  protoOf(PersonParentJoinAndMinorPerson).yju = function (personParentJoin, minorPerson, $super) {
    personParentJoin = personParentJoin === VOID ? this.igi_1 : personParentJoin;
    minorPerson = minorPerson === VOID ? this.jgi_1 : minorPerson;
    return $super === VOID ? this.xju(personParentJoin, minorPerson) : $super.xju.call(this, personParentJoin, minorPerson);
  };
  protoOf(PersonParentJoinAndMinorPerson).toString = function () {
    return 'PersonParentJoinAndMinorPerson(personParentJoin=' + this.igi_1 + ', minorPerson=' + this.jgi_1 + ')';
  };
  protoOf(PersonParentJoinAndMinorPerson).hashCode = function () {
    var result = this.igi_1 == null ? 0 : this.igi_1.hashCode();
    result = imul(result, 31) + (this.jgi_1 == null ? 0 : this.jgi_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonParentJoinAndMinorPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonParentJoinAndMinorPerson))
      return false;
    var tmp0_other_with_cast = other instanceof PersonParentJoinAndMinorPerson ? other : THROW_CCE();
    if (!equals(this.igi_1, tmp0_other_with_cast.igi_1))
      return false;
    if (!equals(this.jgi_1, tmp0_other_with_cast.jgi_1))
      return false;
    return true;
  };
  function Companion_100() {
    this.zju_1 = 50;
  }
  protoOf(Companion_100).s4x = function () {
    return $serializer_getInstance_96();
  };
  var Companion_instance_101;
  function Companion_getInstance_103() {
    return Companion_instance_101;
  }
  function $serializer_96() {
    $serializer_instance_96 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonPicture', this, 6);
    tmp0_serialDesc.y4l('personPictureUid', true);
    tmp0_serialDesc.y4l('personPictureLct', true);
    tmp0_serialDesc.y4l('personPictureUri', true);
    tmp0_serialDesc.y4l('personPictureThumbnailUri', true);
    tmp0_serialDesc.y4l('fileSize', true);
    tmp0_serialDesc.y4l('personPictureActive', true);
    this.ajv_1 = tmp0_serialDesc;
  }
  protoOf($serializer_96).v4a = function () {
    return this.ajv_1;
  };
  protoOf($serializer_96).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_96).x4a = function (decoder) {
    var tmp0_desc = this.ajv_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_local5 = false;
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return PersonPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_96).bjv = function (encoder, value) {
    var tmp0_desc = this.ajv_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.v9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.v9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.w9c_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.w9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.x9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.x9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.y9c_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.y9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.z9c_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.z9c_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.a9d_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 5, value.a9d_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_96).w4a = function (encoder, value) {
    return this.bjv(encoder, value instanceof PersonPicture ? value : THROW_CCE());
  };
  var $serializer_instance_96;
  function $serializer_getInstance_96() {
    if ($serializer_instance_96 == null)
      new $serializer_96();
    return $serializer_instance_96;
  }
  function PersonPicture_init_$Init$(seen1, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_96().ajv_1);
    }
    if (0 === (seen1 & 1))
      $this.v9c_1 = new Long(0, 0);
    else
      $this.v9c_1 = personPictureUid;
    if (0 === (seen1 & 2))
      $this.w9c_1 = new Long(0, 0);
    else
      $this.w9c_1 = personPictureLct;
    if (0 === (seen1 & 4))
      $this.x9c_1 = null;
    else
      $this.x9c_1 = personPictureUri;
    if (0 === (seen1 & 8))
      $this.y9c_1 = null;
    else
      $this.y9c_1 = personPictureThumbnailUri;
    if (0 === (seen1 & 16))
      $this.z9c_1 = 0;
    else
      $this.z9c_1 = fileSize;
    if (0 === (seen1 & 32))
      $this.a9d_1 = true;
    else
      $this.a9d_1 = personPictureActive;
    return $this;
  }
  function PersonPicture_init_$Create$(seen1, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, serializationConstructorMarker) {
    return PersonPicture_init_$Init$(seen1, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, serializationConstructorMarker, objectCreate(protoOf(PersonPicture)));
  }
  function PersonPicture(personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) {
    personPictureUid = personPictureUid === VOID ? new Long(0, 0) : personPictureUid;
    personPictureLct = personPictureLct === VOID ? new Long(0, 0) : personPictureLct;
    personPictureUri = personPictureUri === VOID ? null : personPictureUri;
    personPictureThumbnailUri = personPictureThumbnailUri === VOID ? null : personPictureThumbnailUri;
    fileSize = fileSize === VOID ? 0 : fileSize;
    personPictureActive = personPictureActive === VOID ? true : personPictureActive;
    this.v9c_1 = personPictureUid;
    this.w9c_1 = personPictureLct;
    this.x9c_1 = personPictureUri;
    this.y9c_1 = personPictureThumbnailUri;
    this.z9c_1 = fileSize;
    this.a9d_1 = personPictureActive;
  }
  protoOf(PersonPicture).toString = function () {
    return 'PersonPicture(personPictureUid=' + this.v9c_1.toString() + ', personPictureLct=' + this.w9c_1.toString() + ', personPictureUri=' + this.x9c_1 + ', personPictureThumbnailUri=' + this.y9c_1 + ', fileSize=' + this.z9c_1 + ', personPictureActive=' + this.a9d_1 + ')';
  };
  protoOf(PersonPicture).hashCode = function () {
    var result = this.v9c_1.hashCode();
    result = imul(result, 31) + this.w9c_1.hashCode() | 0;
    result = imul(result, 31) + (this.x9c_1 == null ? 0 : getStringHashCode(this.x9c_1)) | 0;
    result = imul(result, 31) + (this.y9c_1 == null ? 0 : getStringHashCode(this.y9c_1)) | 0;
    result = imul(result, 31) + this.z9c_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.a9d_1) | 0;
    return result;
  };
  protoOf(PersonPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonPicture))
      return false;
    var tmp0_other_with_cast = other instanceof PersonPicture ? other : THROW_CCE();
    if (!this.v9c_1.equals(tmp0_other_with_cast.v9c_1))
      return false;
    if (!this.w9c_1.equals(tmp0_other_with_cast.w9c_1))
      return false;
    if (!(this.x9c_1 == tmp0_other_with_cast.x9c_1))
      return false;
    if (!(this.y9c_1 == tmp0_other_with_cast.y9c_1))
      return false;
    if (!(this.z9c_1 === tmp0_other_with_cast.z9c_1))
      return false;
    if (!(this.a9d_1 === tmp0_other_with_cast.a9d_1))
      return false;
    return true;
  };
  function Companion_101() {
    Companion_instance_102 = this;
    this.cjv_1 = 101;
    this.djv_1 = 300;
    this.ejv_1 = 301;
    this.fjv_1 = 302;
    this.gjv_1 = 304;
    this.hjv_1 = 306;
    this.ijv_1 = 307;
    this.jjv_1 = 308;
    this.kjv_1 = 309;
    this.ljv_1 = 0;
    this.mjv_1 = 800;
    this.njv_1 = 801;
    this.ojv_1 = 802;
    this.pjv_1 = 803;
    this.qjv_1 = 804;
    this.rjv_1 = 805;
    this.sjv_1 = new Long(100000, 0);
    this.tjv_1 = new Long(100001, 0);
    this.ujv_1 = new Long(100002, 0);
    this.vjv_1 = new Long(100003, 0);
    this.wjv_1 = new Long(100004, 0);
    this.xjv_1 = new Long(100005, 0);
    this.yjv_1 = 1;
    this.zjv_1 = 2;
    this.ajw_1 = 3;
    this.bjw_1 = 4;
    this.cjw_1 = 5;
    this.djw_1 = 6;
    this.ejw_1 = 7;
    this.fjw_1 = 8;
    this.gjw_1 = 9;
    this.hjw_1 = 10;
    this.ijw_1 = 11;
    this.jjw_1 = 12;
    var tmp = this;
    // Inline function 'kotlin.apply' call
    var this_0 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_0.ugu_1 = new Long(100000, 0);
    this_0.ggv_1 = 'Blank report';
    this_0.hgv_1 = 'Start ';
    this_0.kgv_1 = true;
    this_0.lgv_1 = 0;
    this_0.mgv_1 = 1;
    this_0.ngv_1 = 2;
    var tmp_0 = this_0;
    Companion_getInstance_106();
    Companion_getInstance_106();
    Companion_getInstance_106();
    tmp_0.igv_1 = trimIndent('                \n                        [{\n                          "reportSeriesUid": 0,\n                          "reportSeriesName": "Series 1",\n                          "reportSeriesYAxis": ' + 200 + ',\n                          "reportSeriesVisualType": ' + 100 + ',\n                          "reportSeriesSubGroup": ' + 0 + '\n                        }]\n                    ');
    var tmp_1 = this_0;
    // Inline function 'kotlin.apply' call
    var this_1 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_1.ugu_1 = new Long(100001, 0);
    this_1.ggv_1 = 'Content usage over time';
    this_1.hgv_1 = 'Total content ';
    this_1.wgu_1 = 306;
    this_1.kgv_1 = true;
    this_1.mgv_1 = 3;
    this_1.ngv_1 = 4;
    var tmp_2 = this_1;
    Companion_getInstance_106();
    Companion_getInstance_106();
    Companion_getInstance_106();
    tmp_2.igv_1 = trimIndent('                \n                        [{\n                          "reportSeriesUid": 0,\n                          "reportSeriesName": "Series 1",\n                          "reportSeriesYAxis": ' + 200 + ',\n                          "reportSeriesVisualType": ' + 100 + ',\n                          "reportSeriesSubGroup": ' + 0 + '\n                        }]\n                    ');
    var tmp_3 = this_1;
    // Inline function 'kotlin.apply' call
    var this_2 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_2.ugu_1 = new Long(100002, 0);
    this_2.ggv_1 = 'Unique content users over time';
    this_2.hgv_1 = 'Number of active users over time';
    this_2.wgu_1 = 302;
    this_2.kgv_1 = true;
    this_2.mgv_1 = 5;
    this_2.ngv_1 = 6;
    var tmp_4 = this_2;
    Companion_getInstance_106();
    Companion_getInstance_106();
    Companion_getInstance_106();
    tmp_4.igv_1 = trimIndent('                \n                        [{\n                         "reportSeriesUid": 0,\n                         "reportSeriesName": "Series 1",\n                         "reportSeriesYAxis": ' + 204 + ',\n                         "reportSeriesVisualType": ' + 100 + ',\n                         "reportSeriesSubGroup": ' + 0 + '\n                        }]\n                    ');
    var tmp_5 = this_2;
    // Inline function 'kotlin.apply' call
    var this_3 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_3.ugu_1 = new Long(100003, 0);
    this_3.ggv_1 = 'Attendance over time by class';
    this_3.hgv_1 = 'Percentage of students attending over time';
    this_3.kgv_1 = true;
    this_3.wgu_1 = 307;
    this_3.mgv_1 = 7;
    this_3.ngv_1 = 8;
    var tmp_6 = this_3;
    Companion_getInstance_106();
    Companion_getInstance_106();
    Companion_getInstance_106();
    tmp_6.igv_1 = trimIndent('                \n                        [{\n                         "reportSeriesUid": 0,\n                         "reportSeriesName": "Series 1",\n                         "reportSeriesYAxis": ' + 211 + ',\n                          "reportSeriesVisualType": ' + 100 + ',\n                          "reportSeriesSubGroup": ' + 0 + '\n                        }]\n                        ');
    var tmp_7 = this_3;
    // Inline function 'kotlin.apply' call
    var this_4 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_4.ugu_1 = new Long(100004, 0);
    this_4.ggv_1 = 'Content usage by class';
    this_4.hgv_1 = 'Total content usage duration subgroup by class';
    this_4.wgu_1 = 307;
    this_4.kgv_1 = true;
    this_4.mgv_1 = 9;
    this_4.ngv_1 = 10;
    var tmp_8 = this_4;
    Companion_getInstance_106();
    Companion_getInstance_106();
    Companion_getInstance_106();
    tmp_8.igv_1 = trimIndent('\n                        [{\n                            "reportSeriesUid ": 0,\n                            "reportSeriesName ": " Series 1",\n                            "reportSeriesYAxis": ' + 200 + ',\n                            "reportSeriesVisualType": ' + 100 + ',\n                            "reportSeriesSubGroup": ' + 0 + '\n                        }]\n                            ');
    var tmp_9 = this_4;
    // Inline function 'kotlin.apply' call
    var this_5 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_5.ugu_1 = new Long(100005, 0);
    this_5.ggv_1 = 'Content completion';
    this_5.hgv_1 = 'Number of students who have completed selected content';
    this_5.kgv_1 = true;
    this_5.wgu_1 = 304;
    this_5.mgv_1 = 11;
    this_5.ngv_1 = 12;
    var tmp_10 = this_5;
    Companion_getInstance_106();
    Companion_getInstance_106();
    Companion_getInstance_106();
    tmp_10.igv_1 = trimIndent('\n                            [{\n                                "reportSeriesUid": 0,\n                                "reportSeriesName": "Series 1",\n                                "reportSeriesYAxis": ' + 206 + ',\n                                "reportSeriesVisualType": ' + 100 + ',\n                                "reportSeriesSubGroup": ' + 0 + '\n                            }]\n                            ');
    tmp.kjw_1 = listOf_0([tmp_1, tmp_3, tmp_5, tmp_7, tmp_9, this_5]);
  }
  var Companion_instance_102;
  function Companion_getInstance_104() {
    if (Companion_instance_102 == null)
      new Companion_101();
    return Companion_instance_102;
  }
  function $serializer_97() {
    $serializer_instance_97 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Report', this, 24);
    tmp0_serialDesc.y4l('reportUid', true);
    tmp0_serialDesc.y4l('reportOwnerUid', true);
    tmp0_serialDesc.y4l('xAxis', true);
    tmp0_serialDesc.y4l('reportDateRangeSelection', true);
    tmp0_serialDesc.y4l('fromDate', true);
    tmp0_serialDesc.y4l('fromRelTo', true);
    tmp0_serialDesc.y4l('fromRelOffSet', true);
    tmp0_serialDesc.y4l('fromRelUnit', true);
    tmp0_serialDesc.y4l('toDate', true);
    tmp0_serialDesc.y4l('toRelTo', true);
    tmp0_serialDesc.y4l('toRelOffSet', true);
    tmp0_serialDesc.y4l('toRelUnit', true);
    tmp0_serialDesc.y4l('reportTitle', true);
    tmp0_serialDesc.y4l('reportDescription', true);
    tmp0_serialDesc.y4l('reportSeries', true);
    tmp0_serialDesc.y4l('reportInactive', true);
    tmp0_serialDesc.y4l('isTemplate', true);
    tmp0_serialDesc.y4l('priority', true);
    tmp0_serialDesc.y4l('reportTitleId', true);
    tmp0_serialDesc.y4l('reportDescId', true);
    tmp0_serialDesc.y4l('reportMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('reportLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('reportLastChangedBy', true);
    tmp0_serialDesc.y4l('reportLct', true);
    this.ljw_1 = tmp0_serialDesc;
  }
  protoOf($serializer_97).v4a = function () {
    return this.ljw_1;
  };
  protoOf($serializer_97).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_97).x4a = function (decoder) {
    var tmp0_desc = this.ljw_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0;
    var tmp11_local7 = 0;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = 0;
    var tmp16_local12 = null;
    var tmp17_local13 = null;
    var tmp18_local14 = null;
    var tmp19_local15 = false;
    var tmp20_local16 = false;
    var tmp21_local17 = 0;
    var tmp22_local18 = 0;
    var tmp23_local19 = 0;
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_input = decoder.n4e(tmp0_desc);
    if (tmp28_input.c4f()) {
      tmp4_local0 = tmp28_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp28_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp28_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp28_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp28_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp28_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp28_input.s4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp28_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp28_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp28_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp28_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp28_input.s4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp28_input.b4f(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp28_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp28_input.b4f(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp28_input.p4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp28_input.p4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp28_input.s4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp28_input.s4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp28_input.s4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp28_input.t4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp28_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp28_input.s4e(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp28_input.t4e(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp28_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp28_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp28_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp28_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp28_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp28_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp28_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp28_input.s4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp28_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp28_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp28_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp28_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp28_input.s4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp28_input.b4f(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp28_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp28_input.b4f(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp28_input.p4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp28_input.p4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp28_input.s4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp28_input.s4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp28_input.s4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp28_input.t4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp28_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp28_input.s4e(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp28_input.t4e(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp28_input.o4e(tmp0_desc);
    return Report_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, null);
  };
  protoOf($serializer_97).mjw = function (encoder, value) {
    var tmp0_desc = this.ljw_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ugu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ugu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.vgu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.vgu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.wgu_1 === 300)) {
      tmp1_output.w4f(tmp0_desc, 2, value.wgu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.xgu_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.xgu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.ygu_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.ygu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.zgu_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.zgu_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.agv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 6, value.agv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.bgv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.bgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.cgv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.cgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.dgv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.dgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.egv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 10, value.egv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.fgv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 11, value.fgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.ggv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 12, StringSerializer_getInstance(), value.ggv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.hgv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, StringSerializer_getInstance(), value.hgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.igv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 14, StringSerializer_getInstance(), value.igv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.jgv_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 15, value.jgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.kgv_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 16, value.kgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.lgv_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 17, value.lgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.mgv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 18, value.mgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.ngv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 19, value.ngv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !value.ogv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 20, value.ogv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.pgv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.pgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.qgv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 22, value.qgv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !value.rgv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 23, value.rgv_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_97).w4a = function (encoder, value) {
    return this.mjw(encoder, value instanceof Report ? value : THROW_CCE());
  };
  var $serializer_instance_97;
  function $serializer_getInstance_97() {
    if ($serializer_instance_97 == null)
      new $serializer_97();
    return $serializer_instance_97;
  }
  function Report_init_$Init$(seen1, reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_97().ljw_1);
    }
    if (0 === (seen1 & 1))
      $this.ugu_1 = new Long(0, 0);
    else
      $this.ugu_1 = reportUid;
    if (0 === (seen1 & 2))
      $this.vgu_1 = new Long(0, 0);
    else
      $this.vgu_1 = reportOwnerUid;
    if (0 === (seen1 & 4))
      $this.wgu_1 = 300;
    else
      $this.wgu_1 = xAxis;
    if (0 === (seen1 & 8))
      $this.xgu_1 = 0;
    else
      $this.xgu_1 = reportDateRangeSelection;
    if (0 === (seen1 & 16))
      $this.ygu_1 = new Long(0, 0);
    else
      $this.ygu_1 = fromDate;
    if (0 === (seen1 & 32))
      $this.zgu_1 = 0;
    else
      $this.zgu_1 = fromRelTo;
    if (0 === (seen1 & 64))
      $this.agv_1 = 0;
    else
      $this.agv_1 = fromRelOffSet;
    if (0 === (seen1 & 128))
      $this.bgv_1 = 0;
    else
      $this.bgv_1 = fromRelUnit;
    if (0 === (seen1 & 256))
      $this.cgv_1 = new Long(0, 0);
    else
      $this.cgv_1 = toDate;
    if (0 === (seen1 & 512))
      $this.dgv_1 = 0;
    else
      $this.dgv_1 = toRelTo;
    if (0 === (seen1 & 1024))
      $this.egv_1 = 0;
    else
      $this.egv_1 = toRelOffSet;
    if (0 === (seen1 & 2048))
      $this.fgv_1 = 0;
    else
      $this.fgv_1 = toRelUnit;
    if (0 === (seen1 & 4096))
      $this.ggv_1 = null;
    else
      $this.ggv_1 = reportTitle;
    if (0 === (seen1 & 8192))
      $this.hgv_1 = null;
    else
      $this.hgv_1 = reportDescription;
    if (0 === (seen1 & 16384))
      $this.igv_1 = null;
    else
      $this.igv_1 = reportSeries;
    if (0 === (seen1 & 32768))
      $this.jgv_1 = false;
    else
      $this.jgv_1 = reportInactive;
    if (0 === (seen1 & 65536))
      $this.kgv_1 = false;
    else
      $this.kgv_1 = isTemplate;
    if (0 === (seen1 & 131072))
      $this.lgv_1 = 1;
    else
      $this.lgv_1 = priority;
    if (0 === (seen1 & 262144))
      $this.mgv_1 = 0;
    else
      $this.mgv_1 = reportTitleId;
    if (0 === (seen1 & 524288))
      $this.ngv_1 = 0;
    else
      $this.ngv_1 = reportDescId;
    if (0 === (seen1 & 1048576))
      $this.ogv_1 = new Long(0, 0);
    else
      $this.ogv_1 = reportMasterChangeSeqNum;
    if (0 === (seen1 & 2097152))
      $this.pgv_1 = new Long(0, 0);
    else
      $this.pgv_1 = reportLocalChangeSeqNum;
    if (0 === (seen1 & 4194304))
      $this.qgv_1 = 0;
    else
      $this.qgv_1 = reportLastChangedBy;
    if (0 === (seen1 & 8388608))
      $this.rgv_1 = new Long(0, 0);
    else
      $this.rgv_1 = reportLct;
    return $this;
  }
  function Report_init_$Create$(seen1, reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct, serializationConstructorMarker) {
    return Report_init_$Init$(seen1, reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct, serializationConstructorMarker, objectCreate(protoOf(Report)));
  }
  function Report() {
    Companion_getInstance_104();
    this.ugu_1 = new Long(0, 0);
    this.vgu_1 = new Long(0, 0);
    this.wgu_1 = 300;
    this.xgu_1 = 0;
    this.ygu_1 = new Long(0, 0);
    this.zgu_1 = 0;
    this.agv_1 = 0;
    this.bgv_1 = 0;
    this.cgv_1 = new Long(0, 0);
    this.dgv_1 = 0;
    this.egv_1 = 0;
    this.fgv_1 = 0;
    this.ggv_1 = null;
    this.hgv_1 = null;
    this.igv_1 = null;
    this.jgv_1 = false;
    this.kgv_1 = false;
    this.lgv_1 = 1;
    this.mgv_1 = 0;
    this.ngv_1 = 0;
    this.ogv_1 = new Long(0, 0);
    this.pgv_1 = new Long(0, 0);
    this.qgv_1 = 0;
    this.rgv_1 = new Long(0, 0);
  }
  protoOf(Report).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Report))
      THROW_CCE();
    if (!this.ugu_1.equals(other.ugu_1))
      return false;
    if (!this.vgu_1.equals(other.vgu_1))
      return false;
    if (!(this.wgu_1 === other.wgu_1))
      return false;
    if (!this.ygu_1.equals(other.ygu_1))
      return false;
    if (!(this.zgu_1 === other.zgu_1))
      return false;
    if (!(this.agv_1 === other.agv_1))
      return false;
    if (!(this.bgv_1 === other.bgv_1))
      return false;
    if (!this.cgv_1.equals(other.cgv_1))
      return false;
    if (!(this.dgv_1 === other.dgv_1))
      return false;
    if (!(this.egv_1 === other.egv_1))
      return false;
    if (!(this.fgv_1 === other.fgv_1))
      return false;
    if (!(this.ggv_1 == other.ggv_1))
      return false;
    if (!(this.hgv_1 == other.hgv_1))
      return false;
    if (!(this.igv_1 == other.igv_1))
      return false;
    if (!(this.jgv_1 === other.jgv_1))
      return false;
    if (!(this.kgv_1 === other.kgv_1))
      return false;
    if (!(this.lgv_1 === other.lgv_1))
      return false;
    if (!this.ogv_1.equals(other.ogv_1))
      return false;
    if (!this.pgv_1.equals(other.pgv_1))
      return false;
    if (!(this.qgv_1 === other.qgv_1))
      return false;
    return true;
  };
  protoOf(Report).hashCode = function () {
    var result = this.ugu_1.hashCode();
    result = imul(31, result) + this.vgu_1.hashCode() | 0;
    result = imul(31, result) + this.wgu_1 | 0;
    result = imul(31, result) + this.ygu_1.hashCode() | 0;
    result = imul(31, result) + this.zgu_1 | 0;
    result = imul(31, result) + this.agv_1 | 0;
    result = imul(31, result) + this.bgv_1 | 0;
    result = imul(31, result) + this.cgv_1.hashCode() | 0;
    result = imul(31, result) + this.dgv_1 | 0;
    result = imul(31, result) + this.egv_1 | 0;
    result = imul(31, result) + this.fgv_1 | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.ggv_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.hgv_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.igv_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    result = imul(31, result) + getBooleanHashCode(this.jgv_1) | 0;
    result = imul(31, result) + getBooleanHashCode(this.kgv_1) | 0;
    result = imul(31, result) + this.lgv_1 | 0;
    result = imul(31, result) + this.ogv_1.hashCode() | 0;
    result = imul(31, result) + this.pgv_1.hashCode() | 0;
    result = imul(31, result) + this.qgv_1 | 0;
    return result;
  };
  function Companion_102() {
    this.njw_1 = 100;
    this.ojw_1 = 101;
    this.pjw_1 = 102;
    this.qjw_1 = 103;
    this.rjw_1 = 104;
    this.sjw_1 = 105;
    this.tjw_1 = 106;
    this.ujw_1 = 107;
    this.vjw_1 = 200;
    this.wjw_1 = 201;
    this.xjw_1 = 202;
    this.yjw_1 = 203;
    this.zjw_1 = 205;
    this.ajx_1 = 206;
    this.bjx_1 = 207;
  }
  var Companion_instance_103;
  function Companion_getInstance_105() {
    return Companion_instance_103;
  }
  function $serializer_98() {
    $serializer_instance_98 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ReportFilter', this, 8);
    tmp0_serialDesc.y4l('reportFilterUid', true);
    tmp0_serialDesc.y4l('reportFilterSeriesUid', true);
    tmp0_serialDesc.y4l('reportFilterField', true);
    tmp0_serialDesc.y4l('reportFilterCondition', true);
    tmp0_serialDesc.y4l('reportFilterValue', true);
    tmp0_serialDesc.y4l('reportFilterDropDownValue', true);
    tmp0_serialDesc.y4l('reportFilterValueBetweenX', true);
    tmp0_serialDesc.y4l('reportFilterValueBetweenY', true);
    this.cjx_1 = tmp0_serialDesc;
  }
  protoOf($serializer_98).v4a = function () {
    return this.cjx_1;
  };
  protoOf($serializer_98).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_98).x4a = function (decoder) {
    var tmp0_desc = this.cjx_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = 0;
    var tmp8_local4 = null;
    var tmp9_local5 = 0;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_input = decoder.n4e(tmp0_desc);
    if (tmp12_input.c4f()) {
      tmp4_local0 = tmp12_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.o4e(tmp0_desc);
    return ReportFilter_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_98).djx = function (encoder, value) {
    var tmp0_desc = this.cjx_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.ej6_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.ej6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.fj6_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.fj6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.gj6_1 === 100)) {
      tmp1_output.w4f(tmp0_desc, 2, value.gj6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.hj6_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.hj6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.ij6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.ij6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.jj6_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.jj6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.kj6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.kj6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.lj6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 7, StringSerializer_getInstance(), value.lj6_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_98).w4a = function (encoder, value) {
    return this.djx(encoder, value instanceof ReportFilter ? value : THROW_CCE());
  };
  var $serializer_instance_98;
  function $serializer_getInstance_98() {
    if ($serializer_instance_98 == null)
      new $serializer_98();
    return $serializer_instance_98;
  }
  function ReportFilter_init_$Init$(seen1, reportFilterUid, reportFilterSeriesUid, reportFilterField, reportFilterCondition, reportFilterValue, reportFilterDropDownValue, reportFilterValueBetweenX, reportFilterValueBetweenY, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_98().cjx_1);
    }
    if (0 === (seen1 & 1))
      $this.ej6_1 = 0;
    else
      $this.ej6_1 = reportFilterUid;
    if (0 === (seen1 & 2))
      $this.fj6_1 = 0;
    else
      $this.fj6_1 = reportFilterSeriesUid;
    if (0 === (seen1 & 4))
      $this.gj6_1 = 100;
    else
      $this.gj6_1 = reportFilterField;
    if (0 === (seen1 & 8))
      $this.hj6_1 = 0;
    else
      $this.hj6_1 = reportFilterCondition;
    if (0 === (seen1 & 16))
      $this.ij6_1 = null;
    else
      $this.ij6_1 = reportFilterValue;
    if (0 === (seen1 & 32))
      $this.jj6_1 = 0;
    else
      $this.jj6_1 = reportFilterDropDownValue;
    if (0 === (seen1 & 64))
      $this.kj6_1 = null;
    else
      $this.kj6_1 = reportFilterValueBetweenX;
    if (0 === (seen1 & 128))
      $this.lj6_1 = null;
    else
      $this.lj6_1 = reportFilterValueBetweenY;
    return $this;
  }
  function ReportFilter_init_$Create$(seen1, reportFilterUid, reportFilterSeriesUid, reportFilterField, reportFilterCondition, reportFilterValue, reportFilterDropDownValue, reportFilterValueBetweenX, reportFilterValueBetweenY, serializationConstructorMarker) {
    return ReportFilter_init_$Init$(seen1, reportFilterUid, reportFilterSeriesUid, reportFilterField, reportFilterCondition, reportFilterValue, reportFilterDropDownValue, reportFilterValueBetweenX, reportFilterValueBetweenY, serializationConstructorMarker, objectCreate(protoOf(ReportFilter)));
  }
  function ReportFilter() {
    this.ej6_1 = 0;
    this.fj6_1 = 0;
    this.gj6_1 = 100;
    this.hj6_1 = 0;
    this.ij6_1 = null;
    this.jj6_1 = 0;
    this.kj6_1 = null;
    this.lj6_1 = null;
  }
  protoOf(ReportFilter).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ReportFilter))
      THROW_CCE();
    if (!(this.ej6_1 === other.ej6_1))
      return false;
    if (!(this.fj6_1 === other.fj6_1))
      return false;
    if (!(this.gj6_1 === other.gj6_1))
      return false;
    if (!(this.hj6_1 === other.hj6_1))
      return false;
    if (!(this.ij6_1 == other.ij6_1))
      return false;
    if (!(this.jj6_1 === other.jj6_1))
      return false;
    if (!(this.kj6_1 == other.kj6_1))
      return false;
    if (!(this.lj6_1 == other.lj6_1))
      return false;
    return true;
  };
  protoOf(ReportFilter).hashCode = function () {
    var result = this.ej6_1;
    result = imul(31, result) + this.fj6_1 | 0;
    result = imul(31, result) + this.gj6_1 | 0;
    result = imul(31, result) + this.hj6_1 | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.ij6_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + this.jj6_1 | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.kj6_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.lj6_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    return result;
  };
  function Companion_103() {
    Companion_instance_104 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.ejx_1 = [null, null, null, null, null, new ArrayListSerializer($serializer_getInstance_98())];
    this.fjx_1 = 100;
    this.gjx_1 = 101;
    this.hjx_1 = 100;
    this.ijx_1 = 101;
    this.jjx_1 = 200;
    this.kjx_1 = 201;
    this.ljx_1 = 202;
    this.mjx_1 = 203;
    this.njx_1 = 204;
    this.ojx_1 = 205;
    this.pjx_1 = 206;
    this.qjx_1 = 207;
    this.rjx_1 = 208;
    this.sjx_1 = 209;
    this.tjx_1 = 210;
    this.ujx_1 = 211;
    this.vjx_1 = 212;
    this.wjx_1 = 213;
    this.xjx_1 = 214;
    this.yjx_1 = 0;
  }
  var Companion_instance_104;
  function Companion_getInstance_106() {
    if (Companion_instance_104 == null)
      new Companion_103();
    return Companion_instance_104;
  }
  function Companion_104() {
    this.zjx_1 = 21;
    this.ajy_1 = 1;
    this.bjy_1 = 2;
    this.cjy_1 = 3;
    this.djy_1 = 4;
    this.ejy_1 = 5;
    this.fjy_1 = 1;
    this.gjy_1 = 2;
    this.hjy_1 = 3;
    this.ijy_1 = 4;
    this.jjy_1 = 5;
    this.kjy_1 = 6;
    this.ljy_1 = 7;
    this.mjy_1 = 1;
    this.njy_1 = 2;
    this.ojy_1 = 3;
    this.pjy_1 = 4;
    this.qjy_1 = 5;
    this.rjy_1 = 6;
    this.sjy_1 = 7;
    this.tjy_1 = 8;
    this.ujy_1 = 9;
    this.vjy_1 = 10;
    this.wjy_1 = 11;
    this.xjy_1 = 12;
  }
  protoOf(Companion_104).s4x = function () {
    return $serializer_getInstance_99();
  };
  var Companion_instance_105;
  function Companion_getInstance_107() {
    return Companion_instance_105;
  }
  function $serializer_99() {
    $serializer_instance_99 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Schedule', this, 13);
    tmp0_serialDesc.y4l('scheduleUid', true);
    tmp0_serialDesc.y4l('sceduleStartTime', true);
    tmp0_serialDesc.y4l('scheduleEndTime', true);
    tmp0_serialDesc.y4l('scheduleDay', true);
    tmp0_serialDesc.y4l('scheduleMonth', true);
    tmp0_serialDesc.y4l('scheduleFrequency', true);
    tmp0_serialDesc.y4l('umCalendarUid', true);
    tmp0_serialDesc.y4l('scheduleClazzUid', true);
    tmp0_serialDesc.y4l('scheduleMasterChangeSeqNum', true);
    tmp0_serialDesc.y4l('scheduleLocalChangeSeqNum', true);
    tmp0_serialDesc.y4l('scheduleLastChangedBy', true);
    tmp0_serialDesc.y4l('scheduleLastChangedTime', true);
    tmp0_serialDesc.y4l('scheduleActive', true);
    this.yjy_1 = tmp0_serialDesc;
  }
  protoOf($serializer_99).v4a = function () {
    return this.yjy_1;
  };
  protoOf($serializer_99).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_99).x4a = function (decoder) {
    var tmp0_desc = this.yjy_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = 0;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = false;
    var tmp17_input = decoder.n4e(tmp0_desc);
    if (tmp17_input.c4f()) {
      tmp4_local0 = tmp17_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp17_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp17_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp17_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp17_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp17_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp17_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp17_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp17_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp17_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp17_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp17_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp17_input.p4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp17_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp17_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp17_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp17_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp17_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp17_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp17_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp17_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp17_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp17_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp17_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp17_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp17_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp17_input.p4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp17_input.o4e(tmp0_desc);
    return Schedule_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, null);
  };
  protoOf($serializer_99).zjy = function (encoder, value) {
    var tmp0_desc = this.yjy_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.hgy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.hgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.igy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.igy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.jgy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.jgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.kgy_1 === Companion_instance_105.fjy_1)) {
      tmp1_output.w4f(tmp0_desc, 3, value.kgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.lgy_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.lgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.mgy_1 === Companion_instance_105.bjy_1)) {
      tmp1_output.w4f(tmp0_desc, 5, value.mgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.ngy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.ngy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.ogy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.ogy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.pgy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.pgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.qgy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.qgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.rgy_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 10, value.rgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.sgy_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.sgy_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.tgy_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 12, value.tgy_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_99).w4a = function (encoder, value) {
    return this.zjy(encoder, value instanceof Schedule ? value : THROW_CCE());
  };
  var $serializer_instance_99;
  function $serializer_getInstance_99() {
    if ($serializer_instance_99 == null)
      new $serializer_99();
    return $serializer_instance_99;
  }
  function Schedule_init_$Init$(seen1, scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_99().yjy_1);
    }
    if (0 === (seen1 & 1))
      $this.hgy_1 = new Long(0, 0);
    else
      $this.hgy_1 = scheduleUid;
    if (0 === (seen1 & 2))
      $this.igy_1 = new Long(0, 0);
    else
      $this.igy_1 = sceduleStartTime;
    if (0 === (seen1 & 4))
      $this.jgy_1 = new Long(0, 0);
    else
      $this.jgy_1 = scheduleEndTime;
    if (0 === (seen1 & 8))
      $this.kgy_1 = Companion_instance_105.fjy_1;
    else
      $this.kgy_1 = scheduleDay;
    if (0 === (seen1 & 16))
      $this.lgy_1 = 0;
    else
      $this.lgy_1 = scheduleMonth;
    if (0 === (seen1 & 32))
      $this.mgy_1 = Companion_instance_105.bjy_1;
    else
      $this.mgy_1 = scheduleFrequency;
    if (0 === (seen1 & 64))
      $this.ngy_1 = new Long(0, 0);
    else
      $this.ngy_1 = umCalendarUid;
    if (0 === (seen1 & 128))
      $this.ogy_1 = new Long(0, 0);
    else
      $this.ogy_1 = scheduleClazzUid;
    if (0 === (seen1 & 256))
      $this.pgy_1 = new Long(0, 0);
    else
      $this.pgy_1 = scheduleMasterChangeSeqNum;
    if (0 === (seen1 & 512))
      $this.qgy_1 = new Long(0, 0);
    else
      $this.qgy_1 = scheduleLocalChangeSeqNum;
    if (0 === (seen1 & 1024))
      $this.rgy_1 = 0;
    else
      $this.rgy_1 = scheduleLastChangedBy;
    if (0 === (seen1 & 2048))
      $this.sgy_1 = new Long(0, 0);
    else
      $this.sgy_1 = scheduleLastChangedTime;
    if (0 === (seen1 & 4096))
      $this.tgy_1 = true;
    else
      $this.tgy_1 = scheduleActive;
    return $this;
  }
  function Schedule_init_$Create$(seen1, scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive, serializationConstructorMarker) {
    return Schedule_init_$Init$(seen1, scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive, serializationConstructorMarker, objectCreate(protoOf(Schedule)));
  }
  function Schedule() {
    this.hgy_1 = new Long(0, 0);
    this.igy_1 = new Long(0, 0);
    this.jgy_1 = new Long(0, 0);
    this.kgy_1 = Companion_instance_105.fjy_1;
    this.lgy_1 = 0;
    this.mgy_1 = Companion_instance_105.bjy_1;
    this.ngy_1 = new Long(0, 0);
    this.ogy_1 = new Long(0, 0);
    this.pgy_1 = new Long(0, 0);
    this.qgy_1 = new Long(0, 0);
    this.rgy_1 = 0;
    this.sgy_1 = new Long(0, 0);
    this.tgy_1 = true;
  }
  protoOf(Schedule).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Schedule))
      THROW_CCE();
    if (!this.hgy_1.equals(other.hgy_1))
      return false;
    if (!this.igy_1.equals(other.igy_1))
      return false;
    if (!this.jgy_1.equals(other.jgy_1))
      return false;
    if (!(this.kgy_1 === other.kgy_1))
      return false;
    if (!(this.lgy_1 === other.lgy_1))
      return false;
    if (!(this.mgy_1 === other.mgy_1))
      return false;
    if (!this.ngy_1.equals(other.ngy_1))
      return false;
    if (!this.ogy_1.equals(other.ogy_1))
      return false;
    if (!this.pgy_1.equals(other.pgy_1))
      return false;
    if (!this.qgy_1.equals(other.qgy_1))
      return false;
    if (!(this.rgy_1 === other.rgy_1))
      return false;
    if (!(this.tgy_1 === other.tgy_1))
      return false;
    return true;
  };
  protoOf(Schedule).hashCode = function () {
    var result = this.hgy_1.hashCode();
    result = imul(31, result) + this.igy_1.hashCode() | 0;
    result = imul(31, result) + this.jgy_1.hashCode() | 0;
    result = imul(31, result) + this.kgy_1 | 0;
    result = imul(31, result) + this.lgy_1 | 0;
    result = imul(31, result) + this.mgy_1 | 0;
    result = imul(31, result) + this.ngy_1.hashCode() | 0;
    result = imul(31, result) + this.ogy_1.hashCode() | 0;
    result = imul(31, result) + this.pgy_1.hashCode() | 0;
    result = imul(31, result) + this.qgy_1.hashCode() | 0;
    result = imul(31, result) + this.rgy_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.tgy_1) | 0;
    return result;
  };
  function Companion_105() {
    Companion_instance_106 = this;
    this.ajz_1 = 48;
    this.bjz_1 = -2;
    this.cjz_1 = new Long(-2, -1);
  }
  var Companion_instance_106;
  function Companion_getInstance_108() {
    if (Companion_instance_106 == null)
      new Companion_105();
    return Companion_instance_106;
  }
  function $serializer_100() {
    $serializer_instance_100 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ScopedGrant', this, 11);
    tmp0_serialDesc.y4l('sgUid', true);
    tmp0_serialDesc.y4l('sgPcsn', true);
    tmp0_serialDesc.y4l('sgLcsn', true);
    tmp0_serialDesc.y4l('sgLcb', true);
    tmp0_serialDesc.y4l('sgLct', true);
    tmp0_serialDesc.y4l('sgTableId', true);
    tmp0_serialDesc.y4l('sgEntityUid', true);
    tmp0_serialDesc.y4l('sgPermissions', true);
    tmp0_serialDesc.y4l('sgGroupUid', true);
    tmp0_serialDesc.y4l('sgIndex', true);
    tmp0_serialDesc.y4l('sgFlags', true);
    this.djz_1 = tmp0_serialDesc;
  }
  protoOf($serializer_100).v4a = function () {
    return this.djz_1;
  };
  protoOf($serializer_100).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_100).x4a = function (decoder) {
    var tmp0_desc = this.djz_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return ScopedGrant_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_100).ejz = function (encoder, value) {
    var tmp0_desc = this.djz_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.dh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.dh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.eh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.eh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.fh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.fh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.gh4_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.gh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.hh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.hh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ih4_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.ih4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.jh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.jh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.kh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.kh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.lh4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.lh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.mh4_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.mh4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.nh4_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 10, value.nh4_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_100).w4a = function (encoder, value) {
    return this.ejz(encoder, value instanceof ScopedGrant ? value : THROW_CCE());
  };
  var $serializer_instance_100;
  function $serializer_getInstance_100() {
    if ($serializer_instance_100 == null)
      new $serializer_100();
    return $serializer_instance_100;
  }
  function ScopedGrant_init_$Init$(seen1, sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_100().djz_1);
    }
    if (0 === (seen1 & 1))
      $this.dh4_1 = new Long(0, 0);
    else
      $this.dh4_1 = sgUid;
    if (0 === (seen1 & 2))
      $this.eh4_1 = new Long(0, 0);
    else
      $this.eh4_1 = sgPcsn;
    if (0 === (seen1 & 4))
      $this.fh4_1 = new Long(0, 0);
    else
      $this.fh4_1 = sgLcsn;
    if (0 === (seen1 & 8))
      $this.gh4_1 = 0;
    else
      $this.gh4_1 = sgLcb;
    if (0 === (seen1 & 16))
      $this.hh4_1 = new Long(0, 0);
    else
      $this.hh4_1 = sgLct;
    if (0 === (seen1 & 32))
      $this.ih4_1 = 0;
    else
      $this.ih4_1 = sgTableId;
    if (0 === (seen1 & 64))
      $this.jh4_1 = new Long(0, 0);
    else
      $this.jh4_1 = sgEntityUid;
    if (0 === (seen1 & 128))
      $this.kh4_1 = new Long(0, 0);
    else
      $this.kh4_1 = sgPermissions;
    if (0 === (seen1 & 256))
      $this.lh4_1 = new Long(0, 0);
    else
      $this.lh4_1 = sgGroupUid;
    if (0 === (seen1 & 512))
      $this.mh4_1 = 0;
    else
      $this.mh4_1 = sgIndex;
    if (0 === (seen1 & 1024))
      $this.nh4_1 = 0;
    else
      $this.nh4_1 = sgFlags;
    return $this;
  }
  function ScopedGrant_init_$Create$(seen1, sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags, serializationConstructorMarker) {
    return ScopedGrant_init_$Init$(seen1, sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags, serializationConstructorMarker, objectCreate(protoOf(ScopedGrant)));
  }
  function ScopedGrant() {
    Companion_getInstance_108();
    this.dh4_1 = new Long(0, 0);
    this.eh4_1 = new Long(0, 0);
    this.fh4_1 = new Long(0, 0);
    this.gh4_1 = 0;
    this.hh4_1 = new Long(0, 0);
    this.ih4_1 = 0;
    this.jh4_1 = new Long(0, 0);
    this.kh4_1 = new Long(0, 0);
    this.lh4_1 = new Long(0, 0);
    this.mh4_1 = 0;
    this.nh4_1 = 0;
  }
  function Companion_106() {
    this.fjz_1 = 189;
  }
  protoOf(Companion_106).s4x = function () {
    return $serializer_getInstance_101();
  };
  var Companion_instance_107;
  function Companion_getInstance_109() {
    return Companion_instance_107;
  }
  function $serializer_101() {
    $serializer_instance_101 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Site', this, 9);
    tmp0_serialDesc.y4l('siteUid', true);
    tmp0_serialDesc.y4l('sitePcsn', true);
    tmp0_serialDesc.y4l('siteLcsn', true);
    tmp0_serialDesc.y4l('siteLcb', true);
    tmp0_serialDesc.y4l('siteLct', true);
    tmp0_serialDesc.y4l('siteName', true);
    tmp0_serialDesc.y4l('guestLogin', true);
    tmp0_serialDesc.y4l('registrationAllowed', true);
    tmp0_serialDesc.y4l('authSalt', true);
    this.gjz_1 = tmp0_serialDesc;
  }
  protoOf($serializer_101).v4a = function () {
    return this.gjz_1;
  };
  protoOf($serializer_101).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_101).x4a = function (decoder) {
    var tmp0_desc = this.gjz_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = false;
    var tmp12_local8 = null;
    var tmp13_input = decoder.n4e(tmp0_desc);
    if (tmp13_input.c4f()) {
      tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.s4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.p4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.s4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.p4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.o4e(tmp0_desc);
    return Site_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_101).hjz = function (encoder, value) {
    var tmp0_desc = this.gjz_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ih6_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ih6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.jh6_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.jh6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.kh6_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.kh6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.lh6_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 3, value.lh6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.mh6_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.mh6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.nh6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.nh6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.oh6_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 6, value.oh6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.ph6_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 7, value.ph6_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.qh6_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 8, StringSerializer_getInstance(), value.qh6_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_101).w4a = function (encoder, value) {
    return this.hjz(encoder, value instanceof Site ? value : THROW_CCE());
  };
  var $serializer_instance_101;
  function $serializer_getInstance_101() {
    if ($serializer_instance_101 == null)
      new $serializer_101();
    return $serializer_instance_101;
  }
  function Site_init_$Init$(seen1, siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_101().gjz_1);
    }
    if (0 === (seen1 & 1))
      $this.ih6_1 = new Long(0, 0);
    else
      $this.ih6_1 = siteUid;
    if (0 === (seen1 & 2))
      $this.jh6_1 = new Long(0, 0);
    else
      $this.jh6_1 = sitePcsn;
    if (0 === (seen1 & 4))
      $this.kh6_1 = new Long(0, 0);
    else
      $this.kh6_1 = siteLcsn;
    if (0 === (seen1 & 8))
      $this.lh6_1 = 0;
    else
      $this.lh6_1 = siteLcb;
    if (0 === (seen1 & 16))
      $this.mh6_1 = new Long(0, 0);
    else
      $this.mh6_1 = siteLct;
    if (0 === (seen1 & 32))
      $this.nh6_1 = null;
    else
      $this.nh6_1 = siteName;
    if (0 === (seen1 & 64))
      $this.oh6_1 = true;
    else
      $this.oh6_1 = guestLogin;
    if (0 === (seen1 & 128))
      $this.ph6_1 = true;
    else
      $this.ph6_1 = registrationAllowed;
    if (0 === (seen1 & 256))
      $this.qh6_1 = null;
    else
      $this.qh6_1 = authSalt;
    return $this;
  }
  function Site_init_$Create$(seen1, siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt, serializationConstructorMarker) {
    return Site_init_$Init$(seen1, siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt, serializationConstructorMarker, objectCreate(protoOf(Site)));
  }
  function Site() {
    this.ih6_1 = new Long(0, 0);
    this.jh6_1 = new Long(0, 0);
    this.kh6_1 = new Long(0, 0);
    this.lh6_1 = 0;
    this.mh6_1 = new Long(0, 0);
    this.nh6_1 = null;
    this.oh6_1 = true;
    this.ph6_1 = true;
    this.qh6_1 = null;
  }
  function Companion_107() {
    this.ijz_1 = 272;
  }
  protoOf(Companion_107).s4x = function () {
    return $serializer_getInstance_102();
  };
  var Companion_instance_108;
  function Companion_getInstance_110() {
    return Companion_instance_108;
  }
  function $serializer_102() {
    $serializer_instance_102 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.SiteTerms', this, 9);
    tmp0_serialDesc.y4l('sTermsUid', true);
    tmp0_serialDesc.y4l('termsHtml', true);
    tmp0_serialDesc.y4l('sTermsLang', true);
    tmp0_serialDesc.y4l('sTermsLangUid', true);
    tmp0_serialDesc.y4l('sTermsActive', true);
    tmp0_serialDesc.y4l('sTermsLastChangedBy', true);
    tmp0_serialDesc.y4l('sTermsPrimaryCsn', true);
    tmp0_serialDesc.y4l('sTermsLocalCsn', true);
    tmp0_serialDesc.y4l('sTermsLct', true);
    this.jjz_1 = tmp0_serialDesc;
  }
  protoOf($serializer_102).v4a = function () {
    return this.jjz_1;
  };
  protoOf($serializer_102).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_102).x4a = function (decoder) {
    var tmp0_desc = this.jjz_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_input = decoder.n4e(tmp0_desc);
    if (tmp13_input.c4f()) {
      tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.o4e(tmp0_desc);
    return SiteTerms_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_102).kjz = function (encoder, value) {
    var tmp0_desc = this.jjz_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.vhb_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.vhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.whb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.whb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.xhb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.xhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.yhb_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.yhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.zhb_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 4, value.zhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ahc_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.ahc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.bhc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.bhc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.chc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.chc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.dhc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.dhc_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_102).w4a = function (encoder, value) {
    return this.kjz(encoder, value instanceof SiteTerms ? value : THROW_CCE());
  };
  var $serializer_instance_102;
  function $serializer_getInstance_102() {
    if ($serializer_instance_102 == null)
      new $serializer_102();
    return $serializer_instance_102;
  }
  function SiteTerms_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_102().jjz_1);
    }
    if (0 === (seen1 & 1))
      $this.vhb_1 = new Long(0, 0);
    else
      $this.vhb_1 = sTermsUid;
    if (0 === (seen1 & 2))
      $this.whb_1 = null;
    else
      $this.whb_1 = termsHtml;
    if (0 === (seen1 & 4))
      $this.xhb_1 = null;
    else
      $this.xhb_1 = sTermsLang;
    if (0 === (seen1 & 8))
      $this.yhb_1 = new Long(0, 0);
    else
      $this.yhb_1 = sTermsLangUid;
    if (0 === (seen1 & 16))
      $this.zhb_1 = true;
    else
      $this.zhb_1 = sTermsActive;
    if (0 === (seen1 & 32))
      $this.ahc_1 = 0;
    else
      $this.ahc_1 = sTermsLastChangedBy;
    if (0 === (seen1 & 64))
      $this.bhc_1 = new Long(0, 0);
    else
      $this.bhc_1 = sTermsPrimaryCsn;
    if (0 === (seen1 & 128))
      $this.chc_1 = new Long(0, 0);
    else
      $this.chc_1 = sTermsLocalCsn;
    if (0 === (seen1 & 256))
      $this.dhc_1 = new Long(0, 0);
    else
      $this.dhc_1 = sTermsLct;
    return $this;
  }
  function SiteTerms_init_$Create$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker) {
    return SiteTerms_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker, objectCreate(protoOf(SiteTerms)));
  }
  function SiteTerms() {
    this.vhb_1 = new Long(0, 0);
    this.whb_1 = null;
    this.xhb_1 = null;
    this.yhb_1 = new Long(0, 0);
    this.zhb_1 = true;
    this.ahc_1 = 0;
    this.bhc_1 = new Long(0, 0);
    this.chc_1 = new Long(0, 0);
    this.dhc_1 = new Long(0, 0);
  }
  function Companion_108() {
  }
  var Companion_instance_109;
  function Companion_getInstance_111() {
    return Companion_instance_109;
  }
  function $serializer_103() {
    $serializer_instance_103 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.SiteTermsWithLanguage', this, 10);
    tmp0_serialDesc.y4l('sTermsUid', true);
    tmp0_serialDesc.y4l('termsHtml', true);
    tmp0_serialDesc.y4l('sTermsLang', true);
    tmp0_serialDesc.y4l('sTermsLangUid', true);
    tmp0_serialDesc.y4l('sTermsActive', true);
    tmp0_serialDesc.y4l('sTermsLastChangedBy', true);
    tmp0_serialDesc.y4l('sTermsPrimaryCsn', true);
    tmp0_serialDesc.y4l('sTermsLocalCsn', true);
    tmp0_serialDesc.y4l('sTermsLct', true);
    tmp0_serialDesc.y4l('stLanguage', true);
    this.ljz_1 = tmp0_serialDesc;
  }
  protoOf($serializer_103).v4a = function () {
    return this.ljz_1;
  };
  protoOf($serializer_103).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_83())];
  };
  protoOf($serializer_103).x4a = function (decoder) {
    var tmp0_desc = this.ljz_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = null;
    var tmp14_input = decoder.n4e(tmp0_desc);
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.b4f(tmp0_desc, 9, $serializer_getInstance_83(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.b4f(tmp0_desc, 9, $serializer_getInstance_83(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return SiteTermsWithLanguage_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_103).mjz = function (encoder, value) {
    var tmp0_desc = this.ljz_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.vhb_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.vhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.whb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.whb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.xhb_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.xhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.yhb_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.yhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.zhb_1 === true)) {
      tmp1_output.t4f(tmp0_desc, 4, value.zhb_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ahc_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.ahc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.bhc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.bhc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.chc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.chc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.dhc_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.dhc_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.wjz_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 9, $serializer_getInstance_83(), value.wjz_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_103).w4a = function (encoder, value) {
    return this.mjz(encoder, value instanceof SiteTermsWithLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_103;
  function $serializer_getInstance_103() {
    if ($serializer_instance_103 == null)
      new $serializer_103();
    return $serializer_instance_103;
  }
  function SiteTermsWithLanguage_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, stLanguage, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_103().ljz_1);
    }
    SiteTerms_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 512))
      $this.wjz_1 = null;
    else
      $this.wjz_1 = stLanguage;
    return $this;
  }
  function SiteTermsWithLanguage_init_$Create$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, stLanguage, serializationConstructorMarker) {
    return SiteTermsWithLanguage_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, stLanguage, serializationConstructorMarker, objectCreate(protoOf(SiteTermsWithLanguage)));
  }
  function SiteTermsWithLanguage() {
    SiteTerms.call(this);
    this.wjz_1 = null;
  }
  function Companion_109() {
    this.xjz_1 = 471;
  }
  var Companion_instance_110;
  function Companion_getInstance_112() {
    return Companion_instance_110;
  }
  function $serializer_104() {
    $serializer_instance_104 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.StudentResult', this, 21);
    tmp0_serialDesc.y4l('srUid', true);
    tmp0_serialDesc.y4l('srSourcedId', true);
    tmp0_serialDesc.y4l('srCourseBlockUid', true);
    tmp0_serialDesc.y4l('srLineItemSourcedId', true);
    tmp0_serialDesc.y4l('srLineItemHref', true);
    tmp0_serialDesc.y4l('srClazzUid', true);
    tmp0_serialDesc.y4l('srAssignmentUid', true);
    tmp0_serialDesc.y4l('srStatus', true);
    tmp0_serialDesc.y4l('srMetaData', true);
    tmp0_serialDesc.y4l('srStudentPersonUid', true);
    tmp0_serialDesc.y4l('srStudentPersonSourcedId', true);
    tmp0_serialDesc.y4l('srStudentGroupId', true);
    tmp0_serialDesc.y4l('srMarkerPersonUid', true);
    tmp0_serialDesc.y4l('srMarkerGroupId', true);
    tmp0_serialDesc.y4l('srScoreStatus', true);
    tmp0_serialDesc.y4l('srScore', true);
    tmp0_serialDesc.y4l('srScoreDate', true);
    tmp0_serialDesc.y4l('srLastModified', true);
    tmp0_serialDesc.y4l('srComment', true);
    tmp0_serialDesc.y4l('srAppId', true);
    tmp0_serialDesc.y4l('srDeleted', true);
    this.yjz_1 = tmp0_serialDesc;
  }
  protoOf($serializer_104).v4a = function () {
    return this.yjz_1;
  };
  protoOf($serializer_104).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_104).x4a = function (decoder) {
    var tmp0_desc = this.yjz_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = 0;
    var tmp12_local8 = null;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = null;
    var tmp15_local11 = 0;
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = 0;
    var tmp18_local14 = 0;
    var tmp19_local15 = 0.0;
    var tmp20_local16 = new Long(0, 0);
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = null;
    var tmp24_local20 = false;
    var tmp25_input = decoder.n4e(tmp0_desc);
    if (tmp25_input.c4f()) {
      tmp4_local0 = tmp25_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp25_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp25_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp25_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp25_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp25_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp25_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp25_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp25_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp25_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp25_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp25_input.s4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp25_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp25_input.s4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp25_input.s4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp25_input.u4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp25_input.t4e(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp25_input.t4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp25_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp25_input.b4f(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp25_input.p4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp25_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp25_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp25_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp25_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp25_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp25_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp25_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp25_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp25_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp25_input.b4f(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp25_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp25_input.b4f(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp25_input.s4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp25_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp25_input.s4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp25_input.s4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp25_input.u4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp25_input.t4e(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp25_input.t4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp25_input.b4f(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp25_input.b4f(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp25_input.p4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp25_input.o4e(tmp0_desc);
    return StudentResult_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, null);
  };
  protoOf($serializer_104).zjz = function (encoder, value) {
    var tmp0_desc = this.yjz_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.bhi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.bhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.chi_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.chi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.dhi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.dhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ehi_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.ehi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.fhi_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.fhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.ghi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.ghi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.hhi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.hhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.ihi_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.ihi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.jhi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 8, StringSerializer_getInstance(), value.jhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.khi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.khi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.lhi_1 === '')) {
      tmp1_output.f4g(tmp0_desc, 10, StringSerializer_getInstance(), value.lhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.mhi_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 11, value.mhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.nhi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.nhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.ohi_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 13, value.ohi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.phi_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 14, value.phi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !equals(value.qhi_1, 0.0)) {
      tmp1_output.y4f(tmp0_desc, 15, value.qhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !value.rhi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 16, value.rhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !value.shi_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 17, value.shi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.thi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 18, StringSerializer_getInstance(), value.thi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !(value.uhi_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 19, StringSerializer_getInstance(), value.uhi_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !(value.vhi_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 20, value.vhi_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_104).w4a = function (encoder, value) {
    return this.zjz(encoder, value instanceof StudentResult ? value : THROW_CCE());
  };
  var $serializer_instance_104;
  function $serializer_getInstance_104() {
    if ($serializer_instance_104 == null)
      new $serializer_104();
    return $serializer_instance_104;
  }
  function StudentResult_init_$Init$(seen1, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_104().yjz_1);
    }
    if (0 === (seen1 & 1))
      $this.bhi_1 = new Long(0, 0);
    else
      $this.bhi_1 = srUid;
    if (0 === (seen1 & 2))
      $this.chi_1 = '';
    else
      $this.chi_1 = srSourcedId;
    if (0 === (seen1 & 4))
      $this.dhi_1 = new Long(0, 0);
    else
      $this.dhi_1 = srCourseBlockUid;
    if (0 === (seen1 & 8))
      $this.ehi_1 = '';
    else
      $this.ehi_1 = srLineItemSourcedId;
    if (0 === (seen1 & 16))
      $this.fhi_1 = '';
    else
      $this.fhi_1 = srLineItemHref;
    if (0 === (seen1 & 32))
      $this.ghi_1 = new Long(0, 0);
    else
      $this.ghi_1 = srClazzUid;
    if (0 === (seen1 & 64))
      $this.hhi_1 = new Long(0, 0);
    else
      $this.hhi_1 = srAssignmentUid;
    if (0 === (seen1 & 128))
      $this.ihi_1 = 0;
    else
      $this.ihi_1 = srStatus;
    if (0 === (seen1 & 256))
      $this.jhi_1 = null;
    else
      $this.jhi_1 = srMetaData;
    if (0 === (seen1 & 512))
      $this.khi_1 = new Long(0, 0);
    else
      $this.khi_1 = srStudentPersonUid;
    if (0 === (seen1 & 1024))
      $this.lhi_1 = '';
    else
      $this.lhi_1 = srStudentPersonSourcedId;
    if (0 === (seen1 & 2048))
      $this.mhi_1 = 0;
    else
      $this.mhi_1 = srStudentGroupId;
    if (0 === (seen1 & 4096))
      $this.nhi_1 = new Long(0, 0);
    else
      $this.nhi_1 = srMarkerPersonUid;
    if (0 === (seen1 & 8192))
      $this.ohi_1 = 0;
    else
      $this.ohi_1 = srMarkerGroupId;
    if (0 === (seen1 & 16384))
      $this.phi_1 = 0;
    else
      $this.phi_1 = srScoreStatus;
    if (0 === (seen1 & 32768))
      $this.qhi_1 = 0.0;
    else
      $this.qhi_1 = srScore;
    if (0 === (seen1 & 65536))
      $this.rhi_1 = new Long(0, 0);
    else
      $this.rhi_1 = srScoreDate;
    if (0 === (seen1 & 131072))
      $this.shi_1 = new Long(0, 0);
    else
      $this.shi_1 = srLastModified;
    if (0 === (seen1 & 262144))
      $this.thi_1 = null;
    else
      $this.thi_1 = srComment;
    if (0 === (seen1 & 524288))
      $this.uhi_1 = null;
    else
      $this.uhi_1 = srAppId;
    if (0 === (seen1 & 1048576))
      $this.vhi_1 = false;
    else
      $this.vhi_1 = srDeleted;
    return $this;
  }
  function StudentResult_init_$Create$(seen1, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, serializationConstructorMarker) {
    return StudentResult_init_$Init$(seen1, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, serializationConstructorMarker, objectCreate(protoOf(StudentResult)));
  }
  function StudentResult(srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) {
    srUid = srUid === VOID ? new Long(0, 0) : srUid;
    srSourcedId = srSourcedId === VOID ? '' : srSourcedId;
    srCourseBlockUid = srCourseBlockUid === VOID ? new Long(0, 0) : srCourseBlockUid;
    srLineItemSourcedId = srLineItemSourcedId === VOID ? '' : srLineItemSourcedId;
    srLineItemHref = srLineItemHref === VOID ? '' : srLineItemHref;
    srClazzUid = srClazzUid === VOID ? new Long(0, 0) : srClazzUid;
    srAssignmentUid = srAssignmentUid === VOID ? new Long(0, 0) : srAssignmentUid;
    srStatus = srStatus === VOID ? 0 : srStatus;
    srMetaData = srMetaData === VOID ? null : srMetaData;
    srStudentPersonUid = srStudentPersonUid === VOID ? new Long(0, 0) : srStudentPersonUid;
    srStudentPersonSourcedId = srStudentPersonSourcedId === VOID ? '' : srStudentPersonSourcedId;
    srStudentGroupId = srStudentGroupId === VOID ? 0 : srStudentGroupId;
    srMarkerPersonUid = srMarkerPersonUid === VOID ? new Long(0, 0) : srMarkerPersonUid;
    srMarkerGroupId = srMarkerGroupId === VOID ? 0 : srMarkerGroupId;
    srScoreStatus = srScoreStatus === VOID ? 0 : srScoreStatus;
    srScore = srScore === VOID ? 0.0 : srScore;
    srScoreDate = srScoreDate === VOID ? new Long(0, 0) : srScoreDate;
    srLastModified = srLastModified === VOID ? new Long(0, 0) : srLastModified;
    srComment = srComment === VOID ? null : srComment;
    srAppId = srAppId === VOID ? null : srAppId;
    srDeleted = srDeleted === VOID ? false : srDeleted;
    this.bhi_1 = srUid;
    this.chi_1 = srSourcedId;
    this.dhi_1 = srCourseBlockUid;
    this.ehi_1 = srLineItemSourcedId;
    this.fhi_1 = srLineItemHref;
    this.ghi_1 = srClazzUid;
    this.hhi_1 = srAssignmentUid;
    this.ihi_1 = srStatus;
    this.jhi_1 = srMetaData;
    this.khi_1 = srStudentPersonUid;
    this.lhi_1 = srStudentPersonSourcedId;
    this.mhi_1 = srStudentGroupId;
    this.nhi_1 = srMarkerPersonUid;
    this.ohi_1 = srMarkerGroupId;
    this.phi_1 = srScoreStatus;
    this.qhi_1 = srScore;
    this.rhi_1 = srScoreDate;
    this.shi_1 = srLastModified;
    this.thi_1 = srComment;
    this.uhi_1 = srAppId;
    this.vhi_1 = srDeleted;
  }
  protoOf(StudentResult).toString = function () {
    return 'StudentResult(srUid=' + this.bhi_1.toString() + ', srSourcedId=' + this.chi_1 + ', srCourseBlockUid=' + this.dhi_1.toString() + ', srLineItemSourcedId=' + this.ehi_1 + ', srLineItemHref=' + this.fhi_1 + ', srClazzUid=' + this.ghi_1.toString() + ', srAssignmentUid=' + this.hhi_1.toString() + ', srStatus=' + this.ihi_1 + ', srMetaData=' + this.jhi_1 + ', srStudentPersonUid=' + this.khi_1.toString() + ', srStudentPersonSourcedId=' + this.lhi_1 + ', srStudentGroupId=' + this.mhi_1 + ', srMarkerPersonUid=' + this.nhi_1.toString() + ', srMarkerGroupId=' + this.ohi_1 + ', srScoreStatus=' + this.phi_1 + ', srScore=' + this.qhi_1 + ', srScoreDate=' + this.rhi_1.toString() + ', srLastModified=' + this.shi_1.toString() + ', srComment=' + this.thi_1 + ', srAppId=' + this.uhi_1 + ', srDeleted=' + this.vhi_1 + ')';
  };
  protoOf(StudentResult).hashCode = function () {
    var result = this.bhi_1.hashCode();
    result = imul(result, 31) + (this.chi_1 == null ? 0 : getStringHashCode(this.chi_1)) | 0;
    result = imul(result, 31) + this.dhi_1.hashCode() | 0;
    result = imul(result, 31) + (this.ehi_1 == null ? 0 : getStringHashCode(this.ehi_1)) | 0;
    result = imul(result, 31) + (this.fhi_1 == null ? 0 : getStringHashCode(this.fhi_1)) | 0;
    result = imul(result, 31) + this.ghi_1.hashCode() | 0;
    result = imul(result, 31) + this.hhi_1.hashCode() | 0;
    result = imul(result, 31) + this.ihi_1 | 0;
    result = imul(result, 31) + (this.jhi_1 == null ? 0 : getStringHashCode(this.jhi_1)) | 0;
    result = imul(result, 31) + this.khi_1.hashCode() | 0;
    result = imul(result, 31) + (this.lhi_1 == null ? 0 : getStringHashCode(this.lhi_1)) | 0;
    result = imul(result, 31) + this.mhi_1 | 0;
    result = imul(result, 31) + this.nhi_1.hashCode() | 0;
    result = imul(result, 31) + this.ohi_1 | 0;
    result = imul(result, 31) + this.phi_1 | 0;
    result = imul(result, 31) + getNumberHashCode(this.qhi_1) | 0;
    result = imul(result, 31) + this.rhi_1.hashCode() | 0;
    result = imul(result, 31) + this.shi_1.hashCode() | 0;
    result = imul(result, 31) + (this.thi_1 == null ? 0 : getStringHashCode(this.thi_1)) | 0;
    result = imul(result, 31) + (this.uhi_1 == null ? 0 : getStringHashCode(this.uhi_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.vhi_1) | 0;
    return result;
  };
  protoOf(StudentResult).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StudentResult))
      return false;
    var tmp0_other_with_cast = other instanceof StudentResult ? other : THROW_CCE();
    if (!this.bhi_1.equals(tmp0_other_with_cast.bhi_1))
      return false;
    if (!(this.chi_1 == tmp0_other_with_cast.chi_1))
      return false;
    if (!this.dhi_1.equals(tmp0_other_with_cast.dhi_1))
      return false;
    if (!(this.ehi_1 == tmp0_other_with_cast.ehi_1))
      return false;
    if (!(this.fhi_1 == tmp0_other_with_cast.fhi_1))
      return false;
    if (!this.ghi_1.equals(tmp0_other_with_cast.ghi_1))
      return false;
    if (!this.hhi_1.equals(tmp0_other_with_cast.hhi_1))
      return false;
    if (!(this.ihi_1 === tmp0_other_with_cast.ihi_1))
      return false;
    if (!(this.jhi_1 == tmp0_other_with_cast.jhi_1))
      return false;
    if (!this.khi_1.equals(tmp0_other_with_cast.khi_1))
      return false;
    if (!(this.lhi_1 == tmp0_other_with_cast.lhi_1))
      return false;
    if (!(this.mhi_1 === tmp0_other_with_cast.mhi_1))
      return false;
    if (!this.nhi_1.equals(tmp0_other_with_cast.nhi_1))
      return false;
    if (!(this.ohi_1 === tmp0_other_with_cast.ohi_1))
      return false;
    if (!(this.phi_1 === tmp0_other_with_cast.phi_1))
      return false;
    if (!equals(this.qhi_1, tmp0_other_with_cast.qhi_1))
      return false;
    if (!this.rhi_1.equals(tmp0_other_with_cast.rhi_1))
      return false;
    if (!this.shi_1.equals(tmp0_other_with_cast.shi_1))
      return false;
    if (!(this.thi_1 == tmp0_other_with_cast.thi_1))
      return false;
    if (!(this.uhi_1 == tmp0_other_with_cast.uhi_1))
      return false;
    if (!(this.vhi_1 === tmp0_other_with_cast.vhi_1))
      return false;
    return true;
  };
  function Companion_110() {
    Companion_instance_111 = this;
    this.ak0_1 = new Long(0, 0);
    this.bk0_1 = 10011;
  }
  protoOf(Companion_110).s4x = function () {
    return $serializer_getInstance_105();
  };
  var Companion_instance_111;
  function Companion_getInstance_113() {
    if (Companion_instance_111 == null)
      new Companion_110();
    return Companion_instance_111;
  }
  function $serializer_105() {
    $serializer_instance_105 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.SystemPermission', this, 6);
    tmp0_serialDesc.y4l('spUid', true);
    tmp0_serialDesc.y4l('spToPersonUid', true);
    tmp0_serialDesc.y4l('spToGroupUid', true);
    tmp0_serialDesc.y4l('spPermissionsFlag', true);
    tmp0_serialDesc.y4l('spLastModified', true);
    tmp0_serialDesc.y4l('spIsDeleted', true);
    this.ck0_1 = tmp0_serialDesc;
  }
  protoOf($serializer_105).v4a = function () {
    return this.ck0_1;
  };
  protoOf($serializer_105).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_105).x4a = function (decoder) {
    var tmp0_desc = this.ck0_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return SystemPermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_105).dk0 = function (encoder, value) {
    var tmp0_desc = this.ck0_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.fhk_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.fhk_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.ghk_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.ghk_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.hhk_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.hhk_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.ihk_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.ihk_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.jhk_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.jhk_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.khk_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 5, value.khk_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_105).w4a = function (encoder, value) {
    return this.dk0(encoder, value instanceof SystemPermission ? value : THROW_CCE());
  };
  var $serializer_instance_105;
  function $serializer_getInstance_105() {
    if ($serializer_instance_105 == null)
      new $serializer_105();
    return $serializer_instance_105;
  }
  function SystemPermission_init_$Init$(seen1, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_105().ck0_1);
    }
    if (0 === (seen1 & 1))
      $this.fhk_1 = new Long(0, 0);
    else
      $this.fhk_1 = spUid;
    if (0 === (seen1 & 2))
      $this.ghk_1 = new Long(0, 0);
    else
      $this.ghk_1 = spToPersonUid;
    if (0 === (seen1 & 4))
      $this.hhk_1 = new Long(0, 0);
    else
      $this.hhk_1 = spToGroupUid;
    if (0 === (seen1 & 8))
      $this.ihk_1 = new Long(0, 0);
    else
      $this.ihk_1 = spPermissionsFlag;
    if (0 === (seen1 & 16))
      $this.jhk_1 = new Long(0, 0);
    else
      $this.jhk_1 = spLastModified;
    if (0 === (seen1 & 32))
      $this.khk_1 = false;
    else
      $this.khk_1 = spIsDeleted;
    return $this;
  }
  function SystemPermission_init_$Create$(seen1, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, serializationConstructorMarker) {
    return SystemPermission_init_$Init$(seen1, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, serializationConstructorMarker, objectCreate(protoOf(SystemPermission)));
  }
  function SystemPermission(spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) {
    Companion_getInstance_113();
    spUid = spUid === VOID ? new Long(0, 0) : spUid;
    spToPersonUid = spToPersonUid === VOID ? new Long(0, 0) : spToPersonUid;
    spToGroupUid = spToGroupUid === VOID ? new Long(0, 0) : spToGroupUid;
    spPermissionsFlag = spPermissionsFlag === VOID ? new Long(0, 0) : spPermissionsFlag;
    spLastModified = spLastModified === VOID ? new Long(0, 0) : spLastModified;
    spIsDeleted = spIsDeleted === VOID ? false : spIsDeleted;
    this.fhk_1 = spUid;
    this.ghk_1 = spToPersonUid;
    this.hhk_1 = spToGroupUid;
    this.ihk_1 = spPermissionsFlag;
    this.jhk_1 = spLastModified;
    this.khk_1 = spIsDeleted;
  }
  protoOf(SystemPermission).ek0 = function (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) {
    return new SystemPermission(spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted);
  };
  protoOf(SystemPermission).fk0 = function (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, $super) {
    spUid = spUid === VOID ? this.fhk_1 : spUid;
    spToPersonUid = spToPersonUid === VOID ? this.ghk_1 : spToPersonUid;
    spToGroupUid = spToGroupUid === VOID ? this.hhk_1 : spToGroupUid;
    spPermissionsFlag = spPermissionsFlag === VOID ? this.ihk_1 : spPermissionsFlag;
    spLastModified = spLastModified === VOID ? this.jhk_1 : spLastModified;
    spIsDeleted = spIsDeleted === VOID ? this.khk_1 : spIsDeleted;
    return $super === VOID ? this.ek0(spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) : $super.ek0.call(this, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted);
  };
  protoOf(SystemPermission).toString = function () {
    return 'SystemPermission(spUid=' + this.fhk_1.toString() + ', spToPersonUid=' + this.ghk_1.toString() + ', spToGroupUid=' + this.hhk_1.toString() + ', spPermissionsFlag=' + this.ihk_1.toString() + ', spLastModified=' + this.jhk_1.toString() + ', spIsDeleted=' + this.khk_1 + ')';
  };
  protoOf(SystemPermission).hashCode = function () {
    var result = this.fhk_1.hashCode();
    result = imul(result, 31) + this.ghk_1.hashCode() | 0;
    result = imul(result, 31) + this.hhk_1.hashCode() | 0;
    result = imul(result, 31) + this.ihk_1.hashCode() | 0;
    result = imul(result, 31) + this.jhk_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.khk_1) | 0;
    return result;
  };
  protoOf(SystemPermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SystemPermission))
      return false;
    var tmp0_other_with_cast = other instanceof SystemPermission ? other : THROW_CCE();
    if (!this.fhk_1.equals(tmp0_other_with_cast.fhk_1))
      return false;
    if (!this.ghk_1.equals(tmp0_other_with_cast.ghk_1))
      return false;
    if (!this.hhk_1.equals(tmp0_other_with_cast.hhk_1))
      return false;
    if (!this.ihk_1.equals(tmp0_other_with_cast.ihk_1))
      return false;
    if (!this.jhk_1.equals(tmp0_other_with_cast.jhk_1))
      return false;
    if (!(this.khk_1 === tmp0_other_with_cast.khk_1))
      return false;
    return true;
  };
  function Companion_111() {
    this.gk0_1 = 1081;
    this.hk0_1 = 1;
    this.ik0_1 = 2;
    this.jk0_1 = 1;
    this.kk0_1 = 2;
  }
  var Companion_instance_112;
  function Companion_getInstance_114() {
    return Companion_instance_112;
  }
  function $serializer_106() {
    $serializer_instance_106 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.TransferJob', this, 10);
    tmp0_serialDesc.y4l('tjUid', true);
    tmp0_serialDesc.y4l('tjType', true);
    tmp0_serialDesc.y4l('tjStatus', true);
    tmp0_serialDesc.y4l('tjName', true);
    tmp0_serialDesc.y4l('tjUuid', true);
    tmp0_serialDesc.y4l('tjTableId', true);
    tmp0_serialDesc.y4l('tjEntityUid', true);
    tmp0_serialDesc.y4l('tjTimeCreated', true);
    tmp0_serialDesc.y4l('tjCreationType', true);
    tmp0_serialDesc.y4l('tjOiUid', true);
    this.lk0_1 = tmp0_serialDesc;
  }
  protoOf($serializer_106).v4a = function () {
    return this.lk0_1;
  };
  protoOf($serializer_106).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_106).x4a = function (decoder) {
    var tmp0_desc = this.lk0_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_input = decoder.n4e(tmp0_desc);
    if (tmp14_input.c4f()) {
      tmp4_local0 = tmp14_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.s4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.o4e(tmp0_desc);
    return TransferJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_106).mk0 = function (encoder, value) {
    var tmp0_desc = this.lk0_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.jfj_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.jfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.kfj_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.kfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.lfj_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.lfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.mfj_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.mfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.nfj_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.nfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ofj_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 5, value.ofj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.pfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.pfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.qfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.qfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.rfj_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 8, value.rfj_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.sfj_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.sfj_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_106).w4a = function (encoder, value) {
    return this.mk0(encoder, value instanceof TransferJob ? value : THROW_CCE());
  };
  var $serializer_instance_106;
  function $serializer_getInstance_106() {
    if ($serializer_instance_106 == null)
      new $serializer_106();
    return $serializer_instance_106;
  }
  function TransferJob_init_$Init$(seen1, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_106().lk0_1);
    }
    if (0 === (seen1 & 1))
      $this.jfj_1 = 0;
    else
      $this.jfj_1 = tjUid;
    if (0 === (seen1 & 2))
      $this.kfj_1 = 0;
    else
      $this.kfj_1 = tjType;
    if (0 === (seen1 & 4))
      $this.lfj_1 = 0;
    else
      $this.lfj_1 = tjStatus;
    if (0 === (seen1 & 8))
      $this.mfj_1 = null;
    else
      $this.mfj_1 = tjName;
    if (0 === (seen1 & 16))
      $this.nfj_1 = null;
    else
      $this.nfj_1 = tjUuid;
    if (0 === (seen1 & 32))
      $this.ofj_1 = 0;
    else
      $this.ofj_1 = tjTableId;
    if (0 === (seen1 & 64))
      $this.pfj_1 = new Long(0, 0);
    else
      $this.pfj_1 = tjEntityUid;
    if (0 === (seen1 & 128))
      $this.qfj_1 = new Long(0, 0);
    else
      $this.qfj_1 = tjTimeCreated;
    if (0 === (seen1 & 256))
      $this.rfj_1 = 0;
    else
      $this.rfj_1 = tjCreationType;
    if (0 === (seen1 & 512))
      $this.sfj_1 = new Long(0, 0);
    else
      $this.sfj_1 = tjOiUid;
    return $this;
  }
  function TransferJob_init_$Create$(seen1, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, serializationConstructorMarker) {
    return TransferJob_init_$Init$(seen1, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, serializationConstructorMarker, objectCreate(protoOf(TransferJob)));
  }
  function TransferJob(tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid) {
    tjUid = tjUid === VOID ? 0 : tjUid;
    tjType = tjType === VOID ? 0 : tjType;
    tjStatus = tjStatus === VOID ? 0 : tjStatus;
    tjName = tjName === VOID ? null : tjName;
    tjUuid = tjUuid === VOID ? null : tjUuid;
    tjTableId = tjTableId === VOID ? 0 : tjTableId;
    tjEntityUid = tjEntityUid === VOID ? new Long(0, 0) : tjEntityUid;
    tjTimeCreated = tjTimeCreated === VOID ? new Long(0, 0) : tjTimeCreated;
    tjCreationType = tjCreationType === VOID ? 0 : tjCreationType;
    tjOiUid = tjOiUid === VOID ? new Long(0, 0) : tjOiUid;
    this.jfj_1 = tjUid;
    this.kfj_1 = tjType;
    this.lfj_1 = tjStatus;
    this.mfj_1 = tjName;
    this.nfj_1 = tjUuid;
    this.ofj_1 = tjTableId;
    this.pfj_1 = tjEntityUid;
    this.qfj_1 = tjTimeCreated;
    this.rfj_1 = tjCreationType;
    this.sfj_1 = tjOiUid;
  }
  protoOf(TransferJob).toString = function () {
    return 'TransferJob(tjUid=' + this.jfj_1 + ', tjType=' + this.kfj_1 + ', tjStatus=' + this.lfj_1 + ', tjName=' + this.mfj_1 + ', tjUuid=' + this.nfj_1 + ', tjTableId=' + this.ofj_1 + ', tjEntityUid=' + this.pfj_1.toString() + ', tjTimeCreated=' + this.qfj_1.toString() + ', tjCreationType=' + this.rfj_1 + ', tjOiUid=' + this.sfj_1.toString() + ')';
  };
  protoOf(TransferJob).hashCode = function () {
    var result = this.jfj_1;
    result = imul(result, 31) + this.kfj_1 | 0;
    result = imul(result, 31) + this.lfj_1 | 0;
    result = imul(result, 31) + (this.mfj_1 == null ? 0 : getStringHashCode(this.mfj_1)) | 0;
    result = imul(result, 31) + (this.nfj_1 == null ? 0 : getStringHashCode(this.nfj_1)) | 0;
    result = imul(result, 31) + this.ofj_1 | 0;
    result = imul(result, 31) + this.pfj_1.hashCode() | 0;
    result = imul(result, 31) + this.qfj_1.hashCode() | 0;
    result = imul(result, 31) + this.rfj_1 | 0;
    result = imul(result, 31) + this.sfj_1.hashCode() | 0;
    return result;
  };
  protoOf(TransferJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJob))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJob ? other : THROW_CCE();
    if (!(this.jfj_1 === tmp0_other_with_cast.jfj_1))
      return false;
    if (!(this.kfj_1 === tmp0_other_with_cast.kfj_1))
      return false;
    if (!(this.lfj_1 === tmp0_other_with_cast.lfj_1))
      return false;
    if (!(this.mfj_1 == tmp0_other_with_cast.mfj_1))
      return false;
    if (!(this.nfj_1 == tmp0_other_with_cast.nfj_1))
      return false;
    if (!(this.ofj_1 === tmp0_other_with_cast.ofj_1))
      return false;
    if (!this.pfj_1.equals(tmp0_other_with_cast.pfj_1))
      return false;
    if (!this.qfj_1.equals(tmp0_other_with_cast.qfj_1))
      return false;
    if (!(this.rfj_1 === tmp0_other_with_cast.rfj_1))
      return false;
    if (!this.sfj_1.equals(tmp0_other_with_cast.sfj_1))
      return false;
    return true;
  };
  function Companion_112() {
  }
  var Companion_instance_113;
  function Companion_getInstance_115() {
    return Companion_instance_113;
  }
  function $serializer_107() {
    $serializer_instance_107 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.TransferJobError', this, 5);
    tmp0_serialDesc.y4l('tjeId', true);
    tmp0_serialDesc.y4l('tjeTjUid', true);
    tmp0_serialDesc.y4l('tjeTime', true);
    tmp0_serialDesc.y4l('tjeErrorStr', true);
    tmp0_serialDesc.y4l('tjeDismissed', true);
    this.nk0_1 = tmp0_serialDesc;
  }
  protoOf($serializer_107).v4a = function () {
    return this.nk0_1;
  };
  protoOf($serializer_107).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_107).x4a = function (decoder) {
    var tmp0_desc = this.nk0_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = false;
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.p4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.p4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return TransferJobError_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_107).ok0 = function (encoder, value) {
    var tmp0_desc = this.nk0_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.hhx_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.hhx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ihx_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.ihx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.jhx_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.jhx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.khx_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.khx_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.lhx_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 4, value.lhx_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_107).w4a = function (encoder, value) {
    return this.ok0(encoder, value instanceof TransferJobError ? value : THROW_CCE());
  };
  var $serializer_instance_107;
  function $serializer_getInstance_107() {
    if ($serializer_instance_107 == null)
      new $serializer_107();
    return $serializer_instance_107;
  }
  function TransferJobError_init_$Init$(seen1, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_107().nk0_1);
    }
    if (0 === (seen1 & 1))
      $this.hhx_1 = 0;
    else
      $this.hhx_1 = tjeId;
    if (0 === (seen1 & 2))
      $this.ihx_1 = 0;
    else
      $this.ihx_1 = tjeTjUid;
    if (0 === (seen1 & 4))
      $this.jhx_1 = new Long(0, 0);
    else
      $this.jhx_1 = tjeTime;
    if (0 === (seen1 & 8))
      $this.khx_1 = null;
    else
      $this.khx_1 = tjeErrorStr;
    if (0 === (seen1 & 16))
      $this.lhx_1 = false;
    else
      $this.lhx_1 = tjeDismissed;
    return $this;
  }
  function TransferJobError_init_$Create$(seen1, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, serializationConstructorMarker) {
    return TransferJobError_init_$Init$(seen1, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, serializationConstructorMarker, objectCreate(protoOf(TransferJobError)));
  }
  function TransferJobError(tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed) {
    tjeId = tjeId === VOID ? 0 : tjeId;
    tjeTjUid = tjeTjUid === VOID ? 0 : tjeTjUid;
    tjeTime = tjeTime === VOID ? new Long(0, 0) : tjeTime;
    tjeErrorStr = tjeErrorStr === VOID ? null : tjeErrorStr;
    tjeDismissed = tjeDismissed === VOID ? false : tjeDismissed;
    this.hhx_1 = tjeId;
    this.ihx_1 = tjeTjUid;
    this.jhx_1 = tjeTime;
    this.khx_1 = tjeErrorStr;
    this.lhx_1 = tjeDismissed;
  }
  protoOf(TransferJobError).toString = function () {
    return 'TransferJobError(tjeId=' + this.hhx_1 + ', tjeTjUid=' + this.ihx_1 + ', tjeTime=' + this.jhx_1.toString() + ', tjeErrorStr=' + this.khx_1 + ', tjeDismissed=' + this.lhx_1 + ')';
  };
  protoOf(TransferJobError).hashCode = function () {
    var result = this.hhx_1;
    result = imul(result, 31) + this.ihx_1 | 0;
    result = imul(result, 31) + this.jhx_1.hashCode() | 0;
    result = imul(result, 31) + (this.khx_1 == null ? 0 : getStringHashCode(this.khx_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.lhx_1) | 0;
    return result;
  };
  protoOf(TransferJobError).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJobError))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJobError ? other : THROW_CCE();
    if (!(this.hhx_1 === tmp0_other_with_cast.hhx_1))
      return false;
    if (!(this.ihx_1 === tmp0_other_with_cast.ihx_1))
      return false;
    if (!this.jhx_1.equals(tmp0_other_with_cast.jhx_1))
      return false;
    if (!(this.khx_1 == tmp0_other_with_cast.khx_1))
      return false;
    if (!(this.lhx_1 === tmp0_other_with_cast.lhx_1))
      return false;
    return true;
  };
  function Companion_113() {
  }
  var Companion_instance_114;
  function Companion_getInstance_116() {
    return Companion_instance_114;
  }
  function $serializer_108() {
    $serializer_instance_108 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.TransferJobItem', this, 14);
    tmp0_serialDesc.y4l('tjiUid', true);
    tmp0_serialDesc.y4l('tjiTjUid', true);
    tmp0_serialDesc.y4l('tjTotalSize', true);
    tmp0_serialDesc.y4l('tjTransferred', true);
    tmp0_serialDesc.y4l('tjAttemptCount', true);
    tmp0_serialDesc.y4l('tjiSrc', true);
    tmp0_serialDesc.y4l('tjiDest', true);
    tmp0_serialDesc.y4l('tjiType', true);
    tmp0_serialDesc.y4l('tjiStatus', true);
    tmp0_serialDesc.y4l('tjiTableId', true);
    tmp0_serialDesc.y4l('tjiEntityUid', true);
    tmp0_serialDesc.y4l('tjiEntityEtag', true);
    tmp0_serialDesc.y4l('tjiLockIdToRelease', true);
    tmp0_serialDesc.y4l('tjiPartialTmpFile', true);
    this.pk0_1 = tmp0_serialDesc;
  }
  protoOf($serializer_108).v4a = function () {
    return this.pk0_1;
  };
  protoOf($serializer_108).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_108).x4a = function (decoder) {
    var tmp0_desc = this.pk0_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = 0;
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = null;
    var tmp18_input = decoder.n4e(tmp0_desc);
    if (tmp18_input.c4f()) {
      tmp4_local0 = tmp18_input.s4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.s4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.s4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.t4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.s4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.s4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.s4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.t4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.o4e(tmp0_desc);
    return TransferJobItem_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_108).qk0 = function (encoder, value) {
    var tmp0_desc = this.pk0_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !(value.nc3_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 0, value.nc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.oc3_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 1, value.oc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.pc3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.pc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.qc3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.qc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.rc3_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.rc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.sc3_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.sc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.tc3_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.tc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.uc3_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.uc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.vc3_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 8, value.vc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.wc3_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.wc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.xc3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.xc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.yc3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.yc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !value.zc3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 12, value.zc3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.ac4_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, StringSerializer_getInstance(), value.ac4_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_108).w4a = function (encoder, value) {
    return this.qk0(encoder, value instanceof TransferJobItem ? value : THROW_CCE());
  };
  var $serializer_instance_108;
  function $serializer_getInstance_108() {
    if ($serializer_instance_108 == null)
      new $serializer_108();
    return $serializer_instance_108;
  }
  function TransferJobItem_init_$Init$(seen1, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_108().pk0_1);
    }
    if (0 === (seen1 & 1))
      $this.nc3_1 = 0;
    else
      $this.nc3_1 = tjiUid;
    if (0 === (seen1 & 2))
      $this.oc3_1 = 0;
    else
      $this.oc3_1 = tjiTjUid;
    if (0 === (seen1 & 4))
      $this.pc3_1 = new Long(0, 0);
    else
      $this.pc3_1 = tjTotalSize;
    if (0 === (seen1 & 8))
      $this.qc3_1 = new Long(0, 0);
    else
      $this.qc3_1 = tjTransferred;
    if (0 === (seen1 & 16))
      $this.rc3_1 = 0;
    else
      $this.rc3_1 = tjAttemptCount;
    if (0 === (seen1 & 32))
      $this.sc3_1 = null;
    else
      $this.sc3_1 = tjiSrc;
    if (0 === (seen1 & 64))
      $this.tc3_1 = null;
    else
      $this.tc3_1 = tjiDest;
    if (0 === (seen1 & 128))
      $this.uc3_1 = 0;
    else
      $this.uc3_1 = tjiType;
    if (0 === (seen1 & 256))
      $this.vc3_1 = 0;
    else
      $this.vc3_1 = tjiStatus;
    if (0 === (seen1 & 512))
      $this.wc3_1 = 0;
    else
      $this.wc3_1 = tjiTableId;
    if (0 === (seen1 & 1024))
      $this.xc3_1 = new Long(0, 0);
    else
      $this.xc3_1 = tjiEntityUid;
    if (0 === (seen1 & 2048))
      $this.yc3_1 = new Long(0, 0);
    else
      $this.yc3_1 = tjiEntityEtag;
    if (0 === (seen1 & 4096))
      $this.zc3_1 = new Long(0, 0);
    else
      $this.zc3_1 = tjiLockIdToRelease;
    if (0 === (seen1 & 8192))
      $this.ac4_1 = null;
    else
      $this.ac4_1 = tjiPartialTmpFile;
    return $this;
  }
  function TransferJobItem_init_$Create$(seen1, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, serializationConstructorMarker) {
    return TransferJobItem_init_$Init$(seen1, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, serializationConstructorMarker, objectCreate(protoOf(TransferJobItem)));
  }
  function TransferJobItem(tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) {
    tjiUid = tjiUid === VOID ? 0 : tjiUid;
    tjiTjUid = tjiTjUid === VOID ? 0 : tjiTjUid;
    tjTotalSize = tjTotalSize === VOID ? new Long(0, 0) : tjTotalSize;
    tjTransferred = tjTransferred === VOID ? new Long(0, 0) : tjTransferred;
    tjAttemptCount = tjAttemptCount === VOID ? 0 : tjAttemptCount;
    tjiSrc = tjiSrc === VOID ? null : tjiSrc;
    tjiDest = tjiDest === VOID ? null : tjiDest;
    tjiType = tjiType === VOID ? 0 : tjiType;
    tjiStatus = tjiStatus === VOID ? 0 : tjiStatus;
    tjiTableId = tjiTableId === VOID ? 0 : tjiTableId;
    tjiEntityUid = tjiEntityUid === VOID ? new Long(0, 0) : tjiEntityUid;
    tjiEntityEtag = tjiEntityEtag === VOID ? new Long(0, 0) : tjiEntityEtag;
    tjiLockIdToRelease = tjiLockIdToRelease === VOID ? new Long(0, 0) : tjiLockIdToRelease;
    tjiPartialTmpFile = tjiPartialTmpFile === VOID ? null : tjiPartialTmpFile;
    this.nc3_1 = tjiUid;
    this.oc3_1 = tjiTjUid;
    this.pc3_1 = tjTotalSize;
    this.qc3_1 = tjTransferred;
    this.rc3_1 = tjAttemptCount;
    this.sc3_1 = tjiSrc;
    this.tc3_1 = tjiDest;
    this.uc3_1 = tjiType;
    this.vc3_1 = tjiStatus;
    this.wc3_1 = tjiTableId;
    this.xc3_1 = tjiEntityUid;
    this.yc3_1 = tjiEntityEtag;
    this.zc3_1 = tjiLockIdToRelease;
    this.ac4_1 = tjiPartialTmpFile;
  }
  protoOf(TransferJobItem).rk0 = function (tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) {
    return new TransferJobItem(tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile);
  };
  protoOf(TransferJobItem).sk0 = function (tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, $super) {
    tjiUid = tjiUid === VOID ? this.nc3_1 : tjiUid;
    tjiTjUid = tjiTjUid === VOID ? this.oc3_1 : tjiTjUid;
    tjTotalSize = tjTotalSize === VOID ? this.pc3_1 : tjTotalSize;
    tjTransferred = tjTransferred === VOID ? this.qc3_1 : tjTransferred;
    tjAttemptCount = tjAttemptCount === VOID ? this.rc3_1 : tjAttemptCount;
    tjiSrc = tjiSrc === VOID ? this.sc3_1 : tjiSrc;
    tjiDest = tjiDest === VOID ? this.tc3_1 : tjiDest;
    tjiType = tjiType === VOID ? this.uc3_1 : tjiType;
    tjiStatus = tjiStatus === VOID ? this.vc3_1 : tjiStatus;
    tjiTableId = tjiTableId === VOID ? this.wc3_1 : tjiTableId;
    tjiEntityUid = tjiEntityUid === VOID ? this.xc3_1 : tjiEntityUid;
    tjiEntityEtag = tjiEntityEtag === VOID ? this.yc3_1 : tjiEntityEtag;
    tjiLockIdToRelease = tjiLockIdToRelease === VOID ? this.zc3_1 : tjiLockIdToRelease;
    tjiPartialTmpFile = tjiPartialTmpFile === VOID ? this.ac4_1 : tjiPartialTmpFile;
    return $super === VOID ? this.rk0(tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) : $super.rk0.call(this, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile);
  };
  protoOf(TransferJobItem).toString = function () {
    return 'TransferJobItem(tjiUid=' + this.nc3_1 + ', tjiTjUid=' + this.oc3_1 + ', tjTotalSize=' + this.pc3_1.toString() + ', tjTransferred=' + this.qc3_1.toString() + ', tjAttemptCount=' + this.rc3_1 + ', tjiSrc=' + this.sc3_1 + ', tjiDest=' + this.tc3_1 + ', tjiType=' + this.uc3_1 + ', tjiStatus=' + this.vc3_1 + ', tjiTableId=' + this.wc3_1 + ', tjiEntityUid=' + this.xc3_1.toString() + ', tjiEntityEtag=' + this.yc3_1.toString() + ', tjiLockIdToRelease=' + this.zc3_1.toString() + ', tjiPartialTmpFile=' + this.ac4_1 + ')';
  };
  protoOf(TransferJobItem).hashCode = function () {
    var result = this.nc3_1;
    result = imul(result, 31) + this.oc3_1 | 0;
    result = imul(result, 31) + this.pc3_1.hashCode() | 0;
    result = imul(result, 31) + this.qc3_1.hashCode() | 0;
    result = imul(result, 31) + this.rc3_1 | 0;
    result = imul(result, 31) + (this.sc3_1 == null ? 0 : getStringHashCode(this.sc3_1)) | 0;
    result = imul(result, 31) + (this.tc3_1 == null ? 0 : getStringHashCode(this.tc3_1)) | 0;
    result = imul(result, 31) + this.uc3_1 | 0;
    result = imul(result, 31) + this.vc3_1 | 0;
    result = imul(result, 31) + this.wc3_1 | 0;
    result = imul(result, 31) + this.xc3_1.hashCode() | 0;
    result = imul(result, 31) + this.yc3_1.hashCode() | 0;
    result = imul(result, 31) + this.zc3_1.hashCode() | 0;
    result = imul(result, 31) + (this.ac4_1 == null ? 0 : getStringHashCode(this.ac4_1)) | 0;
    return result;
  };
  protoOf(TransferJobItem).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJobItem))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJobItem ? other : THROW_CCE();
    if (!(this.nc3_1 === tmp0_other_with_cast.nc3_1))
      return false;
    if (!(this.oc3_1 === tmp0_other_with_cast.oc3_1))
      return false;
    if (!this.pc3_1.equals(tmp0_other_with_cast.pc3_1))
      return false;
    if (!this.qc3_1.equals(tmp0_other_with_cast.qc3_1))
      return false;
    if (!(this.rc3_1 === tmp0_other_with_cast.rc3_1))
      return false;
    if (!(this.sc3_1 == tmp0_other_with_cast.sc3_1))
      return false;
    if (!(this.tc3_1 == tmp0_other_with_cast.tc3_1))
      return false;
    if (!(this.uc3_1 === tmp0_other_with_cast.uc3_1))
      return false;
    if (!(this.vc3_1 === tmp0_other_with_cast.vc3_1))
      return false;
    if (!(this.wc3_1 === tmp0_other_with_cast.wc3_1))
      return false;
    if (!this.xc3_1.equals(tmp0_other_with_cast.xc3_1))
      return false;
    if (!this.yc3_1.equals(tmp0_other_with_cast.yc3_1))
      return false;
    if (!this.zc3_1.equals(tmp0_other_with_cast.zc3_1))
      return false;
    if (!(this.ac4_1 == tmp0_other_with_cast.ac4_1))
      return false;
    return true;
  };
  function Companion_114() {
  }
  var Companion_instance_115;
  function Companion_getInstance_117() {
    return Companion_instance_115;
  }
  function $serializer_109() {
    $serializer_instance_109 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.UidAndLabel', this, 2);
    tmp0_serialDesc.y4l('uid', true);
    tmp0_serialDesc.y4l('labelName', true);
    this.tk0_1 = tmp0_serialDesc;
  }
  protoOf($serializer_109).v4a = function () {
    return this.tk0_1;
  };
  protoOf($serializer_109).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_109).x4a = function (decoder) {
    var tmp0_desc = this.tk0_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_input = decoder.n4e(tmp0_desc);
    if (tmp6_input.c4f()) {
      tmp4_local0 = tmp6_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.o4e(tmp0_desc);
    return UidAndLabel_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_109).uk0 = function (encoder, value) {
    var tmp0_desc = this.tk0_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.vk0_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.vk0_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.wk0_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.wk0_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_109).w4a = function (encoder, value) {
    return this.uk0(encoder, value instanceof UidAndLabel ? value : THROW_CCE());
  };
  var $serializer_instance_109;
  function $serializer_getInstance_109() {
    if ($serializer_instance_109 == null)
      new $serializer_109();
    return $serializer_instance_109;
  }
  function UidAndLabel_init_$Init$(seen1, uid, labelName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_109().tk0_1);
    }
    if (0 === (seen1 & 1))
      $this.vk0_1 = new Long(0, 0);
    else
      $this.vk0_1 = uid;
    if (0 === (seen1 & 2))
      $this.wk0_1 = null;
    else
      $this.wk0_1 = labelName;
    return $this;
  }
  function UidAndLabel_init_$Create$(seen1, uid, labelName, serializationConstructorMarker) {
    return UidAndLabel_init_$Init$(seen1, uid, labelName, serializationConstructorMarker, objectCreate(protoOf(UidAndLabel)));
  }
  function UidAndLabel() {
    this.vk0_1 = new Long(0, 0);
    this.wk0_1 = null;
  }
  function Companion_115() {
  }
  var Companion_instance_116;
  function Companion_getInstance_118() {
    return Companion_instance_116;
  }
  function $serializer_110() {
    $serializer_instance_110 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.UmAccount', this, 7);
    tmp0_serialDesc.y4l('personUid', false);
    tmp0_serialDesc.y4l('username', true);
    tmp0_serialDesc.y4l('auth', true);
    tmp0_serialDesc.y4l('endpointUrl', true);
    tmp0_serialDesc.y4l('firstName', true);
    tmp0_serialDesc.y4l('lastName', true);
    tmp0_serialDesc.y4l('admin', true);
    this.xk0_1 = tmp0_serialDesc;
  }
  protoOf($serializer_110).v4a = function () {
    return this.xk0_1;
  };
  protoOf($serializer_110).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), StringSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_110).x4a = function (decoder) {
    var tmp0_desc = this.xk0_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.x4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.p4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.x4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.p4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return UmAccount_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_110).yk0 = function (encoder, value) {
    var tmp0_desc = this.xk0_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    tmp1_output.x4f(tmp0_desc, 0, value.zk0_1);
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ak1_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ak1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.bk1_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.bk1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ck1_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 3, value.ck1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.dk1_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.dk1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ek1_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.ek1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.fk1_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 6, value.fk1_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_110).w4a = function (encoder, value) {
    return this.yk0(encoder, value instanceof UmAccount ? value : THROW_CCE());
  };
  var $serializer_instance_110;
  function $serializer_getInstance_110() {
    if ($serializer_instance_110 == null)
      new $serializer_110();
    return $serializer_instance_110;
  }
  function UmAccount_init_$Init$(seen1, personUid, username, auth, endpointUrl, firstName, lastName, admin, serializationConstructorMarker, $this) {
    if (!(1 === (1 & seen1))) {
      throwMissingFieldException(seen1, 1, $serializer_getInstance_110().xk0_1);
    }
    $this.zk0_1 = personUid;
    if (0 === (seen1 & 2))
      $this.ak1_1 = null;
    else
      $this.ak1_1 = username;
    if (0 === (seen1 & 4))
      $this.bk1_1 = null;
    else
      $this.bk1_1 = auth;
    if (0 === (seen1 & 8))
      $this.ck1_1 = '';
    else
      $this.ck1_1 = endpointUrl;
    if (0 === (seen1 & 16))
      $this.dk1_1 = null;
    else
      $this.dk1_1 = firstName;
    if (0 === (seen1 & 32))
      $this.ek1_1 = null;
    else
      $this.ek1_1 = lastName;
    if (0 === (seen1 & 64))
      $this.fk1_1 = false;
    else
      $this.fk1_1 = admin;
    return $this;
  }
  function UmAccount_init_$Create$(seen1, personUid, username, auth, endpointUrl, firstName, lastName, admin, serializationConstructorMarker) {
    return UmAccount_init_$Init$(seen1, personUid, username, auth, endpointUrl, firstName, lastName, admin, serializationConstructorMarker, objectCreate(protoOf(UmAccount)));
  }
  function UmAccount(personUid, username, auth, endpointUrl, firstName, lastName, admin) {
    username = username === VOID ? null : username;
    auth = auth === VOID ? null : auth;
    endpointUrl = endpointUrl === VOID ? '' : endpointUrl;
    firstName = firstName === VOID ? null : firstName;
    lastName = lastName === VOID ? null : lastName;
    admin = admin === VOID ? false : admin;
    this.zk0_1 = personUid;
    this.ak1_1 = username;
    this.bk1_1 = auth;
    this.ck1_1 = endpointUrl;
    this.dk1_1 = firstName;
    this.ek1_1 = lastName;
    this.fk1_1 = admin;
  }
  protoOf(UmAccount).toString = function () {
    return 'UmAccount(personUid=' + this.zk0_1.toString() + ', username=' + this.ak1_1 + ', auth=' + this.bk1_1 + ', endpointUrl=' + this.ck1_1 + ', firstName=' + this.dk1_1 + ', lastName=' + this.ek1_1 + ', admin=' + this.fk1_1 + ')';
  };
  protoOf(UmAccount).hashCode = function () {
    var result = this.zk0_1.hashCode();
    result = imul(result, 31) + (this.ak1_1 == null ? 0 : getStringHashCode(this.ak1_1)) | 0;
    result = imul(result, 31) + (this.bk1_1 == null ? 0 : getStringHashCode(this.bk1_1)) | 0;
    result = imul(result, 31) + getStringHashCode(this.ck1_1) | 0;
    result = imul(result, 31) + (this.dk1_1 == null ? 0 : getStringHashCode(this.dk1_1)) | 0;
    result = imul(result, 31) + (this.ek1_1 == null ? 0 : getStringHashCode(this.ek1_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.fk1_1) | 0;
    return result;
  };
  protoOf(UmAccount).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof UmAccount))
      return false;
    var tmp0_other_with_cast = other instanceof UmAccount ? other : THROW_CCE();
    if (!this.zk0_1.equals(tmp0_other_with_cast.zk0_1))
      return false;
    if (!(this.ak1_1 == tmp0_other_with_cast.ak1_1))
      return false;
    if (!(this.bk1_1 == tmp0_other_with_cast.bk1_1))
      return false;
    if (!(this.ck1_1 === tmp0_other_with_cast.ck1_1))
      return false;
    if (!(this.dk1_1 == tmp0_other_with_cast.dk1_1))
      return false;
    if (!(this.ek1_1 == tmp0_other_with_cast.ek1_1))
      return false;
    if (!(this.fk1_1 === tmp0_other_with_cast.fk1_1))
      return false;
    return true;
  };
  function Companion_116() {
    this.gk1_1 = 679;
    this.hk1_1 = 1;
    this.ik1_1 = 2;
    this.jk1_1 = 4;
    this.kk1_1 = 8;
    this.lk1_1 = 1;
    this.mk1_1 = 2;
    this.nk1_1 = 4;
    this.ok1_1 = 1;
    this.pk1_1 = 2;
    this.qk1_1 = 3;
  }
  var Companion_instance_117;
  function Companion_getInstance_119() {
    return Companion_instance_117;
  }
  function $serializer_111() {
    $serializer_instance_111 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.UserSession', this, 13);
    tmp0_serialDesc.y4l('usUid', true);
    tmp0_serialDesc.y4l('usPcsn', true);
    tmp0_serialDesc.y4l('usLcsn', true);
    tmp0_serialDesc.y4l('usLcb', true);
    tmp0_serialDesc.y4l('usLct', true);
    tmp0_serialDesc.y4l('usPersonUid', true);
    tmp0_serialDesc.y4l('usClientNodeId', true);
    tmp0_serialDesc.y4l('usStartTime', true);
    tmp0_serialDesc.y4l('usEndTime', true);
    tmp0_serialDesc.y4l('usStatus', true);
    tmp0_serialDesc.y4l('usReason', true);
    tmp0_serialDesc.y4l('usAuth', true);
    tmp0_serialDesc.y4l('usSessionType', true);
    this.rk1_1 = tmp0_serialDesc;
  }
  protoOf($serializer_111).v4a = function () {
    return this.rk1_1;
  };
  protoOf($serializer_111).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance()];
  };
  protoOf($serializer_111).x4a = function (decoder) {
    var tmp0_desc = this.rk1_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = null;
    var tmp16_local12 = 0;
    var tmp17_input = decoder.n4e(tmp0_desc);
    if (tmp17_input.c4f()) {
      tmp4_local0 = tmp17_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp17_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp17_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp17_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp17_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp17_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp17_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp17_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp17_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp17_input.s4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp17_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp17_input.b4f(tmp0_desc, 11, StringSerializer_getInstance(), tmp15_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp17_input.s4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp17_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp17_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp17_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp17_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp17_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp17_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp17_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp17_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp17_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp17_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp17_input.s4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp17_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp17_input.b4f(tmp0_desc, 11, StringSerializer_getInstance(), tmp15_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp17_input.s4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp17_input.o4e(tmp0_desc);
    return UserSession_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, null);
  };
  protoOf($serializer_111).sk1 = function (encoder, value) {
    var tmp0_desc = this.rk1_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.ji2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.ji2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.ki2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.ki2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.li2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.li2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.mi2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.mi2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.ni2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.ni2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.oi2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.oi2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.pi2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.pi2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.qi2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.qi2_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 8)) {
      tmp = true;
    } else {
      var tmp_0 = value.ri2_1;
      Companion_getInstance();
      tmp = !tmp_0.equals(new Long(-1, 2147483647));
    }
    if (tmp) {
      tmp1_output.x4f(tmp0_desc, 8, value.ri2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.si2_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 9, value.si2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.ti2_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 10, value.ti2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.ui2_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 11, StringSerializer_getInstance(), value.ui2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.vi2_1 === 1)) {
      tmp1_output.w4f(tmp0_desc, 12, value.vi2_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_111).w4a = function (encoder, value) {
    return this.sk1(encoder, value instanceof UserSession ? value : THROW_CCE());
  };
  var $serializer_instance_111;
  function $serializer_getInstance_111() {
    if ($serializer_instance_111 == null)
      new $serializer_111();
    return $serializer_instance_111;
  }
  function UserSession_init_$Init$(seen1, usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_111().rk1_1);
    }
    if (0 === (seen1 & 1))
      $this.ji2_1 = new Long(0, 0);
    else
      $this.ji2_1 = usUid;
    if (0 === (seen1 & 2))
      $this.ki2_1 = new Long(0, 0);
    else
      $this.ki2_1 = usPcsn;
    if (0 === (seen1 & 4))
      $this.li2_1 = new Long(0, 0);
    else
      $this.li2_1 = usLcsn;
    if (0 === (seen1 & 8))
      $this.mi2_1 = new Long(0, 0);
    else
      $this.mi2_1 = usLcb;
    if (0 === (seen1 & 16))
      $this.ni2_1 = new Long(0, 0);
    else
      $this.ni2_1 = usLct;
    if (0 === (seen1 & 32))
      $this.oi2_1 = new Long(0, 0);
    else
      $this.oi2_1 = usPersonUid;
    if (0 === (seen1 & 64))
      $this.pi2_1 = new Long(0, 0);
    else
      $this.pi2_1 = usClientNodeId;
    if (0 === (seen1 & 128))
      $this.qi2_1 = new Long(0, 0);
    else
      $this.qi2_1 = usStartTime;
    if (0 === (seen1 & 256)) {
      var tmp = $this;
      Companion_getInstance();
      tmp.ri2_1 = new Long(-1, 2147483647);
    } else
      $this.ri2_1 = usEndTime;
    if (0 === (seen1 & 512))
      $this.si2_1 = 0;
    else
      $this.si2_1 = usStatus;
    if (0 === (seen1 & 1024))
      $this.ti2_1 = 0;
    else
      $this.ti2_1 = usReason;
    if (0 === (seen1 & 2048))
      $this.ui2_1 = null;
    else
      $this.ui2_1 = usAuth;
    if (0 === (seen1 & 4096))
      $this.vi2_1 = 1;
    else
      $this.vi2_1 = usSessionType;
    return $this;
  }
  function UserSession_init_$Create$(seen1, usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType, serializationConstructorMarker) {
    return UserSession_init_$Init$(seen1, usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType, serializationConstructorMarker, objectCreate(protoOf(UserSession)));
  }
  function UserSession() {
    this.ji2_1 = new Long(0, 0);
    this.ki2_1 = new Long(0, 0);
    this.li2_1 = new Long(0, 0);
    this.mi2_1 = new Long(0, 0);
    this.ni2_1 = new Long(0, 0);
    this.oi2_1 = new Long(0, 0);
    this.pi2_1 = new Long(0, 0);
    this.qi2_1 = new Long(0, 0);
    var tmp = this;
    Companion_getInstance();
    tmp.ri2_1 = new Long(-1, 2147483647);
    this.si2_1 = 0;
    this.ti2_1 = 0;
    this.ui2_1 = null;
    this.vi2_1 = 1;
  }
  function UserSessionAndPerson(person, personPicture, userSession) {
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    userSession = userSession === VOID ? null : userSession;
    this.wi2_1 = person;
    this.xi2_1 = personPicture;
    this.yi2_1 = userSession;
  }
  protoOf(UserSessionAndPerson).toString = function () {
    return 'UserSessionAndPerson(person=' + this.wi2_1 + ', personPicture=' + this.xi2_1 + ', userSession=' + this.yi2_1 + ')';
  };
  protoOf(UserSessionAndPerson).hashCode = function () {
    var result = this.wi2_1 == null ? 0 : this.wi2_1.hashCode();
    result = imul(result, 31) + (this.xi2_1 == null ? 0 : this.xi2_1.hashCode()) | 0;
    result = imul(result, 31) + (this.yi2_1 == null ? 0 : hashCode(this.yi2_1)) | 0;
    return result;
  };
  protoOf(UserSessionAndPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof UserSessionAndPerson))
      return false;
    var tmp0_other_with_cast = other instanceof UserSessionAndPerson ? other : THROW_CCE();
    if (!equals(this.wi2_1, tmp0_other_with_cast.wi2_1))
      return false;
    if (!equals(this.xi2_1, tmp0_other_with_cast.xi2_1))
      return false;
    if (!equals(this.yi2_1, tmp0_other_with_cast.yi2_1))
      return false;
    return true;
  };
  function Companion_117() {
    this.tk1_1 = 0;
    this.uk1_1 = 1;
    this.vk1_1 = 2;
    this.wk1_1 = 3;
    this.xk1_1 = 4;
    this.yk1_1 = 5;
    this.zk1_1 = 6;
    this.ak2_1 = 7;
    this.bk2_1 = 8;
    this.ck2_1 = 9;
    this.dk2_1 = 10;
    this.ek2_1 = 64;
  }
  var Companion_instance_118;
  function Companion_getInstance_120() {
    return Companion_instance_118;
  }
  function $serializer_112() {
    $serializer_instance_112 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActivityEntity', this, 7);
    tmp0_serialDesc.y4l('actUid', true);
    tmp0_serialDesc.y4l('actIdIri', true);
    tmp0_serialDesc.y4l('actType', true);
    tmp0_serialDesc.y4l('actMoreInfo', true);
    tmp0_serialDesc.y4l('actInteractionType', true);
    tmp0_serialDesc.y4l('actCorrectResponsePatterns', true);
    tmp0_serialDesc.y4l('actLct', true);
    this.fk2_1 = tmp0_serialDesc;
  }
  protoOf($serializer_112).v4a = function () {
    return this.fk2_1;
  };
  protoOf($serializer_112).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_112).x4a = function (decoder) {
    var tmp0_desc = this.fk2_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return ActivityEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_112).gk2 = function (encoder, value) {
    var tmp0_desc = this.fk2_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.mi8_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.mi8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.ni8_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.ni8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.oi8_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.oi8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.pi8_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.pi8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.qi8_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.qi8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.ri8_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.ri8_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.si8_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.si8_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_112).w4a = function (encoder, value) {
    return this.gk2(encoder, value instanceof ActivityEntity ? value : THROW_CCE());
  };
  var $serializer_instance_112;
  function $serializer_getInstance_112() {
    if ($serializer_instance_112 == null)
      new $serializer_112();
    return $serializer_instance_112;
  }
  function ActivityEntity_init_$Init$(seen1, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_112().fk2_1);
    }
    if (0 === (seen1 & 1))
      $this.mi8_1 = new Long(0, 0);
    else
      $this.mi8_1 = actUid;
    if (0 === (seen1 & 2))
      $this.ni8_1 = null;
    else
      $this.ni8_1 = actIdIri;
    if (0 === (seen1 & 4))
      $this.oi8_1 = null;
    else
      $this.oi8_1 = actType;
    if (0 === (seen1 & 8))
      $this.pi8_1 = null;
    else
      $this.pi8_1 = actMoreInfo;
    if (0 === (seen1 & 16))
      $this.qi8_1 = 0;
    else
      $this.qi8_1 = actInteractionType;
    if (0 === (seen1 & 32))
      $this.ri8_1 = null;
    else
      $this.ri8_1 = actCorrectResponsePatterns;
    if (0 === (seen1 & 64))
      $this.si8_1 = new Long(0, 0);
    else
      $this.si8_1 = actLct;
    return $this;
  }
  function ActivityEntity_init_$Create$(seen1, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, serializationConstructorMarker) {
    return ActivityEntity_init_$Init$(seen1, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, serializationConstructorMarker, objectCreate(protoOf(ActivityEntity)));
  }
  function ActivityEntity(actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) {
    actUid = actUid === VOID ? new Long(0, 0) : actUid;
    actIdIri = actIdIri === VOID ? null : actIdIri;
    actType = actType === VOID ? null : actType;
    actMoreInfo = actMoreInfo === VOID ? null : actMoreInfo;
    actInteractionType = actInteractionType === VOID ? 0 : actInteractionType;
    actCorrectResponsePatterns = actCorrectResponsePatterns === VOID ? null : actCorrectResponsePatterns;
    actLct = actLct === VOID ? new Long(0, 0) : actLct;
    this.mi8_1 = actUid;
    this.ni8_1 = actIdIri;
    this.oi8_1 = actType;
    this.pi8_1 = actMoreInfo;
    this.qi8_1 = actInteractionType;
    this.ri8_1 = actCorrectResponsePatterns;
    this.si8_1 = actLct;
  }
  protoOf(ActivityEntity).hk2 = function (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) {
    return new ActivityEntity(actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct);
  };
  protoOf(ActivityEntity).ik2 = function (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, $super) {
    actUid = actUid === VOID ? this.mi8_1 : actUid;
    actIdIri = actIdIri === VOID ? this.ni8_1 : actIdIri;
    actType = actType === VOID ? this.oi8_1 : actType;
    actMoreInfo = actMoreInfo === VOID ? this.pi8_1 : actMoreInfo;
    actInteractionType = actInteractionType === VOID ? this.qi8_1 : actInteractionType;
    actCorrectResponsePatterns = actCorrectResponsePatterns === VOID ? this.ri8_1 : actCorrectResponsePatterns;
    actLct = actLct === VOID ? this.si8_1 : actLct;
    return $super === VOID ? this.hk2(actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) : $super.hk2.call(this, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct);
  };
  protoOf(ActivityEntity).toString = function () {
    return 'ActivityEntity(actUid=' + this.mi8_1.toString() + ', actIdIri=' + this.ni8_1 + ', actType=' + this.oi8_1 + ', actMoreInfo=' + this.pi8_1 + ', actInteractionType=' + this.qi8_1 + ', actCorrectResponsePatterns=' + this.ri8_1 + ', actLct=' + this.si8_1.toString() + ')';
  };
  protoOf(ActivityEntity).hashCode = function () {
    var result = this.mi8_1.hashCode();
    result = imul(result, 31) + (this.ni8_1 == null ? 0 : getStringHashCode(this.ni8_1)) | 0;
    result = imul(result, 31) + (this.oi8_1 == null ? 0 : getStringHashCode(this.oi8_1)) | 0;
    result = imul(result, 31) + (this.pi8_1 == null ? 0 : getStringHashCode(this.pi8_1)) | 0;
    result = imul(result, 31) + this.qi8_1 | 0;
    result = imul(result, 31) + (this.ri8_1 == null ? 0 : getStringHashCode(this.ri8_1)) | 0;
    result = imul(result, 31) + this.si8_1.hashCode() | 0;
    return result;
  };
  protoOf(ActivityEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityEntity ? other : THROW_CCE();
    if (!this.mi8_1.equals(tmp0_other_with_cast.mi8_1))
      return false;
    if (!(this.ni8_1 == tmp0_other_with_cast.ni8_1))
      return false;
    if (!(this.oi8_1 == tmp0_other_with_cast.oi8_1))
      return false;
    if (!(this.pi8_1 == tmp0_other_with_cast.pi8_1))
      return false;
    if (!(this.qi8_1 === tmp0_other_with_cast.qi8_1))
      return false;
    if (!(this.ri8_1 == tmp0_other_with_cast.ri8_1))
      return false;
    if (!this.si8_1.equals(tmp0_other_with_cast.si8_1))
      return false;
    return true;
  };
  function Companion_118() {
    this.jk2_1 = 6405;
  }
  var Companion_instance_119;
  function Companion_getInstance_121() {
    return Companion_instance_119;
  }
  function ActivityExtensionEntity(aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) {
    aeeActivityUid = aeeActivityUid === VOID ? new Long(0, 0) : aeeActivityUid;
    aeeKeyHash = aeeKeyHash === VOID ? new Long(0, 0) : aeeKeyHash;
    aeeKey = aeeKey === VOID ? null : aeeKey;
    aeeJson = aeeJson === VOID ? null : aeeJson;
    aeeLastMod = aeeLastMod === VOID ? new Long(0, 0) : aeeLastMod;
    aeeIsDeleted = aeeIsDeleted === VOID ? false : aeeIsDeleted;
    this.ric_1 = aeeActivityUid;
    this.sic_1 = aeeKeyHash;
    this.tic_1 = aeeKey;
    this.uic_1 = aeeJson;
    this.vic_1 = aeeLastMod;
    this.wic_1 = aeeIsDeleted;
  }
  protoOf(ActivityExtensionEntity).toString = function () {
    return 'ActivityExtensionEntity(aeeActivityUid=' + this.ric_1.toString() + ', aeeKeyHash=' + this.sic_1.toString() + ', aeeKey=' + this.tic_1 + ', aeeJson=' + this.uic_1 + ', aeeLastMod=' + this.vic_1.toString() + ', aeeIsDeleted=' + this.wic_1 + ')';
  };
  protoOf(ActivityExtensionEntity).hashCode = function () {
    var result = this.ric_1.hashCode();
    result = imul(result, 31) + this.sic_1.hashCode() | 0;
    result = imul(result, 31) + (this.tic_1 == null ? 0 : getStringHashCode(this.tic_1)) | 0;
    result = imul(result, 31) + (this.uic_1 == null ? 0 : getStringHashCode(this.uic_1)) | 0;
    result = imul(result, 31) + this.vic_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.wic_1) | 0;
    return result;
  };
  protoOf(ActivityExtensionEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityExtensionEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityExtensionEntity ? other : THROW_CCE();
    if (!this.ric_1.equals(tmp0_other_with_cast.ric_1))
      return false;
    if (!this.sic_1.equals(tmp0_other_with_cast.sic_1))
      return false;
    if (!(this.tic_1 == tmp0_other_with_cast.tic_1))
      return false;
    if (!(this.uic_1 == tmp0_other_with_cast.uic_1))
      return false;
    if (!this.vic_1.equals(tmp0_other_with_cast.vic_1))
      return false;
    if (!(this.wic_1 === tmp0_other_with_cast.wic_1))
      return false;
    return true;
  };
  function Companion_119() {
    this.kk2_1 = 1;
    this.lk2_1 = 2;
    this.mk2_1 = 3;
    this.nk2_1 = 4;
    this.ok2_1 = 5;
    this.pk2_1 = 6401;
  }
  var Companion_instance_120;
  function Companion_getInstance_122() {
    return Companion_instance_120;
  }
  function $serializer_113() {
    $serializer_instance_113 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActivityInteractionEntity', this, 6);
    tmp0_serialDesc.y4l('aieActivityUid', true);
    tmp0_serialDesc.y4l('aieHash', true);
    tmp0_serialDesc.y4l('aieProp', true);
    tmp0_serialDesc.y4l('aieId', true);
    tmp0_serialDesc.y4l('aieLastMod', true);
    tmp0_serialDesc.y4l('aieIsDeleted', true);
    this.qk2_1 = tmp0_serialDesc;
  }
  protoOf($serializer_113).v4a = function () {
    return this.qk2_1;
  };
  protoOf($serializer_113).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_113).x4a = function (decoder) {
    var tmp0_desc = this.qk2_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_input = decoder.n4e(tmp0_desc);
    if (tmp10_input.c4f()) {
      tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.s4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.s4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.p4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.o4e(tmp0_desc);
    return ActivityInteractionEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_113).rk2 = function (encoder, value) {
    var tmp0_desc = this.qk2_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.wid_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.wid_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.xid_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.xid_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.yid_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 2, value.yid_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.zid_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.zid_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.aie_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.aie_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.bie_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 5, value.bie_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_113).w4a = function (encoder, value) {
    return this.rk2(encoder, value instanceof ActivityInteractionEntity ? value : THROW_CCE());
  };
  var $serializer_instance_113;
  function $serializer_getInstance_113() {
    if ($serializer_instance_113 == null)
      new $serializer_113();
    return $serializer_instance_113;
  }
  function ActivityInteractionEntity_init_$Init$(seen1, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_113().qk2_1);
    }
    if (0 === (seen1 & 1))
      $this.wid_1 = new Long(0, 0);
    else
      $this.wid_1 = aieActivityUid;
    if (0 === (seen1 & 2))
      $this.xid_1 = new Long(0, 0);
    else
      $this.xid_1 = aieHash;
    if (0 === (seen1 & 4))
      $this.yid_1 = 0;
    else
      $this.yid_1 = aieProp;
    if (0 === (seen1 & 8))
      $this.zid_1 = null;
    else
      $this.zid_1 = aieId;
    if (0 === (seen1 & 16))
      $this.aie_1 = new Long(0, 0);
    else
      $this.aie_1 = aieLastMod;
    if (0 === (seen1 & 32))
      $this.bie_1 = false;
    else
      $this.bie_1 = aieIsDeleted;
    return $this;
  }
  function ActivityInteractionEntity_init_$Create$(seen1, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, serializationConstructorMarker) {
    return ActivityInteractionEntity_init_$Init$(seen1, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, serializationConstructorMarker, objectCreate(protoOf(ActivityInteractionEntity)));
  }
  function ActivityInteractionEntity(aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) {
    aieActivityUid = aieActivityUid === VOID ? new Long(0, 0) : aieActivityUid;
    aieHash = aieHash === VOID ? new Long(0, 0) : aieHash;
    aieProp = aieProp === VOID ? 0 : aieProp;
    aieId = aieId === VOID ? null : aieId;
    aieLastMod = aieLastMod === VOID ? new Long(0, 0) : aieLastMod;
    aieIsDeleted = aieIsDeleted === VOID ? false : aieIsDeleted;
    this.wid_1 = aieActivityUid;
    this.xid_1 = aieHash;
    this.yid_1 = aieProp;
    this.zid_1 = aieId;
    this.aie_1 = aieLastMod;
    this.bie_1 = aieIsDeleted;
  }
  protoOf(ActivityInteractionEntity).toString = function () {
    return 'ActivityInteractionEntity(aieActivityUid=' + this.wid_1.toString() + ', aieHash=' + this.xid_1.toString() + ', aieProp=' + this.yid_1 + ', aieId=' + this.zid_1 + ', aieLastMod=' + this.aie_1.toString() + ', aieIsDeleted=' + this.bie_1 + ')';
  };
  protoOf(ActivityInteractionEntity).hashCode = function () {
    var result = this.wid_1.hashCode();
    result = imul(result, 31) + this.xid_1.hashCode() | 0;
    result = imul(result, 31) + this.yid_1 | 0;
    result = imul(result, 31) + (this.zid_1 == null ? 0 : getStringHashCode(this.zid_1)) | 0;
    result = imul(result, 31) + this.aie_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.bie_1) | 0;
    return result;
  };
  protoOf(ActivityInteractionEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityInteractionEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityInteractionEntity ? other : THROW_CCE();
    if (!this.wid_1.equals(tmp0_other_with_cast.wid_1))
      return false;
    if (!this.xid_1.equals(tmp0_other_with_cast.xid_1))
      return false;
    if (!(this.yid_1 === tmp0_other_with_cast.yid_1))
      return false;
    if (!(this.zid_1 == tmp0_other_with_cast.zid_1))
      return false;
    if (!this.aie_1.equals(tmp0_other_with_cast.aie_1))
      return false;
    if (!(this.bie_1 === tmp0_other_with_cast.bie_1))
      return false;
    return true;
  };
  function Companion_120() {
    this.sk2_1 = 6442;
    this.tk2_1 = 'name';
    this.uk2_1 = 'description';
  }
  var Companion_instance_121;
  function Companion_getInstance_123() {
    return Companion_instance_121;
  }
  function $serializer_114() {
    $serializer_instance_114 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActivityLangMapEntry', this, 7);
    tmp0_serialDesc.y4l('almeActivityUid', true);
    tmp0_serialDesc.y4l('almeHash', true);
    tmp0_serialDesc.y4l('almeLangCode', true);
    tmp0_serialDesc.y4l('almePropName', true);
    tmp0_serialDesc.y4l('almeValue', true);
    tmp0_serialDesc.y4l('almeAieHash', true);
    tmp0_serialDesc.y4l('almeLastMod', true);
    this.vk2_1 = tmp0_serialDesc;
  }
  protoOf($serializer_114).v4a = function () {
    return this.vk2_1;
  };
  protoOf($serializer_114).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_114).x4a = function (decoder) {
    var tmp0_desc = this.vk2_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return ActivityLangMapEntry_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_114).wk2 = function (encoder, value) {
    var tmp0_desc = this.vk2_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.wif_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.wif_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.xif_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.xif_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.yif_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.yif_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.zif_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.zif_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.aig_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.aig_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.big_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.big_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.cig_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.cig_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_114).w4a = function (encoder, value) {
    return this.wk2(encoder, value instanceof ActivityLangMapEntry ? value : THROW_CCE());
  };
  var $serializer_instance_114;
  function $serializer_getInstance_114() {
    if ($serializer_instance_114 == null)
      new $serializer_114();
    return $serializer_instance_114;
  }
  function ActivityLangMapEntry_init_$Init$(seen1, almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_114().vk2_1);
    }
    if (0 === (seen1 & 1))
      $this.wif_1 = new Long(0, 0);
    else
      $this.wif_1 = almeActivityUid;
    if (0 === (seen1 & 2))
      $this.xif_1 = new Long(0, 0);
    else
      $this.xif_1 = almeHash;
    if (0 === (seen1 & 4))
      $this.yif_1 = null;
    else
      $this.yif_1 = almeLangCode;
    if (0 === (seen1 & 8))
      $this.zif_1 = null;
    else
      $this.zif_1 = almePropName;
    if (0 === (seen1 & 16))
      $this.aig_1 = null;
    else
      $this.aig_1 = almeValue;
    if (0 === (seen1 & 32))
      $this.big_1 = new Long(0, 0);
    else
      $this.big_1 = almeAieHash;
    if (0 === (seen1 & 64))
      $this.cig_1 = new Long(0, 0);
    else
      $this.cig_1 = almeLastMod;
    return $this;
  }
  function ActivityLangMapEntry_init_$Create$(seen1, almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod, serializationConstructorMarker) {
    return ActivityLangMapEntry_init_$Init$(seen1, almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod, serializationConstructorMarker, objectCreate(protoOf(ActivityLangMapEntry)));
  }
  function ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) {
    almeActivityUid = almeActivityUid === VOID ? new Long(0, 0) : almeActivityUid;
    almeHash = almeHash === VOID ? new Long(0, 0) : almeHash;
    almeLangCode = almeLangCode === VOID ? null : almeLangCode;
    almePropName = almePropName === VOID ? null : almePropName;
    almeValue = almeValue === VOID ? null : almeValue;
    almeAieHash = almeAieHash === VOID ? new Long(0, 0) : almeAieHash;
    almeLastMod = almeLastMod === VOID ? new Long(0, 0) : almeLastMod;
    this.wif_1 = almeActivityUid;
    this.xif_1 = almeHash;
    this.yif_1 = almeLangCode;
    this.zif_1 = almePropName;
    this.aig_1 = almeValue;
    this.big_1 = almeAieHash;
    this.cig_1 = almeLastMod;
  }
  protoOf(ActivityLangMapEntry).toString = function () {
    return 'ActivityLangMapEntry(almeActivityUid=' + this.wif_1.toString() + ', almeHash=' + this.xif_1.toString() + ', almeLangCode=' + this.yif_1 + ', almePropName=' + this.zif_1 + ', almeValue=' + this.aig_1 + ', almeAieHash=' + this.big_1.toString() + ', almeLastMod=' + this.cig_1.toString() + ')';
  };
  protoOf(ActivityLangMapEntry).hashCode = function () {
    var result = this.wif_1.hashCode();
    result = imul(result, 31) + this.xif_1.hashCode() | 0;
    result = imul(result, 31) + (this.yif_1 == null ? 0 : getStringHashCode(this.yif_1)) | 0;
    result = imul(result, 31) + (this.zif_1 == null ? 0 : getStringHashCode(this.zif_1)) | 0;
    result = imul(result, 31) + (this.aig_1 == null ? 0 : getStringHashCode(this.aig_1)) | 0;
    result = imul(result, 31) + this.big_1.hashCode() | 0;
    result = imul(result, 31) + this.cig_1.hashCode() | 0;
    return result;
  };
  protoOf(ActivityLangMapEntry).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityLangMapEntry))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityLangMapEntry ? other : THROW_CCE();
    if (!this.wif_1.equals(tmp0_other_with_cast.wif_1))
      return false;
    if (!this.xif_1.equals(tmp0_other_with_cast.xif_1))
      return false;
    if (!(this.yif_1 == tmp0_other_with_cast.yif_1))
      return false;
    if (!(this.zif_1 == tmp0_other_with_cast.zif_1))
      return false;
    if (!(this.aig_1 == tmp0_other_with_cast.aig_1))
      return false;
    if (!this.big_1.equals(tmp0_other_with_cast.big_1))
      return false;
    if (!this.cig_1.equals(tmp0_other_with_cast.cig_1))
      return false;
    return true;
  };
  function Companion_121() {
    this.xk2_1 = 68;
  }
  var Companion_instance_122;
  function Companion_getInstance_124() {
    return Companion_instance_122;
  }
  function $serializer_115() {
    $serializer_instance_115 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActorEntity', this, 11);
    tmp0_serialDesc.y4l('actorUid', true);
    tmp0_serialDesc.y4l('actorPersonUid', true);
    tmp0_serialDesc.y4l('actorName', true);
    tmp0_serialDesc.y4l('actorMbox', true);
    tmp0_serialDesc.y4l('actorMbox_sha1sum', true);
    tmp0_serialDesc.y4l('actorOpenid', true);
    tmp0_serialDesc.y4l('actorAccountName', true);
    tmp0_serialDesc.y4l('actorAccountHomePage', true);
    tmp0_serialDesc.y4l('actorEtag', true);
    tmp0_serialDesc.y4l('actorLct', true);
    tmp0_serialDesc.y4l('actorObjectType', true);
    this.yk2_1 = tmp0_serialDesc;
  }
  protoOf($serializer_115).v4a = function () {
    return this.yk2_1;
  };
  protoOf($serializer_115).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_115).x4a = function (decoder) {
    var tmp0_desc = this.yk2_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = 0;
    var tmp15_input = decoder.n4e(tmp0_desc);
    if (tmp15_input.c4f()) {
      tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.s4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.b4f(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.b4f(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.b4f(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.b4f(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.s4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.o4e(tmp0_desc);
    return ActorEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_115).zk2 = function (encoder, value) {
    var tmp0_desc = this.yk2_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.mik_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.mik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.nik_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.nik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.oik_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.oik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.pik_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.pik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.qik_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 4, StringSerializer_getInstance(), value.qik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.rik_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, StringSerializer_getInstance(), value.rik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.sik_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, StringSerializer_getInstance(), value.sik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.tik_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 7, StringSerializer_getInstance(), value.tik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.uik_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.uik_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.vik_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.vik_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 10)) {
      tmp = true;
    } else {
      var tmp_0 = value.wik_1;
      tmp = !(tmp_0 === 1);
    }
    if (tmp) {
      tmp1_output.w4f(tmp0_desc, 10, value.wik_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_115).w4a = function (encoder, value) {
    return this.zk2(encoder, value instanceof ActorEntity ? value : THROW_CCE());
  };
  var $serializer_instance_115;
  function $serializer_getInstance_115() {
    if ($serializer_instance_115 == null)
      new $serializer_115();
    return $serializer_instance_115;
  }
  function ActorEntity_init_$Init$(seen1, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_115().yk2_1);
    }
    if (0 === (seen1 & 1))
      $this.mik_1 = new Long(0, 0);
    else
      $this.mik_1 = actorUid;
    if (0 === (seen1 & 2))
      $this.nik_1 = new Long(0, 0);
    else
      $this.nik_1 = actorPersonUid;
    if (0 === (seen1 & 4))
      $this.oik_1 = null;
    else
      $this.oik_1 = actorName;
    if (0 === (seen1 & 8))
      $this.pik_1 = null;
    else
      $this.pik_1 = actorMbox;
    if (0 === (seen1 & 16))
      $this.qik_1 = null;
    else
      $this.qik_1 = actorMbox_sha1sum;
    if (0 === (seen1 & 32))
      $this.rik_1 = null;
    else
      $this.rik_1 = actorOpenid;
    if (0 === (seen1 & 64))
      $this.sik_1 = null;
    else
      $this.sik_1 = actorAccountName;
    if (0 === (seen1 & 128))
      $this.tik_1 = null;
    else
      $this.tik_1 = actorAccountHomePage;
    if (0 === (seen1 & 256))
      $this.uik_1 = new Long(0, 0);
    else
      $this.uik_1 = actorEtag;
    if (0 === (seen1 & 512))
      $this.vik_1 = new Long(0, 0);
    else
      $this.vik_1 = actorLct;
    if (0 === (seen1 & 1024)) {
      var tmp = $this;
      tmp.wik_1 = 1;
    } else
      $this.wik_1 = actorObjectType;
    return $this;
  }
  function ActorEntity_init_$Create$(seen1, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, serializationConstructorMarker) {
    return ActorEntity_init_$Init$(seen1, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, serializationConstructorMarker, objectCreate(protoOf(ActorEntity)));
  }
  function ActorEntity(actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) {
    actorUid = actorUid === VOID ? new Long(0, 0) : actorUid;
    actorPersonUid = actorPersonUid === VOID ? new Long(0, 0) : actorPersonUid;
    actorName = actorName === VOID ? null : actorName;
    actorMbox = actorMbox === VOID ? null : actorMbox;
    actorMbox_sha1sum = actorMbox_sha1sum === VOID ? null : actorMbox_sha1sum;
    actorOpenid = actorOpenid === VOID ? null : actorOpenid;
    actorAccountName = actorAccountName === VOID ? null : actorAccountName;
    actorAccountHomePage = actorAccountHomePage === VOID ? null : actorAccountHomePage;
    actorEtag = actorEtag === VOID ? new Long(0, 0) : actorEtag;
    actorLct = actorLct === VOID ? new Long(0, 0) : actorLct;
    var tmp;
    if (actorObjectType === VOID) {
      tmp = 1;
    } else {
      tmp = actorObjectType;
    }
    actorObjectType = tmp;
    this.mik_1 = actorUid;
    this.nik_1 = actorPersonUid;
    this.oik_1 = actorName;
    this.pik_1 = actorMbox;
    this.qik_1 = actorMbox_sha1sum;
    this.rik_1 = actorOpenid;
    this.sik_1 = actorAccountName;
    this.tik_1 = actorAccountHomePage;
    this.uik_1 = actorEtag;
    this.vik_1 = actorLct;
    this.wik_1 = actorObjectType;
  }
  protoOf(ActorEntity).toString = function () {
    return 'ActorEntity(actorUid=' + this.mik_1.toString() + ', actorPersonUid=' + this.nik_1.toString() + ', actorName=' + this.oik_1 + ', actorMbox=' + this.pik_1 + ', actorMbox_sha1sum=' + this.qik_1 + ', actorOpenid=' + this.rik_1 + ', actorAccountName=' + this.sik_1 + ', actorAccountHomePage=' + this.tik_1 + ', actorEtag=' + this.uik_1.toString() + ', actorLct=' + this.vik_1.toString() + ', actorObjectType=' + this.wik_1 + ')';
  };
  protoOf(ActorEntity).hashCode = function () {
    var result = this.mik_1.hashCode();
    result = imul(result, 31) + this.nik_1.hashCode() | 0;
    result = imul(result, 31) + (this.oik_1 == null ? 0 : getStringHashCode(this.oik_1)) | 0;
    result = imul(result, 31) + (this.pik_1 == null ? 0 : getStringHashCode(this.pik_1)) | 0;
    result = imul(result, 31) + (this.qik_1 == null ? 0 : getStringHashCode(this.qik_1)) | 0;
    result = imul(result, 31) + (this.rik_1 == null ? 0 : getStringHashCode(this.rik_1)) | 0;
    result = imul(result, 31) + (this.sik_1 == null ? 0 : getStringHashCode(this.sik_1)) | 0;
    result = imul(result, 31) + (this.tik_1 == null ? 0 : getStringHashCode(this.tik_1)) | 0;
    result = imul(result, 31) + this.uik_1.hashCode() | 0;
    result = imul(result, 31) + this.vik_1.hashCode() | 0;
    result = imul(result, 31) + this.wik_1 | 0;
    return result;
  };
  protoOf(ActorEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActorEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActorEntity ? other : THROW_CCE();
    if (!this.mik_1.equals(tmp0_other_with_cast.mik_1))
      return false;
    if (!this.nik_1.equals(tmp0_other_with_cast.nik_1))
      return false;
    if (!(this.oik_1 == tmp0_other_with_cast.oik_1))
      return false;
    if (!(this.pik_1 == tmp0_other_with_cast.pik_1))
      return false;
    if (!(this.qik_1 == tmp0_other_with_cast.qik_1))
      return false;
    if (!(this.rik_1 == tmp0_other_with_cast.rik_1))
      return false;
    if (!(this.sik_1 == tmp0_other_with_cast.sik_1))
      return false;
    if (!(this.tik_1 == tmp0_other_with_cast.tik_1))
      return false;
    if (!this.uik_1.equals(tmp0_other_with_cast.uik_1))
      return false;
    if (!this.vik_1.equals(tmp0_other_with_cast.vik_1))
      return false;
    if (!(this.wik_1 === tmp0_other_with_cast.wik_1))
      return false;
    return true;
  };
  function Companion_122() {
    this.ak3_1 = 4232;
  }
  var Companion_instance_123;
  function Companion_getInstance_125() {
    return Companion_instance_123;
  }
  function $serializer_116() {
    $serializer_instance_116 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.GroupMemberActorJoin', this, 3);
    tmp0_serialDesc.y4l('gmajGroupActorUid', true);
    tmp0_serialDesc.y4l('gmajMemberActorUid', true);
    tmp0_serialDesc.y4l('gmajLastMod', true);
    this.bk3_1 = tmp0_serialDesc;
  }
  protoOf($serializer_116).v4a = function () {
    return this.bk3_1;
  };
  protoOf($serializer_116).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_116).x4a = function (decoder) {
    var tmp0_desc = this.bk3_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_input = decoder.n4e(tmp0_desc);
    if (tmp7_input.c4f()) {
      tmp4_local0 = tmp7_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.o4e(tmp0_desc);
    return GroupMemberActorJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_116).ck3 = function (encoder, value) {
    var tmp0_desc = this.bk3_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.jip_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.jip_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.kip_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.kip_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.lip_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.lip_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_116).w4a = function (encoder, value) {
    return this.ck3(encoder, value instanceof GroupMemberActorJoin ? value : THROW_CCE());
  };
  var $serializer_instance_116;
  function $serializer_getInstance_116() {
    if ($serializer_instance_116 == null)
      new $serializer_116();
    return $serializer_instance_116;
  }
  function GroupMemberActorJoin_init_$Init$(seen1, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_116().bk3_1);
    }
    if (0 === (seen1 & 1))
      $this.jip_1 = new Long(0, 0);
    else
      $this.jip_1 = gmajGroupActorUid;
    if (0 === (seen1 & 2))
      $this.kip_1 = new Long(0, 0);
    else
      $this.kip_1 = gmajMemberActorUid;
    if (0 === (seen1 & 4))
      $this.lip_1 = new Long(0, 0);
    else
      $this.lip_1 = gmajLastMod;
    return $this;
  }
  function GroupMemberActorJoin_init_$Create$(seen1, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, serializationConstructorMarker) {
    return GroupMemberActorJoin_init_$Init$(seen1, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, serializationConstructorMarker, objectCreate(protoOf(GroupMemberActorJoin)));
  }
  function GroupMemberActorJoin(gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) {
    gmajGroupActorUid = gmajGroupActorUid === VOID ? new Long(0, 0) : gmajGroupActorUid;
    gmajMemberActorUid = gmajMemberActorUid === VOID ? new Long(0, 0) : gmajMemberActorUid;
    gmajLastMod = gmajLastMod === VOID ? new Long(0, 0) : gmajLastMod;
    this.jip_1 = gmajGroupActorUid;
    this.kip_1 = gmajMemberActorUid;
    this.lip_1 = gmajLastMod;
  }
  protoOf(GroupMemberActorJoin).dk3 = function (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) {
    return new GroupMemberActorJoin(gmajGroupActorUid, gmajMemberActorUid, gmajLastMod);
  };
  protoOf(GroupMemberActorJoin).ek3 = function (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, $super) {
    gmajGroupActorUid = gmajGroupActorUid === VOID ? this.jip_1 : gmajGroupActorUid;
    gmajMemberActorUid = gmajMemberActorUid === VOID ? this.kip_1 : gmajMemberActorUid;
    gmajLastMod = gmajLastMod === VOID ? this.lip_1 : gmajLastMod;
    return $super === VOID ? this.dk3(gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) : $super.dk3.call(this, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod);
  };
  protoOf(GroupMemberActorJoin).toString = function () {
    return 'GroupMemberActorJoin(gmajGroupActorUid=' + this.jip_1.toString() + ', gmajMemberActorUid=' + this.kip_1.toString() + ', gmajLastMod=' + this.lip_1.toString() + ')';
  };
  protoOf(GroupMemberActorJoin).hashCode = function () {
    var result = this.jip_1.hashCode();
    result = imul(result, 31) + this.kip_1.hashCode() | 0;
    result = imul(result, 31) + this.lip_1.hashCode() | 0;
    return result;
  };
  protoOf(GroupMemberActorJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof GroupMemberActorJoin))
      return false;
    var tmp0_other_with_cast = other instanceof GroupMemberActorJoin ? other : THROW_CCE();
    if (!this.jip_1.equals(tmp0_other_with_cast.jip_1))
      return false;
    if (!this.kip_1.equals(tmp0_other_with_cast.kip_1))
      return false;
    if (!this.lip_1.equals(tmp0_other_with_cast.lip_1))
      return false;
    return true;
  };
  function Companion_123() {
    this.fk3_1 = 121422;
  }
  var Companion_instance_124;
  function Companion_getInstance_126() {
    return Companion_instance_124;
  }
  function $serializer_117() {
    $serializer_instance_117 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StateDeleteCommand', this, 7);
    tmp0_serialDesc.y4l('sdcActorUid', true);
    tmp0_serialDesc.y4l('sdcHash', true);
    tmp0_serialDesc.y4l('sdcActivityUid', true);
    tmp0_serialDesc.y4l('sdcStateId', true);
    tmp0_serialDesc.y4l('sdcLastMod', true);
    tmp0_serialDesc.y4l('sdcRegistrationHi', true);
    tmp0_serialDesc.y4l('sdcRegistrationLo', true);
    this.gk3_1 = tmp0_serialDesc;
  }
  protoOf($serializer_117).v4a = function () {
    return this.gk3_1;
  };
  protoOf($serializer_117).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(LongSerializer_getInstance()), get_nullable(LongSerializer_getInstance())];
  };
  protoOf($serializer_117).x4a = function (decoder) {
    var tmp0_desc = this.gk3_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_input = decoder.n4e(tmp0_desc);
    if (tmp11_input.c4f()) {
      tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, LongSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.b4f(tmp0_desc, 6, LongSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.b4f(tmp0_desc, 5, LongSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.b4f(tmp0_desc, 6, LongSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.o4e(tmp0_desc);
    return StateDeleteCommand_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_117).hk3 = function (encoder, value) {
    var tmp0_desc = this.gk3_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.lis_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.lis_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.mis_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.mis_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.nis_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.nis_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.ois_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.ois_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.pis_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.pis_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !(value.qis_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 5, LongSerializer_getInstance(), value.qis_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.ris_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 6, LongSerializer_getInstance(), value.ris_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_117).w4a = function (encoder, value) {
    return this.hk3(encoder, value instanceof StateDeleteCommand ? value : THROW_CCE());
  };
  var $serializer_instance_117;
  function $serializer_getInstance_117() {
    if ($serializer_instance_117 == null)
      new $serializer_117();
    return $serializer_instance_117;
  }
  function StateDeleteCommand_init_$Init$(seen1, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_117().gk3_1);
    }
    if (0 === (seen1 & 1))
      $this.lis_1 = new Long(0, 0);
    else
      $this.lis_1 = sdcActorUid;
    if (0 === (seen1 & 2))
      $this.mis_1 = new Long(0, 0);
    else
      $this.mis_1 = sdcHash;
    if (0 === (seen1 & 4))
      $this.nis_1 = new Long(0, 0);
    else
      $this.nis_1 = sdcActivityUid;
    if (0 === (seen1 & 8))
      $this.ois_1 = null;
    else
      $this.ois_1 = sdcStateId;
    if (0 === (seen1 & 16))
      $this.pis_1 = new Long(0, 0);
    else
      $this.pis_1 = sdcLastMod;
    if (0 === (seen1 & 32))
      $this.qis_1 = null;
    else
      $this.qis_1 = sdcRegistrationHi;
    if (0 === (seen1 & 64))
      $this.ris_1 = null;
    else
      $this.ris_1 = sdcRegistrationLo;
    return $this;
  }
  function StateDeleteCommand_init_$Create$(seen1, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, serializationConstructorMarker) {
    return StateDeleteCommand_init_$Init$(seen1, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, serializationConstructorMarker, objectCreate(protoOf(StateDeleteCommand)));
  }
  function StateDeleteCommand(sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) {
    sdcActorUid = sdcActorUid === VOID ? new Long(0, 0) : sdcActorUid;
    sdcHash = sdcHash === VOID ? new Long(0, 0) : sdcHash;
    sdcActivityUid = sdcActivityUid === VOID ? new Long(0, 0) : sdcActivityUid;
    sdcStateId = sdcStateId === VOID ? null : sdcStateId;
    sdcLastMod = sdcLastMod === VOID ? new Long(0, 0) : sdcLastMod;
    sdcRegistrationHi = sdcRegistrationHi === VOID ? null : sdcRegistrationHi;
    sdcRegistrationLo = sdcRegistrationLo === VOID ? null : sdcRegistrationLo;
    this.lis_1 = sdcActorUid;
    this.mis_1 = sdcHash;
    this.nis_1 = sdcActivityUid;
    this.ois_1 = sdcStateId;
    this.pis_1 = sdcLastMod;
    this.qis_1 = sdcRegistrationHi;
    this.ris_1 = sdcRegistrationLo;
  }
  protoOf(StateDeleteCommand).toString = function () {
    return 'StateDeleteCommand(sdcActorUid=' + this.lis_1.toString() + ', sdcHash=' + this.mis_1.toString() + ', sdcActivityUid=' + this.nis_1.toString() + ', sdcStateId=' + this.ois_1 + ', sdcLastMod=' + this.pis_1.toString() + ', sdcRegistrationHi=' + toString(this.qis_1) + ', sdcRegistrationLo=' + toString(this.ris_1) + ')';
  };
  protoOf(StateDeleteCommand).hashCode = function () {
    var result = this.lis_1.hashCode();
    result = imul(result, 31) + this.mis_1.hashCode() | 0;
    result = imul(result, 31) + this.nis_1.hashCode() | 0;
    result = imul(result, 31) + (this.ois_1 == null ? 0 : getStringHashCode(this.ois_1)) | 0;
    result = imul(result, 31) + this.pis_1.hashCode() | 0;
    result = imul(result, 31) + (this.qis_1 == null ? 0 : this.qis_1.hashCode()) | 0;
    result = imul(result, 31) + (this.ris_1 == null ? 0 : this.ris_1.hashCode()) | 0;
    return result;
  };
  protoOf(StateDeleteCommand).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StateDeleteCommand))
      return false;
    var tmp0_other_with_cast = other instanceof StateDeleteCommand ? other : THROW_CCE();
    if (!this.lis_1.equals(tmp0_other_with_cast.lis_1))
      return false;
    if (!this.mis_1.equals(tmp0_other_with_cast.mis_1))
      return false;
    if (!this.nis_1.equals(tmp0_other_with_cast.nis_1))
      return false;
    if (!(this.ois_1 == tmp0_other_with_cast.ois_1))
      return false;
    if (!this.pis_1.equals(tmp0_other_with_cast.pis_1))
      return false;
    if (!equals(this.qis_1, tmp0_other_with_cast.qis_1))
      return false;
    if (!equals(this.ris_1, tmp0_other_with_cast.ris_1))
      return false;
    return true;
  };
  function Companion_124() {
    this.ik3_1 = 3289;
  }
  var Companion_instance_125;
  function Companion_getInstance_127() {
    return Companion_instance_125;
  }
  function $serializer_118() {
    $serializer_instance_118 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StateEntity', this, 14);
    tmp0_serialDesc.y4l('seActorUid', true);
    tmp0_serialDesc.y4l('seHash', true);
    tmp0_serialDesc.y4l('seActivityUid', true);
    tmp0_serialDesc.y4l('seStateId', true);
    tmp0_serialDesc.y4l('seLastMod', true);
    tmp0_serialDesc.y4l('seTimeStored', true);
    tmp0_serialDesc.y4l('seContentType', true);
    tmp0_serialDesc.y4l('seCompressed', true);
    tmp0_serialDesc.y4l('seContent', true);
    tmp0_serialDesc.y4l('seDeleted', true);
    tmp0_serialDesc.y4l('seRegistrationHi', true);
    tmp0_serialDesc.y4l('seRegistrationLo', true);
    tmp0_serialDesc.y4l('seH5PPreloaded', true);
    tmp0_serialDesc.y4l('seH5PSubContentId', true);
    this.jk3_1 = tmp0_serialDesc;
  }
  protoOf($serializer_118).v4a = function () {
    return this.jk3_1;
  };
  protoOf($serializer_118).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), IntSerializer_getInstance(), StringSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(LongSerializer_getInstance()), get_nullable(LongSerializer_getInstance()), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_118).x4a = function (decoder) {
    var tmp0_desc = this.jk3_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = null;
    var tmp11_local7 = 0;
    var tmp12_local8 = null;
    var tmp13_local9 = false;
    var tmp14_local10 = null;
    var tmp15_local11 = null;
    var tmp16_local12 = false;
    var tmp17_local13 = null;
    var tmp18_input = decoder.n4e(tmp0_desc);
    if (tmp18_input.c4f()) {
      tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.x4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.x4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.x4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.p4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.b4f(tmp0_desc, 10, LongSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.b4f(tmp0_desc, 11, LongSerializer_getInstance(), tmp15_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.p4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.x4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.x4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.s4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.x4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.p4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.b4f(tmp0_desc, 10, LongSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.b4f(tmp0_desc, 11, LongSerializer_getInstance(), tmp15_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.p4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.b4f(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.o4e(tmp0_desc);
    return StateEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_118).kk3 = function (encoder, value) {
    var tmp0_desc = this.jk3_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.fit_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.fit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.git_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.git_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.hit_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.hit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.iit_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 3, value.iit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.jit_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.jit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.kit_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.kit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !(value.lit_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 6, value.lit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.mit_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 7, value.mit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !(value.nit_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 8, value.nit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !(value.oit_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 9, value.oit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.pit_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 10, LongSerializer_getInstance(), value.pit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.qit_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 11, LongSerializer_getInstance(), value.qit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.rit_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 12, value.rit_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.sit_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, StringSerializer_getInstance(), value.sit_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_118).w4a = function (encoder, value) {
    return this.kk3(encoder, value instanceof StateEntity ? value : THROW_CCE());
  };
  var $serializer_instance_118;
  function $serializer_getInstance_118() {
    if ($serializer_instance_118 == null)
      new $serializer_118();
    return $serializer_instance_118;
  }
  function StateEntity_init_$Init$(seen1, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_118().jk3_1);
    }
    if (0 === (seen1 & 1))
      $this.fit_1 = new Long(0, 0);
    else
      $this.fit_1 = seActorUid;
    if (0 === (seen1 & 2))
      $this.git_1 = new Long(0, 0);
    else
      $this.git_1 = seHash;
    if (0 === (seen1 & 4))
      $this.hit_1 = new Long(0, 0);
    else
      $this.hit_1 = seActivityUid;
    if (0 === (seen1 & 8))
      $this.iit_1 = '';
    else
      $this.iit_1 = seStateId;
    if (0 === (seen1 & 16))
      $this.jit_1 = new Long(0, 0);
    else
      $this.jit_1 = seLastMod;
    if (0 === (seen1 & 32))
      $this.kit_1 = new Long(0, 0);
    else
      $this.kit_1 = seTimeStored;
    if (0 === (seen1 & 64))
      $this.lit_1 = '';
    else
      $this.lit_1 = seContentType;
    if (0 === (seen1 & 128))
      $this.mit_1 = 0;
    else
      $this.mit_1 = seCompressed;
    if (0 === (seen1 & 256))
      $this.nit_1 = '';
    else
      $this.nit_1 = seContent;
    if (0 === (seen1 & 512))
      $this.oit_1 = false;
    else
      $this.oit_1 = seDeleted;
    if (0 === (seen1 & 1024))
      $this.pit_1 = null;
    else
      $this.pit_1 = seRegistrationHi;
    if (0 === (seen1 & 2048))
      $this.qit_1 = null;
    else
      $this.qit_1 = seRegistrationLo;
    if (0 === (seen1 & 4096))
      $this.rit_1 = false;
    else
      $this.rit_1 = seH5PPreloaded;
    if (0 === (seen1 & 8192))
      $this.sit_1 = null;
    else
      $this.sit_1 = seH5PSubContentId;
    return $this;
  }
  function StateEntity_init_$Create$(seen1, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, serializationConstructorMarker) {
    return StateEntity_init_$Init$(seen1, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, serializationConstructorMarker, objectCreate(protoOf(StateEntity)));
  }
  function StateEntity(seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) {
    seActorUid = seActorUid === VOID ? new Long(0, 0) : seActorUid;
    seHash = seHash === VOID ? new Long(0, 0) : seHash;
    seActivityUid = seActivityUid === VOID ? new Long(0, 0) : seActivityUid;
    seStateId = seStateId === VOID ? '' : seStateId;
    seLastMod = seLastMod === VOID ? new Long(0, 0) : seLastMod;
    seTimeStored = seTimeStored === VOID ? new Long(0, 0) : seTimeStored;
    seContentType = seContentType === VOID ? '' : seContentType;
    seCompressed = seCompressed === VOID ? 0 : seCompressed;
    seContent = seContent === VOID ? '' : seContent;
    seDeleted = seDeleted === VOID ? false : seDeleted;
    seRegistrationHi = seRegistrationHi === VOID ? null : seRegistrationHi;
    seRegistrationLo = seRegistrationLo === VOID ? null : seRegistrationLo;
    seH5PPreloaded = seH5PPreloaded === VOID ? false : seH5PPreloaded;
    seH5PSubContentId = seH5PSubContentId === VOID ? null : seH5PSubContentId;
    this.fit_1 = seActorUid;
    this.git_1 = seHash;
    this.hit_1 = seActivityUid;
    this.iit_1 = seStateId;
    this.jit_1 = seLastMod;
    this.kit_1 = seTimeStored;
    this.lit_1 = seContentType;
    this.mit_1 = seCompressed;
    this.nit_1 = seContent;
    this.oit_1 = seDeleted;
    this.pit_1 = seRegistrationHi;
    this.qit_1 = seRegistrationLo;
    this.rit_1 = seH5PPreloaded;
    this.sit_1 = seH5PSubContentId;
  }
  protoOf(StateEntity).toString = function () {
    return 'StateEntity(seActorUid=' + this.fit_1.toString() + ', seHash=' + this.git_1.toString() + ', seActivityUid=' + this.hit_1.toString() + ', seStateId=' + this.iit_1 + ', seLastMod=' + this.jit_1.toString() + ', seTimeStored=' + this.kit_1.toString() + ', seContentType=' + this.lit_1 + ', seCompressed=' + this.mit_1 + ', seContent=' + this.nit_1 + ', seDeleted=' + this.oit_1 + ', seRegistrationHi=' + toString(this.pit_1) + ', seRegistrationLo=' + toString(this.qit_1) + ', seH5PPreloaded=' + this.rit_1 + ', seH5PSubContentId=' + this.sit_1 + ')';
  };
  protoOf(StateEntity).hashCode = function () {
    var result = this.fit_1.hashCode();
    result = imul(result, 31) + this.git_1.hashCode() | 0;
    result = imul(result, 31) + this.hit_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.iit_1) | 0;
    result = imul(result, 31) + this.jit_1.hashCode() | 0;
    result = imul(result, 31) + this.kit_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.lit_1) | 0;
    result = imul(result, 31) + this.mit_1 | 0;
    result = imul(result, 31) + getStringHashCode(this.nit_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.oit_1) | 0;
    result = imul(result, 31) + (this.pit_1 == null ? 0 : this.pit_1.hashCode()) | 0;
    result = imul(result, 31) + (this.qit_1 == null ? 0 : this.qit_1.hashCode()) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.rit_1) | 0;
    result = imul(result, 31) + (this.sit_1 == null ? 0 : getStringHashCode(this.sit_1)) | 0;
    return result;
  };
  protoOf(StateEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StateEntity))
      return false;
    var tmp0_other_with_cast = other instanceof StateEntity ? other : THROW_CCE();
    if (!this.fit_1.equals(tmp0_other_with_cast.fit_1))
      return false;
    if (!this.git_1.equals(tmp0_other_with_cast.git_1))
      return false;
    if (!this.hit_1.equals(tmp0_other_with_cast.hit_1))
      return false;
    if (!(this.iit_1 === tmp0_other_with_cast.iit_1))
      return false;
    if (!this.jit_1.equals(tmp0_other_with_cast.jit_1))
      return false;
    if (!this.kit_1.equals(tmp0_other_with_cast.kit_1))
      return false;
    if (!(this.lit_1 === tmp0_other_with_cast.lit_1))
      return false;
    if (!(this.mit_1 === tmp0_other_with_cast.mit_1))
      return false;
    if (!(this.nit_1 === tmp0_other_with_cast.nit_1))
      return false;
    if (!(this.oit_1 === tmp0_other_with_cast.oit_1))
      return false;
    if (!equals(this.pit_1, tmp0_other_with_cast.pit_1))
      return false;
    if (!equals(this.qit_1, tmp0_other_with_cast.qit_1))
      return false;
    if (!(this.rit_1 === tmp0_other_with_cast.rit_1))
      return false;
    if (!(this.sit_1 == tmp0_other_with_cast.sit_1))
      return false;
    return true;
  };
  function Companion_125() {
    this.lk3_1 = 1;
    this.mk3_1 = 2;
    this.nk3_1 = 3;
    this.ok3_1 = 4;
    this.pk3_1 = 44044;
  }
  var Companion_instance_126;
  function Companion_getInstance_128() {
    return Companion_instance_126;
  }
  function StatementContextActivityJoin(scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) {
    scajFromStatementIdHi = scajFromStatementIdHi === VOID ? new Long(0, 0) : scajFromStatementIdHi;
    scajFromStatementIdLo = scajFromStatementIdLo === VOID ? new Long(0, 0) : scajFromStatementIdLo;
    scajToHash = scajToHash === VOID ? new Long(0, 0) : scajToHash;
    scajContextType = scajContextType === VOID ? 0 : scajContextType;
    scajToActivityUid = scajToActivityUid === VOID ? new Long(0, 0) : scajToActivityUid;
    scajToActivityId = scajToActivityId === VOID ? null : scajToActivityId;
    scajEtag = scajEtag === VOID ? new Long(1, 0) : scajEtag;
    this.hiu_1 = scajFromStatementIdHi;
    this.iiu_1 = scajFromStatementIdLo;
    this.jiu_1 = scajToHash;
    this.kiu_1 = scajContextType;
    this.liu_1 = scajToActivityUid;
    this.miu_1 = scajToActivityId;
    this.niu_1 = scajEtag;
  }
  protoOf(StatementContextActivityJoin).toString = function () {
    return 'StatementContextActivityJoin(scajFromStatementIdHi=' + this.hiu_1.toString() + ', scajFromStatementIdLo=' + this.iiu_1.toString() + ', scajToHash=' + this.jiu_1.toString() + ', scajContextType=' + this.kiu_1 + ', scajToActivityUid=' + this.liu_1.toString() + ', scajToActivityId=' + this.miu_1 + ', scajEtag=' + this.niu_1.toString() + ')';
  };
  protoOf(StatementContextActivityJoin).hashCode = function () {
    var result = this.hiu_1.hashCode();
    result = imul(result, 31) + this.iiu_1.hashCode() | 0;
    result = imul(result, 31) + this.jiu_1.hashCode() | 0;
    result = imul(result, 31) + this.kiu_1 | 0;
    result = imul(result, 31) + this.liu_1.hashCode() | 0;
    result = imul(result, 31) + (this.miu_1 == null ? 0 : getStringHashCode(this.miu_1)) | 0;
    result = imul(result, 31) + this.niu_1.hashCode() | 0;
    return result;
  };
  protoOf(StatementContextActivityJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementContextActivityJoin))
      return false;
    var tmp0_other_with_cast = other instanceof StatementContextActivityJoin ? other : THROW_CCE();
    if (!this.hiu_1.equals(tmp0_other_with_cast.hiu_1))
      return false;
    if (!this.iiu_1.equals(tmp0_other_with_cast.iiu_1))
      return false;
    if (!this.jiu_1.equals(tmp0_other_with_cast.jiu_1))
      return false;
    if (!(this.kiu_1 === tmp0_other_with_cast.kiu_1))
      return false;
    if (!this.liu_1.equals(tmp0_other_with_cast.liu_1))
      return false;
    if (!(this.miu_1 == tmp0_other_with_cast.miu_1))
      return false;
    if (!this.niu_1.equals(tmp0_other_with_cast.niu_1))
      return false;
    return true;
  };
  function Companion_126() {
    this.qk3_1 = 60;
    this.rk3_1 = 0;
    this.sk3_1 = 2;
    this.tk3_1 = 1;
    this.uk3_1 = 100;
    this.vk3_1 = 101;
    this.wk3_1 = 102;
    this.xk3_1 = 103;
  }
  var Companion_instance_127;
  function Companion_getInstance_129() {
    return Companion_instance_127;
  }
  function $serializer_119() {
    $serializer_instance_119 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StatementEntity', this, 35);
    tmp0_serialDesc.y4l('statementIdHi', true);
    tmp0_serialDesc.y4l('statementIdLo', true);
    tmp0_serialDesc.y4l('statementActorPersonUid', true);
    tmp0_serialDesc.y4l('statementVerbUid', true);
    tmp0_serialDesc.y4l('statementObjectType', true);
    tmp0_serialDesc.y4l('statementObjectUid1', true);
    tmp0_serialDesc.y4l('statementObjectUid2', true);
    tmp0_serialDesc.y4l('statementActorUid', true);
    tmp0_serialDesc.y4l('authorityActorUid', true);
    tmp0_serialDesc.y4l('teamUid', true);
    tmp0_serialDesc.y4l('resultCompletion', true);
    tmp0_serialDesc.y4l('resultSuccess', true);
    tmp0_serialDesc.y4l('resultScoreScaled', true);
    tmp0_serialDesc.y4l('resultScoreRaw', true);
    tmp0_serialDesc.y4l('resultScoreMin', true);
    tmp0_serialDesc.y4l('resultScoreMax', true);
    tmp0_serialDesc.y4l('resultDuration', true);
    tmp0_serialDesc.y4l('resultResponse', true);
    tmp0_serialDesc.y4l('timestamp', true);
    tmp0_serialDesc.y4l('stored', true);
    tmp0_serialDesc.y4l('contextRegistrationHi', true);
    tmp0_serialDesc.y4l('contextRegistrationLo', true);
    tmp0_serialDesc.y4l('contextPlatform', true);
    tmp0_serialDesc.y4l('contextStatementRefIdHi', true);
    tmp0_serialDesc.y4l('contextStatementRefIdLo', true);
    tmp0_serialDesc.y4l('contextInstructorActorUid', true);
    tmp0_serialDesc.y4l('statementLct', true);
    tmp0_serialDesc.y4l('extensionProgress', true);
    tmp0_serialDesc.y4l('completionOrProgress', true);
    tmp0_serialDesc.y4l('statementContentEntryUid', true);
    tmp0_serialDesc.y4l('statementLearnerGroupUid', true);
    tmp0_serialDesc.y4l('statementClazzUid', true);
    tmp0_serialDesc.y4l('statementCbUid', true);
    tmp0_serialDesc.y4l('statementDoorNode', true);
    tmp0_serialDesc.y4l('isSubStatement', true);
    this.yk3_1 = tmp0_serialDesc;
  }
  protoOf($serializer_119).v4a = function () {
    return this.yk3_1;
  };
  protoOf($serializer_119).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(BooleanSerializer_getInstance()), get_nullable(BooleanSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(LongSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(IntSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_119).x4a = function (decoder) {
    var tmp0_desc = this.yk3_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_bitMask1 = 0;
    var tmp5_local0 = new Long(0, 0);
    var tmp6_local1 = new Long(0, 0);
    var tmp7_local2 = new Long(0, 0);
    var tmp8_local3 = new Long(0, 0);
    var tmp9_local4 = 0;
    var tmp10_local5 = new Long(0, 0);
    var tmp11_local6 = new Long(0, 0);
    var tmp12_local7 = new Long(0, 0);
    var tmp13_local8 = new Long(0, 0);
    var tmp14_local9 = new Long(0, 0);
    var tmp15_local10 = null;
    var tmp16_local11 = null;
    var tmp17_local12 = null;
    var tmp18_local13 = null;
    var tmp19_local14 = null;
    var tmp20_local15 = null;
    var tmp21_local16 = null;
    var tmp22_local17 = null;
    var tmp23_local18 = new Long(0, 0);
    var tmp24_local19 = new Long(0, 0);
    var tmp25_local20 = new Long(0, 0);
    var tmp26_local21 = new Long(0, 0);
    var tmp27_local22 = null;
    var tmp28_local23 = new Long(0, 0);
    var tmp29_local24 = new Long(0, 0);
    var tmp30_local25 = new Long(0, 0);
    var tmp31_local26 = new Long(0, 0);
    var tmp32_local27 = null;
    var tmp33_local28 = false;
    var tmp34_local29 = new Long(0, 0);
    var tmp35_local30 = new Long(0, 0);
    var tmp36_local31 = new Long(0, 0);
    var tmp37_local32 = new Long(0, 0);
    var tmp38_local33 = new Long(0, 0);
    var tmp39_local34 = false;
    var tmp40_input = decoder.n4e(tmp0_desc);
    if (tmp40_input.c4f()) {
      tmp5_local0 = tmp40_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp6_local1 = tmp40_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp7_local2 = tmp40_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp8_local3 = tmp40_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp9_local4 = tmp40_input.s4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp10_local5 = tmp40_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp11_local6 = tmp40_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp12_local7 = tmp40_input.t4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp13_local8 = tmp40_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp14_local9 = tmp40_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp15_local10 = tmp40_input.b4f(tmp0_desc, 10, BooleanSerializer_getInstance(), tmp15_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp16_local11 = tmp40_input.b4f(tmp0_desc, 11, BooleanSerializer_getInstance(), tmp16_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp17_local12 = tmp40_input.b4f(tmp0_desc, 12, FloatSerializer_getInstance(), tmp17_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp18_local13 = tmp40_input.b4f(tmp0_desc, 13, FloatSerializer_getInstance(), tmp18_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp19_local14 = tmp40_input.b4f(tmp0_desc, 14, FloatSerializer_getInstance(), tmp19_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp20_local15 = tmp40_input.b4f(tmp0_desc, 15, FloatSerializer_getInstance(), tmp20_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp21_local16 = tmp40_input.b4f(tmp0_desc, 16, LongSerializer_getInstance(), tmp21_local16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp22_local17 = tmp40_input.b4f(tmp0_desc, 17, StringSerializer_getInstance(), tmp22_local17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp23_local18 = tmp40_input.t4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp24_local19 = tmp40_input.t4e(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp25_local20 = tmp40_input.t4e(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp26_local21 = tmp40_input.t4e(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp27_local22 = tmp40_input.b4f(tmp0_desc, 22, StringSerializer_getInstance(), tmp27_local22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp28_local23 = tmp40_input.t4e(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp29_local24 = tmp40_input.t4e(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp30_local25 = tmp40_input.t4e(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp31_local26 = tmp40_input.t4e(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp32_local27 = tmp40_input.b4f(tmp0_desc, 27, IntSerializer_getInstance(), tmp32_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
      tmp33_local28 = tmp40_input.p4e(tmp0_desc, 28);
      tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
      tmp34_local29 = tmp40_input.t4e(tmp0_desc, 29);
      tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
      tmp35_local30 = tmp40_input.t4e(tmp0_desc, 30);
      tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
      tmp36_local31 = tmp40_input.t4e(tmp0_desc, 31);
      tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
      tmp37_local32 = tmp40_input.t4e(tmp0_desc, 32);
      tmp4_bitMask1 = tmp4_bitMask1 | 1;
      tmp38_local33 = tmp40_input.t4e(tmp0_desc, 33);
      tmp4_bitMask1 = tmp4_bitMask1 | 2;
      tmp39_local34 = tmp40_input.p4e(tmp0_desc, 34);
      tmp4_bitMask1 = tmp4_bitMask1 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp40_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp5_local0 = tmp40_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp6_local1 = tmp40_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp7_local2 = tmp40_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp8_local3 = tmp40_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp9_local4 = tmp40_input.s4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp10_local5 = tmp40_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp11_local6 = tmp40_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp12_local7 = tmp40_input.t4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp13_local8 = tmp40_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp14_local9 = tmp40_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp15_local10 = tmp40_input.b4f(tmp0_desc, 10, BooleanSerializer_getInstance(), tmp15_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp16_local11 = tmp40_input.b4f(tmp0_desc, 11, BooleanSerializer_getInstance(), tmp16_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp17_local12 = tmp40_input.b4f(tmp0_desc, 12, FloatSerializer_getInstance(), tmp17_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp18_local13 = tmp40_input.b4f(tmp0_desc, 13, FloatSerializer_getInstance(), tmp18_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp19_local14 = tmp40_input.b4f(tmp0_desc, 14, FloatSerializer_getInstance(), tmp19_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp20_local15 = tmp40_input.b4f(tmp0_desc, 15, FloatSerializer_getInstance(), tmp20_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp21_local16 = tmp40_input.b4f(tmp0_desc, 16, LongSerializer_getInstance(), tmp21_local16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp22_local17 = tmp40_input.b4f(tmp0_desc, 17, StringSerializer_getInstance(), tmp22_local17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp23_local18 = tmp40_input.t4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp24_local19 = tmp40_input.t4e(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp25_local20 = tmp40_input.t4e(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp26_local21 = tmp40_input.t4e(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp27_local22 = tmp40_input.b4f(tmp0_desc, 22, StringSerializer_getInstance(), tmp27_local22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp28_local23 = tmp40_input.t4e(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp29_local24 = tmp40_input.t4e(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp30_local25 = tmp40_input.t4e(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp31_local26 = tmp40_input.t4e(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp32_local27 = tmp40_input.b4f(tmp0_desc, 27, IntSerializer_getInstance(), tmp32_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          case 28:
            tmp33_local28 = tmp40_input.p4e(tmp0_desc, 28);
            tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
            break;
          case 29:
            tmp34_local29 = tmp40_input.t4e(tmp0_desc, 29);
            tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
            break;
          case 30:
            tmp35_local30 = tmp40_input.t4e(tmp0_desc, 30);
            tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
            break;
          case 31:
            tmp36_local31 = tmp40_input.t4e(tmp0_desc, 31);
            tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
            break;
          case 32:
            tmp37_local32 = tmp40_input.t4e(tmp0_desc, 32);
            tmp4_bitMask1 = tmp4_bitMask1 | 1;
            break;
          case 33:
            tmp38_local33 = tmp40_input.t4e(tmp0_desc, 33);
            tmp4_bitMask1 = tmp4_bitMask1 | 2;
            break;
          case 34:
            tmp39_local34 = tmp40_input.p4e(tmp0_desc, 34);
            tmp4_bitMask1 = tmp4_bitMask1 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp40_input.o4e(tmp0_desc);
    return StatementEntity_init_$Create$(tmp3_bitMask0, tmp4_bitMask1, tmp5_local0, tmp6_local1, tmp7_local2, tmp8_local3, tmp9_local4, tmp10_local5, tmp11_local6, tmp12_local7, tmp13_local8, tmp14_local9, tmp15_local10, tmp16_local11, tmp17_local12, tmp18_local13, tmp19_local14, tmp20_local15, tmp21_local16, tmp22_local17, tmp23_local18, tmp24_local19, tmp25_local20, tmp26_local21, tmp27_local22, tmp28_local23, tmp29_local24, tmp30_local25, tmp31_local26, tmp32_local27, tmp33_local28, tmp34_local29, tmp35_local30, tmp36_local31, tmp37_local32, tmp38_local33, tmp39_local34, null);
  };
  protoOf($serializer_119).zk3 = function (encoder, value) {
    var tmp0_desc = this.yk3_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.jiv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.jiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.kiv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.kiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.liv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.liv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.miv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.miv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !(value.niv_1 === 0)) {
      tmp1_output.w4f(tmp0_desc, 4, value.niv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.oiv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.oiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.piv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.piv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !value.qiv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 7, value.qiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.riv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.riv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.siv_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.siv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !(value.tiv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 10, BooleanSerializer_getInstance(), value.tiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !(value.uiv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 11, BooleanSerializer_getInstance(), value.uiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.viv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 12, FloatSerializer_getInstance(), value.viv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !(value.wiv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 13, FloatSerializer_getInstance(), value.wiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !(value.xiv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 14, FloatSerializer_getInstance(), value.xiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 15) ? true : !(value.yiv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 15, FloatSerializer_getInstance(), value.yiv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.ziv_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 16, LongSerializer_getInstance(), value.ziv_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.aiw_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 17, StringSerializer_getInstance(), value.aiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !value.biw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 18, value.biw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 19) ? true : !value.ciw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 19, value.ciw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 20) ? true : !value.diw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 20, value.diw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 21) ? true : !value.eiw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 21, value.eiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 22) ? true : !(value.fiw_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 22, StringSerializer_getInstance(), value.fiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 23) ? true : !value.giw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 23, value.giw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 24) ? true : !value.hiw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 24, value.hiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 25) ? true : !value.iiw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 25, value.iiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 26) ? true : !value.jiw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 26, value.jiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 27) ? true : !(value.kiw_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 27, IntSerializer_getInstance(), value.kiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 28) ? true : !(value.liw_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 28, value.liw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 29) ? true : !value.miw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 29, value.miw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 30) ? true : !value.niw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 30, value.niw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 31) ? true : !value.oiw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 31, value.oiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 32) ? true : !value.piw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 32, value.piw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 33) ? true : !value.qiw_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 33, value.qiw_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 34) ? true : !(value.riw_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 34, value.riw_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_119).w4a = function (encoder, value) {
    return this.zk3(encoder, value instanceof StatementEntity ? value : THROW_CCE());
  };
  var $serializer_instance_119;
  function $serializer_getInstance_119() {
    if ($serializer_instance_119 == null)
      new $serializer_119();
    return $serializer_instance_119;
  }
  function StatementEntity_init_$Init$(seen1, seen2, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, serializationConstructorMarker, $this) {
    if (!!(!(0 === (0 & seen1)) | !(0 === (0 & seen2)))) {
      // Inline function 'kotlin.intArrayOf' call
      var tmp = new Int32Array([seen1, seen2]);
      // Inline function 'kotlin.intArrayOf' call
      var tmp$ret$1 = new Int32Array([0, 0]);
      throwArrayMissingFieldException(tmp, tmp$ret$1, $serializer_getInstance_119().yk3_1);
    }
    if (0 === (seen1 & 1))
      $this.jiv_1 = new Long(0, 0);
    else
      $this.jiv_1 = statementIdHi;
    if (0 === (seen1 & 2))
      $this.kiv_1 = new Long(0, 0);
    else
      $this.kiv_1 = statementIdLo;
    if (0 === (seen1 & 4))
      $this.liv_1 = new Long(0, 0);
    else
      $this.liv_1 = statementActorPersonUid;
    if (0 === (seen1 & 8))
      $this.miv_1 = new Long(0, 0);
    else
      $this.miv_1 = statementVerbUid;
    if (0 === (seen1 & 16))
      $this.niv_1 = 0;
    else
      $this.niv_1 = statementObjectType;
    if (0 === (seen1 & 32))
      $this.oiv_1 = new Long(0, 0);
    else
      $this.oiv_1 = statementObjectUid1;
    if (0 === (seen1 & 64))
      $this.piv_1 = new Long(0, 0);
    else
      $this.piv_1 = statementObjectUid2;
    if (0 === (seen1 & 128))
      $this.qiv_1 = new Long(0, 0);
    else
      $this.qiv_1 = statementActorUid;
    if (0 === (seen1 & 256))
      $this.riv_1 = new Long(0, 0);
    else
      $this.riv_1 = authorityActorUid;
    if (0 === (seen1 & 512))
      $this.siv_1 = new Long(0, 0);
    else
      $this.siv_1 = teamUid;
    if (0 === (seen1 & 1024))
      $this.tiv_1 = null;
    else
      $this.tiv_1 = resultCompletion;
    if (0 === (seen1 & 2048))
      $this.uiv_1 = null;
    else
      $this.uiv_1 = resultSuccess;
    if (0 === (seen1 & 4096))
      $this.viv_1 = null;
    else
      $this.viv_1 = resultScoreScaled;
    if (0 === (seen1 & 8192))
      $this.wiv_1 = null;
    else
      $this.wiv_1 = resultScoreRaw;
    if (0 === (seen1 & 16384))
      $this.xiv_1 = null;
    else
      $this.xiv_1 = resultScoreMin;
    if (0 === (seen1 & 32768))
      $this.yiv_1 = null;
    else
      $this.yiv_1 = resultScoreMax;
    if (0 === (seen1 & 65536))
      $this.ziv_1 = null;
    else
      $this.ziv_1 = resultDuration;
    if (0 === (seen1 & 131072))
      $this.aiw_1 = null;
    else
      $this.aiw_1 = resultResponse;
    if (0 === (seen1 & 262144))
      $this.biw_1 = new Long(0, 0);
    else
      $this.biw_1 = timestamp;
    if (0 === (seen1 & 524288))
      $this.ciw_1 = new Long(0, 0);
    else
      $this.ciw_1 = stored;
    if (0 === (seen1 & 1048576))
      $this.diw_1 = new Long(0, 0);
    else
      $this.diw_1 = contextRegistrationHi;
    if (0 === (seen1 & 2097152))
      $this.eiw_1 = new Long(0, 0);
    else
      $this.eiw_1 = contextRegistrationLo;
    if (0 === (seen1 & 4194304))
      $this.fiw_1 = null;
    else
      $this.fiw_1 = contextPlatform;
    if (0 === (seen1 & 8388608))
      $this.giw_1 = new Long(0, 0);
    else
      $this.giw_1 = contextStatementRefIdHi;
    if (0 === (seen1 & 16777216))
      $this.hiw_1 = new Long(0, 0);
    else
      $this.hiw_1 = contextStatementRefIdLo;
    if (0 === (seen1 & 33554432))
      $this.iiw_1 = new Long(0, 0);
    else
      $this.iiw_1 = contextInstructorActorUid;
    if (0 === (seen1 & 67108864))
      $this.jiw_1 = new Long(0, 0);
    else
      $this.jiw_1 = statementLct;
    if (0 === (seen1 & 134217728))
      $this.kiw_1 = null;
    else
      $this.kiw_1 = extensionProgress;
    if (0 === (seen1 & 268435456))
      $this.liw_1 = false;
    else
      $this.liw_1 = completionOrProgress;
    if (0 === (seen1 & 536870912))
      $this.miw_1 = new Long(0, 0);
    else
      $this.miw_1 = statementContentEntryUid;
    if (0 === (seen1 & 1073741824))
      $this.niw_1 = new Long(0, 0);
    else
      $this.niw_1 = statementLearnerGroupUid;
    if (0 === (seen1 & -2147483648))
      $this.oiw_1 = new Long(0, 0);
    else
      $this.oiw_1 = statementClazzUid;
    if (0 === (seen2 & 1))
      $this.piw_1 = new Long(0, 0);
    else
      $this.piw_1 = statementCbUid;
    if (0 === (seen2 & 2))
      $this.qiw_1 = new Long(0, 0);
    else
      $this.qiw_1 = statementDoorNode;
    if (0 === (seen2 & 4))
      $this.riw_1 = false;
    else
      $this.riw_1 = isSubStatement;
    return $this;
  }
  function StatementEntity_init_$Create$(seen1, seen2, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, serializationConstructorMarker) {
    return StatementEntity_init_$Init$(seen1, seen2, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, serializationConstructorMarker, objectCreate(protoOf(StatementEntity)));
  }
  function StatementEntity(statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) {
    statementIdHi = statementIdHi === VOID ? new Long(0, 0) : statementIdHi;
    statementIdLo = statementIdLo === VOID ? new Long(0, 0) : statementIdLo;
    statementActorPersonUid = statementActorPersonUid === VOID ? new Long(0, 0) : statementActorPersonUid;
    statementVerbUid = statementVerbUid === VOID ? new Long(0, 0) : statementVerbUid;
    statementObjectType = statementObjectType === VOID ? 0 : statementObjectType;
    statementObjectUid1 = statementObjectUid1 === VOID ? new Long(0, 0) : statementObjectUid1;
    statementObjectUid2 = statementObjectUid2 === VOID ? new Long(0, 0) : statementObjectUid2;
    statementActorUid = statementActorUid === VOID ? new Long(0, 0) : statementActorUid;
    authorityActorUid = authorityActorUid === VOID ? new Long(0, 0) : authorityActorUid;
    teamUid = teamUid === VOID ? new Long(0, 0) : teamUid;
    resultCompletion = resultCompletion === VOID ? null : resultCompletion;
    resultSuccess = resultSuccess === VOID ? null : resultSuccess;
    resultScoreScaled = resultScoreScaled === VOID ? null : resultScoreScaled;
    resultScoreRaw = resultScoreRaw === VOID ? null : resultScoreRaw;
    resultScoreMin = resultScoreMin === VOID ? null : resultScoreMin;
    resultScoreMax = resultScoreMax === VOID ? null : resultScoreMax;
    resultDuration = resultDuration === VOID ? null : resultDuration;
    resultResponse = resultResponse === VOID ? null : resultResponse;
    timestamp = timestamp === VOID ? new Long(0, 0) : timestamp;
    stored = stored === VOID ? new Long(0, 0) : stored;
    contextRegistrationHi = contextRegistrationHi === VOID ? new Long(0, 0) : contextRegistrationHi;
    contextRegistrationLo = contextRegistrationLo === VOID ? new Long(0, 0) : contextRegistrationLo;
    contextPlatform = contextPlatform === VOID ? null : contextPlatform;
    contextStatementRefIdHi = contextStatementRefIdHi === VOID ? new Long(0, 0) : contextStatementRefIdHi;
    contextStatementRefIdLo = contextStatementRefIdLo === VOID ? new Long(0, 0) : contextStatementRefIdLo;
    contextInstructorActorUid = contextInstructorActorUid === VOID ? new Long(0, 0) : contextInstructorActorUid;
    statementLct = statementLct === VOID ? new Long(0, 0) : statementLct;
    extensionProgress = extensionProgress === VOID ? null : extensionProgress;
    completionOrProgress = completionOrProgress === VOID ? false : completionOrProgress;
    statementContentEntryUid = statementContentEntryUid === VOID ? new Long(0, 0) : statementContentEntryUid;
    statementLearnerGroupUid = statementLearnerGroupUid === VOID ? new Long(0, 0) : statementLearnerGroupUid;
    statementClazzUid = statementClazzUid === VOID ? new Long(0, 0) : statementClazzUid;
    statementCbUid = statementCbUid === VOID ? new Long(0, 0) : statementCbUid;
    statementDoorNode = statementDoorNode === VOID ? new Long(0, 0) : statementDoorNode;
    isSubStatement = isSubStatement === VOID ? false : isSubStatement;
    this.jiv_1 = statementIdHi;
    this.kiv_1 = statementIdLo;
    this.liv_1 = statementActorPersonUid;
    this.miv_1 = statementVerbUid;
    this.niv_1 = statementObjectType;
    this.oiv_1 = statementObjectUid1;
    this.piv_1 = statementObjectUid2;
    this.qiv_1 = statementActorUid;
    this.riv_1 = authorityActorUid;
    this.siv_1 = teamUid;
    this.tiv_1 = resultCompletion;
    this.uiv_1 = resultSuccess;
    this.viv_1 = resultScoreScaled;
    this.wiv_1 = resultScoreRaw;
    this.xiv_1 = resultScoreMin;
    this.yiv_1 = resultScoreMax;
    this.ziv_1 = resultDuration;
    this.aiw_1 = resultResponse;
    this.biw_1 = timestamp;
    this.ciw_1 = stored;
    this.diw_1 = contextRegistrationHi;
    this.eiw_1 = contextRegistrationLo;
    this.fiw_1 = contextPlatform;
    this.giw_1 = contextStatementRefIdHi;
    this.hiw_1 = contextStatementRefIdLo;
    this.iiw_1 = contextInstructorActorUid;
    this.jiw_1 = statementLct;
    this.kiw_1 = extensionProgress;
    this.liw_1 = completionOrProgress;
    this.miw_1 = statementContentEntryUid;
    this.niw_1 = statementLearnerGroupUid;
    this.oiw_1 = statementClazzUid;
    this.piw_1 = statementCbUid;
    this.qiw_1 = statementDoorNode;
    this.riw_1 = isSubStatement;
  }
  protoOf(StatementEntity).toString = function () {
    return 'StatementEntity(statementIdHi=' + this.jiv_1.toString() + ', statementIdLo=' + this.kiv_1.toString() + ', statementActorPersonUid=' + this.liv_1.toString() + ', statementVerbUid=' + this.miv_1.toString() + ', statementObjectType=' + this.niv_1 + ', statementObjectUid1=' + this.oiv_1.toString() + ', statementObjectUid2=' + this.piv_1.toString() + ', statementActorUid=' + this.qiv_1.toString() + ', authorityActorUid=' + this.riv_1.toString() + ', teamUid=' + this.siv_1.toString() + ', resultCompletion=' + this.tiv_1 + ', resultSuccess=' + this.uiv_1 + ', resultScoreScaled=' + this.viv_1 + ', resultScoreRaw=' + this.wiv_1 + ', resultScoreMin=' + this.xiv_1 + ', resultScoreMax=' + this.yiv_1 + ', resultDuration=' + toString(this.ziv_1) + ', resultResponse=' + this.aiw_1 + ', timestamp=' + this.biw_1.toString() + ', stored=' + this.ciw_1.toString() + ', contextRegistrationHi=' + this.diw_1.toString() + ', contextRegistrationLo=' + this.eiw_1.toString() + ', contextPlatform=' + this.fiw_1 + ', contextStatementRefIdHi=' + this.giw_1.toString() + ', contextStatementRefIdLo=' + this.hiw_1.toString() + ', contextInstructorActorUid=' + this.iiw_1.toString() + ', statementLct=' + this.jiw_1.toString() + ', extensionProgress=' + this.kiw_1 + ', completionOrProgress=' + this.liw_1 + ', statementContentEntryUid=' + this.miw_1.toString() + ', statementLearnerGroupUid=' + this.niw_1.toString() + ', statementClazzUid=' + this.oiw_1.toString() + ', statementCbUid=' + this.piw_1.toString() + ', statementDoorNode=' + this.qiw_1.toString() + ', isSubStatement=' + this.riw_1 + ')';
  };
  protoOf(StatementEntity).hashCode = function () {
    var result = this.jiv_1.hashCode();
    result = imul(result, 31) + this.kiv_1.hashCode() | 0;
    result = imul(result, 31) + this.liv_1.hashCode() | 0;
    result = imul(result, 31) + this.miv_1.hashCode() | 0;
    result = imul(result, 31) + this.niv_1 | 0;
    result = imul(result, 31) + this.oiv_1.hashCode() | 0;
    result = imul(result, 31) + this.piv_1.hashCode() | 0;
    result = imul(result, 31) + this.qiv_1.hashCode() | 0;
    result = imul(result, 31) + this.riv_1.hashCode() | 0;
    result = imul(result, 31) + this.siv_1.hashCode() | 0;
    result = imul(result, 31) + (this.tiv_1 == null ? 0 : getBooleanHashCode(this.tiv_1)) | 0;
    result = imul(result, 31) + (this.uiv_1 == null ? 0 : getBooleanHashCode(this.uiv_1)) | 0;
    result = imul(result, 31) + (this.viv_1 == null ? 0 : getNumberHashCode(this.viv_1)) | 0;
    result = imul(result, 31) + (this.wiv_1 == null ? 0 : getNumberHashCode(this.wiv_1)) | 0;
    result = imul(result, 31) + (this.xiv_1 == null ? 0 : getNumberHashCode(this.xiv_1)) | 0;
    result = imul(result, 31) + (this.yiv_1 == null ? 0 : getNumberHashCode(this.yiv_1)) | 0;
    result = imul(result, 31) + (this.ziv_1 == null ? 0 : this.ziv_1.hashCode()) | 0;
    result = imul(result, 31) + (this.aiw_1 == null ? 0 : getStringHashCode(this.aiw_1)) | 0;
    result = imul(result, 31) + this.biw_1.hashCode() | 0;
    result = imul(result, 31) + this.ciw_1.hashCode() | 0;
    result = imul(result, 31) + this.diw_1.hashCode() | 0;
    result = imul(result, 31) + this.eiw_1.hashCode() | 0;
    result = imul(result, 31) + (this.fiw_1 == null ? 0 : getStringHashCode(this.fiw_1)) | 0;
    result = imul(result, 31) + this.giw_1.hashCode() | 0;
    result = imul(result, 31) + this.hiw_1.hashCode() | 0;
    result = imul(result, 31) + this.iiw_1.hashCode() | 0;
    result = imul(result, 31) + this.jiw_1.hashCode() | 0;
    result = imul(result, 31) + (this.kiw_1 == null ? 0 : this.kiw_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.liw_1) | 0;
    result = imul(result, 31) + this.miw_1.hashCode() | 0;
    result = imul(result, 31) + this.niw_1.hashCode() | 0;
    result = imul(result, 31) + this.oiw_1.hashCode() | 0;
    result = imul(result, 31) + this.piw_1.hashCode() | 0;
    result = imul(result, 31) + this.qiw_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.riw_1) | 0;
    return result;
  };
  protoOf(StatementEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementEntity))
      return false;
    var tmp0_other_with_cast = other instanceof StatementEntity ? other : THROW_CCE();
    if (!this.jiv_1.equals(tmp0_other_with_cast.jiv_1))
      return false;
    if (!this.kiv_1.equals(tmp0_other_with_cast.kiv_1))
      return false;
    if (!this.liv_1.equals(tmp0_other_with_cast.liv_1))
      return false;
    if (!this.miv_1.equals(tmp0_other_with_cast.miv_1))
      return false;
    if (!(this.niv_1 === tmp0_other_with_cast.niv_1))
      return false;
    if (!this.oiv_1.equals(tmp0_other_with_cast.oiv_1))
      return false;
    if (!this.piv_1.equals(tmp0_other_with_cast.piv_1))
      return false;
    if (!this.qiv_1.equals(tmp0_other_with_cast.qiv_1))
      return false;
    if (!this.riv_1.equals(tmp0_other_with_cast.riv_1))
      return false;
    if (!this.siv_1.equals(tmp0_other_with_cast.siv_1))
      return false;
    if (!(this.tiv_1 == tmp0_other_with_cast.tiv_1))
      return false;
    if (!(this.uiv_1 == tmp0_other_with_cast.uiv_1))
      return false;
    if (!equals(this.viv_1, tmp0_other_with_cast.viv_1))
      return false;
    if (!equals(this.wiv_1, tmp0_other_with_cast.wiv_1))
      return false;
    if (!equals(this.xiv_1, tmp0_other_with_cast.xiv_1))
      return false;
    if (!equals(this.yiv_1, tmp0_other_with_cast.yiv_1))
      return false;
    if (!equals(this.ziv_1, tmp0_other_with_cast.ziv_1))
      return false;
    if (!(this.aiw_1 == tmp0_other_with_cast.aiw_1))
      return false;
    if (!this.biw_1.equals(tmp0_other_with_cast.biw_1))
      return false;
    if (!this.ciw_1.equals(tmp0_other_with_cast.ciw_1))
      return false;
    if (!this.diw_1.equals(tmp0_other_with_cast.diw_1))
      return false;
    if (!this.eiw_1.equals(tmp0_other_with_cast.eiw_1))
      return false;
    if (!(this.fiw_1 == tmp0_other_with_cast.fiw_1))
      return false;
    if (!this.giw_1.equals(tmp0_other_with_cast.giw_1))
      return false;
    if (!this.hiw_1.equals(tmp0_other_with_cast.hiw_1))
      return false;
    if (!this.iiw_1.equals(tmp0_other_with_cast.iiw_1))
      return false;
    if (!this.jiw_1.equals(tmp0_other_with_cast.jiw_1))
      return false;
    if (!(this.kiw_1 == tmp0_other_with_cast.kiw_1))
      return false;
    if (!(this.liw_1 === tmp0_other_with_cast.liw_1))
      return false;
    if (!this.miw_1.equals(tmp0_other_with_cast.miw_1))
      return false;
    if (!this.niw_1.equals(tmp0_other_with_cast.niw_1))
      return false;
    if (!this.oiw_1.equals(tmp0_other_with_cast.oiw_1))
      return false;
    if (!this.piw_1.equals(tmp0_other_with_cast.piw_1))
      return false;
    if (!this.qiw_1.equals(tmp0_other_with_cast.qiw_1))
      return false;
    if (!(this.riw_1 === tmp0_other_with_cast.riw_1))
      return false;
    return true;
  };
  function Companion_127() {
    this.ak4_1 = 602;
  }
  var Companion_instance_128;
  function Companion_getInstance_130() {
    return Companion_instance_128;
  }
  function $serializer_120() {
    $serializer_instance_120 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StatementEntityJson', this, 4);
    tmp0_serialDesc.y4l('stmtJsonIdHi', true);
    tmp0_serialDesc.y4l('stmtJsonIdLo', true);
    tmp0_serialDesc.y4l('stmtEtag', true);
    tmp0_serialDesc.y4l('fullStatement', true);
    this.bk4_1 = tmp0_serialDesc;
  }
  protoOf($serializer_120).v4a = function () {
    return this.bk4_1;
  };
  protoOf($serializer_120).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_120).x4a = function (decoder) {
    var tmp0_desc = this.bk4_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return StatementEntityJson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_120).ck4 = function (encoder, value) {
    var tmp0_desc = this.bk4_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.oj0_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.oj0_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.pj0_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.pj0_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.qj0_1.equals(new Long(1, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.qj0_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.rj0_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.rj0_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_120).w4a = function (encoder, value) {
    return this.ck4(encoder, value instanceof StatementEntityJson ? value : THROW_CCE());
  };
  var $serializer_instance_120;
  function $serializer_getInstance_120() {
    if ($serializer_instance_120 == null)
      new $serializer_120();
    return $serializer_instance_120;
  }
  function StatementEntityJson_init_$Init$(seen1, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_120().bk4_1);
    }
    if (0 === (seen1 & 1))
      $this.oj0_1 = new Long(0, 0);
    else
      $this.oj0_1 = stmtJsonIdHi;
    if (0 === (seen1 & 2))
      $this.pj0_1 = new Long(0, 0);
    else
      $this.pj0_1 = stmtJsonIdLo;
    if (0 === (seen1 & 4))
      $this.qj0_1 = new Long(1, 0);
    else
      $this.qj0_1 = stmtEtag;
    if (0 === (seen1 & 8))
      $this.rj0_1 = null;
    else
      $this.rj0_1 = fullStatement;
    return $this;
  }
  function StatementEntityJson_init_$Create$(seen1, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, serializationConstructorMarker) {
    return StatementEntityJson_init_$Init$(seen1, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, serializationConstructorMarker, objectCreate(protoOf(StatementEntityJson)));
  }
  function StatementEntityJson(stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) {
    stmtJsonIdHi = stmtJsonIdHi === VOID ? new Long(0, 0) : stmtJsonIdHi;
    stmtJsonIdLo = stmtJsonIdLo === VOID ? new Long(0, 0) : stmtJsonIdLo;
    stmtEtag = stmtEtag === VOID ? new Long(1, 0) : stmtEtag;
    fullStatement = fullStatement === VOID ? null : fullStatement;
    this.oj0_1 = stmtJsonIdHi;
    this.pj0_1 = stmtJsonIdLo;
    this.qj0_1 = stmtEtag;
    this.rj0_1 = fullStatement;
  }
  protoOf(StatementEntityJson).toString = function () {
    return 'StatementEntityJson(stmtJsonIdHi=' + this.oj0_1.toString() + ', stmtJsonIdLo=' + this.pj0_1.toString() + ', stmtEtag=' + this.qj0_1.toString() + ', fullStatement=' + this.rj0_1 + ')';
  };
  protoOf(StatementEntityJson).hashCode = function () {
    var result = this.oj0_1.hashCode();
    result = imul(result, 31) + this.pj0_1.hashCode() | 0;
    result = imul(result, 31) + this.qj0_1.hashCode() | 0;
    result = imul(result, 31) + (this.rj0_1 == null ? 0 : getStringHashCode(this.rj0_1)) | 0;
    return result;
  };
  protoOf(StatementEntityJson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementEntityJson))
      return false;
    var tmp0_other_with_cast = other instanceof StatementEntityJson ? other : THROW_CCE();
    if (!this.oj0_1.equals(tmp0_other_with_cast.oj0_1))
      return false;
    if (!this.pj0_1.equals(tmp0_other_with_cast.pj0_1))
      return false;
    if (!this.qj0_1.equals(tmp0_other_with_cast.qj0_1))
      return false;
    if (!(this.rj0_1 == tmp0_other_with_cast.rj0_1))
      return false;
    return true;
  };
  function Companion_128() {
    Companion_instance_129 = this;
    this.dk4_1 = 62;
    this.ek4_1 = 'http://adlnet.gov/expapi/verbs/completed';
    this.fk4_1 = new Long(10001, 0);
    this.gk4_1 = 'http://adlnet.gov/expapi/verbs/passed';
    this.hk4_1 = new Long(10002, 0);
    this.ik4_1 = 'http://adlnet.gov/expapi/verbs/failed';
    this.jk4_1 = new Long(10003, 0);
  }
  var Companion_instance_129;
  function Companion_getInstance_131() {
    if (Companion_instance_129 == null)
      new Companion_128();
    return Companion_instance_129;
  }
  function $serializer_121() {
    $serializer_instance_121 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.VerbEntity', this, 4);
    tmp0_serialDesc.y4l('verbUid', true);
    tmp0_serialDesc.y4l('verbUrlId', true);
    tmp0_serialDesc.y4l('verbDeleted', true);
    tmp0_serialDesc.y4l('verbLct', true);
    this.kk4_1 = tmp0_serialDesc;
  }
  protoOf($serializer_121).v4a = function () {
    return this.kk4_1;
  };
  protoOf($serializer_121).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_121).x4a = function (decoder) {
    var tmp0_desc = this.kk4_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = false;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.n4e(tmp0_desc);
    if (tmp8_input.c4f()) {
      tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.p4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.b4f(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.p4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.o4e(tmp0_desc);
    return VerbEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_121).lk4 = function (encoder, value) {
    var tmp0_desc = this.kk4_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.lj1_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.lj1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !(value.mj1_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 1, StringSerializer_getInstance(), value.mj1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.nj1_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 2, value.nj1_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.oj1_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.oj1_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_121).w4a = function (encoder, value) {
    return this.lk4(encoder, value instanceof VerbEntity ? value : THROW_CCE());
  };
  var $serializer_instance_121;
  function $serializer_getInstance_121() {
    if ($serializer_instance_121 == null)
      new $serializer_121();
    return $serializer_instance_121;
  }
  function VerbEntity_init_$Init$(seen1, verbUid, verbUrlId, verbDeleted, verbLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_121().kk4_1);
    }
    if (0 === (seen1 & 1))
      $this.lj1_1 = new Long(0, 0);
    else
      $this.lj1_1 = verbUid;
    if (0 === (seen1 & 2))
      $this.mj1_1 = null;
    else
      $this.mj1_1 = verbUrlId;
    if (0 === (seen1 & 4))
      $this.nj1_1 = false;
    else
      $this.nj1_1 = verbDeleted;
    if (0 === (seen1 & 8))
      $this.oj1_1 = new Long(0, 0);
    else
      $this.oj1_1 = verbLct;
    return $this;
  }
  function VerbEntity_init_$Create$(seen1, verbUid, verbUrlId, verbDeleted, verbLct, serializationConstructorMarker) {
    return VerbEntity_init_$Init$(seen1, verbUid, verbUrlId, verbDeleted, verbLct, serializationConstructorMarker, objectCreate(protoOf(VerbEntity)));
  }
  function VerbEntity(verbUid, verbUrlId, verbDeleted, verbLct) {
    Companion_getInstance_131();
    verbUid = verbUid === VOID ? new Long(0, 0) : verbUid;
    verbUrlId = verbUrlId === VOID ? null : verbUrlId;
    verbDeleted = verbDeleted === VOID ? false : verbDeleted;
    verbLct = verbLct === VOID ? new Long(0, 0) : verbLct;
    this.lj1_1 = verbUid;
    this.mj1_1 = verbUrlId;
    this.nj1_1 = verbDeleted;
    this.oj1_1 = verbLct;
  }
  protoOf(VerbEntity).toString = function () {
    return 'VerbEntity(verbUid=' + this.lj1_1.toString() + ', verbUrlId=' + this.mj1_1 + ', verbDeleted=' + this.nj1_1 + ', verbLct=' + this.oj1_1.toString() + ')';
  };
  protoOf(VerbEntity).hashCode = function () {
    var result = this.lj1_1.hashCode();
    result = imul(result, 31) + (this.mj1_1 == null ? 0 : getStringHashCode(this.mj1_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.nj1_1) | 0;
    result = imul(result, 31) + this.oj1_1.hashCode() | 0;
    return result;
  };
  protoOf(VerbEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof VerbEntity))
      return false;
    var tmp0_other_with_cast = other instanceof VerbEntity ? other : THROW_CCE();
    if (!this.lj1_1.equals(tmp0_other_with_cast.lj1_1))
      return false;
    if (!(this.mj1_1 == tmp0_other_with_cast.mj1_1))
      return false;
    if (!(this.nj1_1 === tmp0_other_with_cast.nj1_1))
      return false;
    if (!this.oj1_1.equals(tmp0_other_with_cast.oj1_1))
      return false;
    return true;
  };
  function Companion_129() {
    this.mk4_1 = 620;
  }
  var Companion_instance_130;
  function Companion_getInstance_132() {
    return Companion_instance_130;
  }
  function $serializer_122() {
    $serializer_instance_122 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.VerbLangMapEntry', this, 5);
    tmp0_serialDesc.y4l('vlmeVerbUid', true);
    tmp0_serialDesc.y4l('vlmeLangHash', true);
    tmp0_serialDesc.y4l('vlmeLangCode', true);
    tmp0_serialDesc.y4l('vlmeEntryString', true);
    tmp0_serialDesc.y4l('vlmeLastModified', true);
    this.nk4_1 = tmp0_serialDesc;
  }
  protoOf($serializer_122).v4a = function () {
    return this.nk4_1;
  };
  protoOf($serializer_122).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_122).x4a = function (decoder) {
    var tmp0_desc = this.nk4_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_input = decoder.n4e(tmp0_desc);
    if (tmp9_input.c4f()) {
      tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.b4f(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.b4f(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.o4e(tmp0_desc);
    return VerbLangMapEntry_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_122).ok4 = function (encoder, value) {
    var tmp0_desc = this.nk4_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.nj2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.nj2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.oj2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.oj2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !(value.pj2_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 2, StringSerializer_getInstance(), value.pj2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !(value.qj2_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 3, StringSerializer_getInstance(), value.qj2_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.rj2_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.rj2_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_122).w4a = function (encoder, value) {
    return this.ok4(encoder, value instanceof VerbLangMapEntry ? value : THROW_CCE());
  };
  var $serializer_instance_122;
  function $serializer_getInstance_122() {
    if ($serializer_instance_122 == null)
      new $serializer_122();
    return $serializer_instance_122;
  }
  function VerbLangMapEntry_init_$Init$(seen1, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_122().nk4_1);
    }
    if (0 === (seen1 & 1))
      $this.nj2_1 = new Long(0, 0);
    else
      $this.nj2_1 = vlmeVerbUid;
    if (0 === (seen1 & 2))
      $this.oj2_1 = new Long(0, 0);
    else
      $this.oj2_1 = vlmeLangHash;
    if (0 === (seen1 & 4))
      $this.pj2_1 = null;
    else
      $this.pj2_1 = vlmeLangCode;
    if (0 === (seen1 & 8))
      $this.qj2_1 = null;
    else
      $this.qj2_1 = vlmeEntryString;
    if (0 === (seen1 & 16))
      $this.rj2_1 = new Long(0, 0);
    else
      $this.rj2_1 = vlmeLastModified;
    return $this;
  }
  function VerbLangMapEntry_init_$Create$(seen1, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, serializationConstructorMarker) {
    return VerbLangMapEntry_init_$Init$(seen1, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, serializationConstructorMarker, objectCreate(protoOf(VerbLangMapEntry)));
  }
  function VerbLangMapEntry(vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) {
    vlmeVerbUid = vlmeVerbUid === VOID ? new Long(0, 0) : vlmeVerbUid;
    vlmeLangHash = vlmeLangHash === VOID ? new Long(0, 0) : vlmeLangHash;
    vlmeLangCode = vlmeLangCode === VOID ? null : vlmeLangCode;
    vlmeEntryString = vlmeEntryString === VOID ? null : vlmeEntryString;
    vlmeLastModified = vlmeLastModified === VOID ? new Long(0, 0) : vlmeLastModified;
    this.nj2_1 = vlmeVerbUid;
    this.oj2_1 = vlmeLangHash;
    this.pj2_1 = vlmeLangCode;
    this.qj2_1 = vlmeEntryString;
    this.rj2_1 = vlmeLastModified;
  }
  protoOf(VerbLangMapEntry).toString = function () {
    return 'VerbLangMapEntry(vlmeVerbUid=' + this.nj2_1.toString() + ', vlmeLangHash=' + this.oj2_1.toString() + ', vlmeLangCode=' + this.pj2_1 + ', vlmeEntryString=' + this.qj2_1 + ', vlmeLastModified=' + this.rj2_1.toString() + ')';
  };
  protoOf(VerbLangMapEntry).hashCode = function () {
    var result = this.nj2_1.hashCode();
    result = imul(result, 31) + this.oj2_1.hashCode() | 0;
    result = imul(result, 31) + (this.pj2_1 == null ? 0 : getStringHashCode(this.pj2_1)) | 0;
    result = imul(result, 31) + (this.qj2_1 == null ? 0 : getStringHashCode(this.qj2_1)) | 0;
    result = imul(result, 31) + this.rj2_1.hashCode() | 0;
    return result;
  };
  protoOf(VerbLangMapEntry).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof VerbLangMapEntry))
      return false;
    var tmp0_other_with_cast = other instanceof VerbLangMapEntry ? other : THROW_CCE();
    if (!this.nj2_1.equals(tmp0_other_with_cast.nj2_1))
      return false;
    if (!this.oj2_1.equals(tmp0_other_with_cast.oj2_1))
      return false;
    if (!(this.pj2_1 == tmp0_other_with_cast.pj2_1))
      return false;
    if (!(this.qj2_1 == tmp0_other_with_cast.qj2_1))
      return false;
    if (!this.rj2_1.equals(tmp0_other_with_cast.rj2_1))
      return false;
    return true;
  };
  function XapiEntityObjectTypeFlags() {
    this.pk4_1 = 1;
    this.qk4_1 = 2;
    this.rk4_1 = 3;
    this.sk4_1 = 4;
    this.tk4_1 = 5;
    this.uk4_1 = 6;
  }
  var XapiEntityObjectTypeFlags_instance;
  function XapiEntityObjectTypeFlags_getInstance() {
    return XapiEntityObjectTypeFlags_instance;
  }
  function Companion_130() {
    this.vk4_1 = 400122;
  }
  var Companion_instance_131;
  function Companion_getInstance_133() {
    return Companion_instance_131;
  }
  function $serializer_123() {
    $serializer_instance_123 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.XapiSessionEntity', this, 19);
    tmp0_serialDesc.y4l('xseUid', true);
    tmp0_serialDesc.y4l('xseLastMod', true);
    tmp0_serialDesc.y4l('xseRegistrationHi', true);
    tmp0_serialDesc.y4l('xseRegistrationLo', true);
    tmp0_serialDesc.y4l('xseUsUid', true);
    tmp0_serialDesc.y4l('xseAccountPersonUid', true);
    tmp0_serialDesc.y4l('xseActorUid', true);
    tmp0_serialDesc.y4l('xseAccountUsername', true);
    tmp0_serialDesc.y4l('xseClazzUid', true);
    tmp0_serialDesc.y4l('xseCbUid', true);
    tmp0_serialDesc.y4l('xseContentEntryUid', true);
    tmp0_serialDesc.y4l('xseContentEntryVersionUid', true);
    tmp0_serialDesc.y4l('xseRootActivityId', true);
    tmp0_serialDesc.y4l('xseRootActivityUid', true);
    tmp0_serialDesc.y4l('xseStartTime', true);
    tmp0_serialDesc.y4l('xseExpireTime', true);
    tmp0_serialDesc.y4l('xseAuth', true);
    tmp0_serialDesc.y4l('xseCompleted', true);
    tmp0_serialDesc.y4l('knownActorUidToPersonUids', true);
    this.wk4_1 = tmp0_serialDesc;
  }
  protoOf($serializer_123).v4a = function () {
    return this.wk4_1;
  };
  protoOf($serializer_123).p4m = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), StringSerializer_getInstance()];
  };
  protoOf($serializer_123).x4a = function (decoder) {
    var tmp0_desc = this.wk4_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = null;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = null;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = null;
    var tmp21_local17 = false;
    var tmp22_local18 = null;
    var tmp23_input = decoder.n4e(tmp0_desc);
    if (tmp23_input.c4f()) {
      tmp4_local0 = tmp23_input.t4e(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp23_input.t4e(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp23_input.t4e(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp23_input.t4e(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp23_input.t4e(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp23_input.t4e(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp23_input.t4e(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp23_input.x4e(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp23_input.t4e(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp23_input.t4e(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp23_input.t4e(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp23_input.t4e(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp23_input.x4e(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp23_input.t4e(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp23_input.t4e(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp23_input.t4e(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp23_input.b4f(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp23_input.p4e(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp23_input.x4e(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp23_input.d4f(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp23_input.t4e(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp23_input.t4e(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp23_input.t4e(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp23_input.t4e(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp23_input.t4e(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp23_input.t4e(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp23_input.t4e(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp23_input.x4e(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp23_input.t4e(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp23_input.t4e(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp23_input.t4e(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp23_input.t4e(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp23_input.x4e(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp23_input.t4e(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp23_input.t4e(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp23_input.t4e(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp23_input.b4f(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp23_input.p4e(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp23_input.x4e(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp23_input.o4e(tmp0_desc);
    return XapiSessionEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, null);
  };
  protoOf($serializer_123).xk4 = function (encoder, value) {
    var tmp0_desc = this.wk4_1;
    var tmp1_output = encoder.n4e(tmp0_desc);
    if (tmp1_output.j4g(tmp0_desc, 0) ? true : !value.vj3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 0, value.vj3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 1) ? true : !value.wj3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 1, value.wj3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 2) ? true : !value.xj3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 2, value.xj3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 3) ? true : !value.yj3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 3, value.yj3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 4) ? true : !value.zj3_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 4, value.zj3_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 5) ? true : !value.aj4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 5, value.aj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 6) ? true : !value.bj4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 6, value.bj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 7) ? true : !(value.cj4_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 7, value.cj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 8) ? true : !value.dj4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 8, value.dj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 9) ? true : !value.ej4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 9, value.ej4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 10) ? true : !value.fj4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 10, value.fj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 11) ? true : !value.gj4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 11, value.gj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 12) ? true : !(value.hj4_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 12, value.hj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 13) ? true : !value.ij4_1.equals(new Long(0, 0))) {
      tmp1_output.x4f(tmp0_desc, 13, value.ij4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 14) ? true : !value.jj4_1.equals(systemTimeInMillis())) {
      tmp1_output.x4f(tmp0_desc, 14, value.jj4_1);
    }
    var tmp;
    if (tmp1_output.j4g(tmp0_desc, 15)) {
      tmp = true;
    } else {
      var tmp_0 = value.kj4_1;
      Companion_getInstance();
      tmp = !tmp_0.equals(new Long(-1, 2147483647));
    }
    if (tmp) {
      tmp1_output.x4f(tmp0_desc, 15, value.kj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 16) ? true : !(value.lj4_1 == null)) {
      tmp1_output.f4g(tmp0_desc, 16, StringSerializer_getInstance(), value.lj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 17) ? true : !(value.mj4_1 === false)) {
      tmp1_output.t4f(tmp0_desc, 17, value.mj4_1);
    }
    if (tmp1_output.j4g(tmp0_desc, 18) ? true : !(value.nj4_1 === '')) {
      tmp1_output.b4g(tmp0_desc, 18, value.nj4_1);
    }
    tmp1_output.o4e(tmp0_desc);
  };
  protoOf($serializer_123).w4a = function (encoder, value) {
    return this.xk4(encoder, value instanceof XapiSessionEntity ? value : THROW_CCE());
  };
  var $serializer_instance_123;
  function $serializer_getInstance_123() {
    if ($serializer_instance_123 == null)
      new $serializer_123();
    return $serializer_instance_123;
  }
  function XapiSessionEntity_init_$Init$(seen1, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_123().wk4_1);
    }
    if (0 === (seen1 & 1))
      $this.vj3_1 = new Long(0, 0);
    else
      $this.vj3_1 = xseUid;
    if (0 === (seen1 & 2))
      $this.wj3_1 = new Long(0, 0);
    else
      $this.wj3_1 = xseLastMod;
    if (0 === (seen1 & 4))
      $this.xj3_1 = new Long(0, 0);
    else
      $this.xj3_1 = xseRegistrationHi;
    if (0 === (seen1 & 8))
      $this.yj3_1 = new Long(0, 0);
    else
      $this.yj3_1 = xseRegistrationLo;
    if (0 === (seen1 & 16))
      $this.zj3_1 = new Long(0, 0);
    else
      $this.zj3_1 = xseUsUid;
    if (0 === (seen1 & 32))
      $this.aj4_1 = new Long(0, 0);
    else
      $this.aj4_1 = xseAccountPersonUid;
    if (0 === (seen1 & 64))
      $this.bj4_1 = new Long(0, 0);
    else
      $this.bj4_1 = xseActorUid;
    if (0 === (seen1 & 128))
      $this.cj4_1 = '';
    else
      $this.cj4_1 = xseAccountUsername;
    if (0 === (seen1 & 256))
      $this.dj4_1 = new Long(0, 0);
    else
      $this.dj4_1 = xseClazzUid;
    if (0 === (seen1 & 512))
      $this.ej4_1 = new Long(0, 0);
    else
      $this.ej4_1 = xseCbUid;
    if (0 === (seen1 & 1024))
      $this.fj4_1 = new Long(0, 0);
    else
      $this.fj4_1 = xseContentEntryUid;
    if (0 === (seen1 & 2048))
      $this.gj4_1 = new Long(0, 0);
    else
      $this.gj4_1 = xseContentEntryVersionUid;
    if (0 === (seen1 & 4096))
      $this.hj4_1 = '';
    else
      $this.hj4_1 = xseRootActivityId;
    if (0 === (seen1 & 8192))
      $this.ij4_1 = new Long(0, 0);
    else
      $this.ij4_1 = xseRootActivityUid;
    if (0 === (seen1 & 16384))
      $this.jj4_1 = systemTimeInMillis();
    else
      $this.jj4_1 = xseStartTime;
    if (0 === (seen1 & 32768)) {
      var tmp = $this;
      Companion_getInstance();
      tmp.kj4_1 = new Long(-1, 2147483647);
    } else
      $this.kj4_1 = xseExpireTime;
    if (0 === (seen1 & 65536))
      $this.lj4_1 = null;
    else
      $this.lj4_1 = xseAuth;
    if (0 === (seen1 & 131072))
      $this.mj4_1 = false;
    else
      $this.mj4_1 = xseCompleted;
    if (0 === (seen1 & 262144))
      $this.nj4_1 = '';
    else
      $this.nj4_1 = knownActorUidToPersonUids;
    return $this;
  }
  function XapiSessionEntity_init_$Create$(seen1, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, serializationConstructorMarker) {
    return XapiSessionEntity_init_$Init$(seen1, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, serializationConstructorMarker, objectCreate(protoOf(XapiSessionEntity)));
  }
  function XapiSessionEntity(xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) {
    xseUid = xseUid === VOID ? new Long(0, 0) : xseUid;
    xseLastMod = xseLastMod === VOID ? new Long(0, 0) : xseLastMod;
    xseRegistrationHi = xseRegistrationHi === VOID ? new Long(0, 0) : xseRegistrationHi;
    xseRegistrationLo = xseRegistrationLo === VOID ? new Long(0, 0) : xseRegistrationLo;
    xseUsUid = xseUsUid === VOID ? new Long(0, 0) : xseUsUid;
    xseAccountPersonUid = xseAccountPersonUid === VOID ? new Long(0, 0) : xseAccountPersonUid;
    xseActorUid = xseActorUid === VOID ? new Long(0, 0) : xseActorUid;
    xseAccountUsername = xseAccountUsername === VOID ? '' : xseAccountUsername;
    xseClazzUid = xseClazzUid === VOID ? new Long(0, 0) : xseClazzUid;
    xseCbUid = xseCbUid === VOID ? new Long(0, 0) : xseCbUid;
    xseContentEntryUid = xseContentEntryUid === VOID ? new Long(0, 0) : xseContentEntryUid;
    xseContentEntryVersionUid = xseContentEntryVersionUid === VOID ? new Long(0, 0) : xseContentEntryVersionUid;
    xseRootActivityId = xseRootActivityId === VOID ? '' : xseRootActivityId;
    xseRootActivityUid = xseRootActivityUid === VOID ? new Long(0, 0) : xseRootActivityUid;
    xseStartTime = xseStartTime === VOID ? systemTimeInMillis() : xseStartTime;
    var tmp;
    if (xseExpireTime === VOID) {
      Companion_getInstance();
      tmp = new Long(-1, 2147483647);
    } else {
      tmp = xseExpireTime;
    }
    xseExpireTime = tmp;
    xseAuth = xseAuth === VOID ? null : xseAuth;
    xseCompleted = xseCompleted === VOID ? false : xseCompleted;
    knownActorUidToPersonUids = knownActorUidToPersonUids === VOID ? '' : knownActorUidToPersonUids;
    this.vj3_1 = xseUid;
    this.wj3_1 = xseLastMod;
    this.xj3_1 = xseRegistrationHi;
    this.yj3_1 = xseRegistrationLo;
    this.zj3_1 = xseUsUid;
    this.aj4_1 = xseAccountPersonUid;
    this.bj4_1 = xseActorUid;
    this.cj4_1 = xseAccountUsername;
    this.dj4_1 = xseClazzUid;
    this.ej4_1 = xseCbUid;
    this.fj4_1 = xseContentEntryUid;
    this.gj4_1 = xseContentEntryVersionUid;
    this.hj4_1 = xseRootActivityId;
    this.ij4_1 = xseRootActivityUid;
    this.jj4_1 = xseStartTime;
    this.kj4_1 = xseExpireTime;
    this.lj4_1 = xseAuth;
    this.mj4_1 = xseCompleted;
    this.nj4_1 = knownActorUidToPersonUids;
  }
  protoOf(XapiSessionEntity).toString = function () {
    return 'XapiSessionEntity(xseUid=' + this.vj3_1.toString() + ', xseLastMod=' + this.wj3_1.toString() + ', xseRegistrationHi=' + this.xj3_1.toString() + ', xseRegistrationLo=' + this.yj3_1.toString() + ', xseUsUid=' + this.zj3_1.toString() + ', xseAccountPersonUid=' + this.aj4_1.toString() + ', xseActorUid=' + this.bj4_1.toString() + ', xseAccountUsername=' + this.cj4_1 + ', xseClazzUid=' + this.dj4_1.toString() + ', xseCbUid=' + this.ej4_1.toString() + ', xseContentEntryUid=' + this.fj4_1.toString() + ', xseContentEntryVersionUid=' + this.gj4_1.toString() + ', xseRootActivityId=' + this.hj4_1 + ', xseRootActivityUid=' + this.ij4_1.toString() + ', xseStartTime=' + this.jj4_1.toString() + ', xseExpireTime=' + this.kj4_1.toString() + ', xseAuth=' + this.lj4_1 + ', xseCompleted=' + this.mj4_1 + ', knownActorUidToPersonUids=' + this.nj4_1 + ')';
  };
  protoOf(XapiSessionEntity).hashCode = function () {
    var result = this.vj3_1.hashCode();
    result = imul(result, 31) + this.wj3_1.hashCode() | 0;
    result = imul(result, 31) + this.xj3_1.hashCode() | 0;
    result = imul(result, 31) + this.yj3_1.hashCode() | 0;
    result = imul(result, 31) + this.zj3_1.hashCode() | 0;
    result = imul(result, 31) + this.aj4_1.hashCode() | 0;
    result = imul(result, 31) + this.bj4_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.cj4_1) | 0;
    result = imul(result, 31) + this.dj4_1.hashCode() | 0;
    result = imul(result, 31) + this.ej4_1.hashCode() | 0;
    result = imul(result, 31) + this.fj4_1.hashCode() | 0;
    result = imul(result, 31) + this.gj4_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.hj4_1) | 0;
    result = imul(result, 31) + this.ij4_1.hashCode() | 0;
    result = imul(result, 31) + this.jj4_1.hashCode() | 0;
    result = imul(result, 31) + this.kj4_1.hashCode() | 0;
    result = imul(result, 31) + (this.lj4_1 == null ? 0 : getStringHashCode(this.lj4_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.mj4_1) | 0;
    result = imul(result, 31) + getStringHashCode(this.nj4_1) | 0;
    return result;
  };
  protoOf(XapiSessionEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof XapiSessionEntity))
      return false;
    var tmp0_other_with_cast = other instanceof XapiSessionEntity ? other : THROW_CCE();
    if (!this.vj3_1.equals(tmp0_other_with_cast.vj3_1))
      return false;
    if (!this.wj3_1.equals(tmp0_other_with_cast.wj3_1))
      return false;
    if (!this.xj3_1.equals(tmp0_other_with_cast.xj3_1))
      return false;
    if (!this.yj3_1.equals(tmp0_other_with_cast.yj3_1))
      return false;
    if (!this.zj3_1.equals(tmp0_other_with_cast.zj3_1))
      return false;
    if (!this.aj4_1.equals(tmp0_other_with_cast.aj4_1))
      return false;
    if (!this.bj4_1.equals(tmp0_other_with_cast.bj4_1))
      return false;
    if (!(this.cj4_1 === tmp0_other_with_cast.cj4_1))
      return false;
    if (!this.dj4_1.equals(tmp0_other_with_cast.dj4_1))
      return false;
    if (!this.ej4_1.equals(tmp0_other_with_cast.ej4_1))
      return false;
    if (!this.fj4_1.equals(tmp0_other_with_cast.fj4_1))
      return false;
    if (!this.gj4_1.equals(tmp0_other_with_cast.gj4_1))
      return false;
    if (!(this.hj4_1 === tmp0_other_with_cast.hj4_1))
      return false;
    if (!this.ij4_1.equals(tmp0_other_with_cast.ij4_1))
      return false;
    if (!this.jj4_1.equals(tmp0_other_with_cast.jj4_1))
      return false;
    if (!this.kj4_1.equals(tmp0_other_with_cast.kj4_1))
      return false;
    if (!(this.lj4_1 == tmp0_other_with_cast.lj4_1))
      return false;
    if (!(this.mj4_1 === tmp0_other_with_cast.mj4_1))
      return false;
    if (!(this.nj4_1 === tmp0_other_with_cast.nj4_1))
      return false;
    return true;
  };
  function addSyncCallback(_this__u8e3s4, nodeIdAndAuth) {
    _this__u8e3s4.t78(new SyncNodeIdCallback(nodeIdAndAuth.v6a_1));
    return _this__u8e3s4;
  }
  //region block: post-declaration
  protoOf($serializer).q4m = typeParametersSerializers;
  protoOf($serializer_0).q4m = typeParametersSerializers;
  protoOf($serializer_1).q4m = typeParametersSerializers;
  protoOf($serializer_2).q4m = typeParametersSerializers;
  protoOf($serializer_3).q4m = typeParametersSerializers;
  protoOf($serializer_4).q4m = typeParametersSerializers;
  protoOf($serializer_5).q4m = typeParametersSerializers;
  protoOf($serializer_6).q4m = typeParametersSerializers;
  protoOf($serializer_7).q4m = typeParametersSerializers;
  protoOf($serializer_8).q4m = typeParametersSerializers;
  protoOf($serializer_9).q4m = typeParametersSerializers;
  protoOf($serializer_10).q4m = typeParametersSerializers;
  protoOf($serializer_11).q4m = typeParametersSerializers;
  protoOf($serializer_12).q4m = typeParametersSerializers;
  protoOf($serializer_13).q4m = typeParametersSerializers;
  protoOf($serializer_14).q4m = typeParametersSerializers;
  protoOf($serializer_15).q4m = typeParametersSerializers;
  protoOf($serializer_16).q4m = typeParametersSerializers;
  protoOf($serializer_17).q4m = typeParametersSerializers;
  protoOf($serializer_18).q4m = typeParametersSerializers;
  protoOf($serializer_19).q4m = typeParametersSerializers;
  protoOf($serializer_20).q4m = typeParametersSerializers;
  protoOf($serializer_21).q4m = typeParametersSerializers;
  protoOf($serializer_22).q4m = typeParametersSerializers;
  protoOf($serializer_23).q4m = typeParametersSerializers;
  protoOf($serializer_24).q4m = typeParametersSerializers;
  protoOf($serializer_25).q4m = typeParametersSerializers;
  protoOf($serializer_26).q4m = typeParametersSerializers;
  protoOf($serializer_27).q4m = typeParametersSerializers;
  protoOf($serializer_28).q4m = typeParametersSerializers;
  protoOf($serializer_29).q4m = typeParametersSerializers;
  protoOf($serializer_30).q4m = typeParametersSerializers;
  protoOf($serializer_31).q4m = typeParametersSerializers;
  protoOf($serializer_32).q4m = typeParametersSerializers;
  protoOf($serializer_33).q4m = typeParametersSerializers;
  protoOf($serializer_34).q4m = typeParametersSerializers;
  protoOf($serializer_35).q4m = typeParametersSerializers;
  protoOf($serializer_36).q4m = typeParametersSerializers;
  protoOf($serializer_37).q4m = typeParametersSerializers;
  protoOf($serializer_38).q4m = typeParametersSerializers;
  protoOf($serializer_39).q4m = typeParametersSerializers;
  protoOf($serializer_40).q4m = typeParametersSerializers;
  protoOf($serializer_41).q4m = typeParametersSerializers;
  protoOf($serializer_42).q4m = typeParametersSerializers;
  protoOf($serializer_43).q4m = typeParametersSerializers;
  protoOf($serializer_44).q4m = typeParametersSerializers;
  protoOf($serializer_45).q4m = typeParametersSerializers;
  protoOf($serializer_46).q4m = typeParametersSerializers;
  protoOf($serializer_47).q4m = typeParametersSerializers;
  protoOf($serializer_48).q4m = typeParametersSerializers;
  protoOf($serializer_49).q4m = typeParametersSerializers;
  protoOf($serializer_50).q4m = typeParametersSerializers;
  protoOf($serializer_51).q4m = typeParametersSerializers;
  protoOf($serializer_52).q4m = typeParametersSerializers;
  protoOf($serializer_53).q4m = typeParametersSerializers;
  protoOf($serializer_54).q4m = typeParametersSerializers;
  protoOf($serializer_55).q4m = typeParametersSerializers;
  protoOf($serializer_56).q4m = typeParametersSerializers;
  protoOf($serializer_57).q4m = typeParametersSerializers;
  protoOf($serializer_58).q4m = typeParametersSerializers;
  protoOf($serializer_59).q4m = typeParametersSerializers;
  protoOf($serializer_60).q4m = typeParametersSerializers;
  protoOf($serializer_61).q4m = typeParametersSerializers;
  protoOf($serializer_62).q4m = typeParametersSerializers;
  protoOf($serializer_63).q4m = typeParametersSerializers;
  protoOf($serializer_64).q4m = typeParametersSerializers;
  protoOf($serializer_65).q4m = typeParametersSerializers;
  protoOf($serializer_66).q4m = typeParametersSerializers;
  protoOf($serializer_67).q4m = typeParametersSerializers;
  protoOf($serializer_68).q4m = typeParametersSerializers;
  protoOf($serializer_69).q4m = typeParametersSerializers;
  protoOf($serializer_70).q4m = typeParametersSerializers;
  protoOf($serializer_71).q4m = typeParametersSerializers;
  protoOf($serializer_72).q4m = typeParametersSerializers;
  protoOf($serializer_73).q4m = typeParametersSerializers;
  protoOf($serializer_74).q4m = typeParametersSerializers;
  protoOf($serializer_75).q4m = typeParametersSerializers;
  protoOf($serializer_76).q4m = typeParametersSerializers;
  protoOf($serializer_77).q4m = typeParametersSerializers;
  protoOf($serializer_78).q4m = typeParametersSerializers;
  protoOf($serializer_79).q4m = typeParametersSerializers;
  protoOf($serializer_80).q4m = typeParametersSerializers;
  protoOf($serializer_81).q4m = typeParametersSerializers;
  protoOf($serializer_82).q4m = typeParametersSerializers;
  protoOf($serializer_83).q4m = typeParametersSerializers;
  protoOf($serializer_84).q4m = typeParametersSerializers;
  protoOf($serializer_85).q4m = typeParametersSerializers;
  protoOf($serializer_86).q4m = typeParametersSerializers;
  protoOf($serializer_87).q4m = typeParametersSerializers;
  protoOf($serializer_88).q4m = typeParametersSerializers;
  protoOf($serializer_89).q4m = typeParametersSerializers;
  protoOf($serializer_90).q4m = typeParametersSerializers;
  protoOf($serializer_91).q4m = typeParametersSerializers;
  protoOf($serializer_92).q4m = typeParametersSerializers;
  protoOf($serializer_93).q4m = typeParametersSerializers;
  protoOf($serializer_94).q4m = typeParametersSerializers;
  protoOf($serializer_95).q4m = typeParametersSerializers;
  protoOf($serializer_96).q4m = typeParametersSerializers;
  protoOf($serializer_97).q4m = typeParametersSerializers;
  protoOf($serializer_98).q4m = typeParametersSerializers;
  protoOf($serializer_99).q4m = typeParametersSerializers;
  protoOf($serializer_100).q4m = typeParametersSerializers;
  protoOf($serializer_101).q4m = typeParametersSerializers;
  protoOf($serializer_102).q4m = typeParametersSerializers;
  protoOf($serializer_103).q4m = typeParametersSerializers;
  protoOf($serializer_104).q4m = typeParametersSerializers;
  protoOf($serializer_105).q4m = typeParametersSerializers;
  protoOf($serializer_106).q4m = typeParametersSerializers;
  protoOf($serializer_107).q4m = typeParametersSerializers;
  protoOf($serializer_108).q4m = typeParametersSerializers;
  protoOf($serializer_109).q4m = typeParametersSerializers;
  protoOf($serializer_110).q4m = typeParametersSerializers;
  protoOf($serializer_111).q4m = typeParametersSerializers;
  protoOf($serializer_112).q4m = typeParametersSerializers;
  protoOf($serializer_113).q4m = typeParametersSerializers;
  protoOf($serializer_114).q4m = typeParametersSerializers;
  protoOf($serializer_115).q4m = typeParametersSerializers;
  protoOf($serializer_116).q4m = typeParametersSerializers;
  protoOf($serializer_117).q4m = typeParametersSerializers;
  protoOf($serializer_118).q4m = typeParametersSerializers;
  protoOf($serializer_119).q4m = typeParametersSerializers;
  protoOf($serializer_120).q4m = typeParametersSerializers;
  protoOf($serializer_121).q4m = typeParametersSerializers;
  protoOf($serializer_122).q4m = typeParametersSerializers;
  protoOf($serializer_123).q4m = typeParametersSerializers;
  //endregion
  //region block: init
  Companion_instance_0 = new Companion();
  UNSET_DISTANT_FUTURE = new Long(-289930240, 1689);
  ClazzAssignmentDaoCommon_instance = new ClazzAssignmentDaoCommon();
  ClazzDaoCommon_instance = new ClazzDaoCommon();
  ClazzEnrolmentDaoCommon_instance = new ClazzEnrolmentDaoCommon();
  ContentEntryDaoCommon_instance = new ContentEntryDaoCommon();
  CourseAssignmentMarkDaoCommon_instance = new CourseAssignmentMarkDaoCommon();
  CourseGroupSetDaoConstants_instance = new CourseGroupSetDaoConstants();
  LanguageDaoCommon_instance = new LanguageDaoCommon();
  PersonDaoCommon_instance = new PersonDaoCommon();
  Companion_instance_1 = new Companion_0();
  Companion_instance_2 = new Companion_1();
  Companion_instance_3 = new Companion_2();
  Companion_instance_4 = new Companion_3();
  Companion_instance_5 = new Companion_4();
  Companion_instance_6 = new Companion_5();
  Companion_instance_7 = new Companion_6();
  Companion_instance_8 = new Companion_7();
  Companion_instance_9 = new Companion_8();
  Companion_instance_10 = new Companion_9();
  Companion_instance_11 = new Companion_10();
  Companion_instance_12 = new Companion_11();
  Companion_instance_13 = new Companion_12();
  Companion_instance_14 = new Companion_13();
  Companion_instance_15 = new Companion_14();
  Companion_instance_16 = new Companion_15();
  Companion_instance_17 = new Companion_16();
  Companion_instance_19 = new Companion_18();
  Companion_instance_20 = new Companion_19();
  Companion_instance_21 = new Companion_20();
  Companion_instance_22 = new Companion_21();
  Companion_instance_23 = new Companion_22();
  Companion_instance_24 = new Companion_23();
  Companion_instance_25 = new Companion_24();
  Companion_instance_26 = new Companion_25();
  Companion_instance_27 = new Companion_26();
  Companion_instance_28 = new Companion_27();
  Companion_instance_29 = new Companion_28();
  Companion_instance_30 = new Companion_29();
  Companion_instance_31 = new Companion_30();
  Companion_instance_32 = new Companion_31();
  Companion_instance_33 = new Companion_32();
  Companion_instance_34 = new Companion_33();
  Companion_instance_37 = new Companion_36();
  Companion_instance_38 = new Companion_37();
  Companion_instance_39 = new Companion_38();
  Companion_instance_41 = new Companion_40();
  Companion_instance_42 = new Companion_41();
  Companion_instance_43 = new Companion_42();
  Companion_instance_45 = new Companion_44();
  Companion_instance_46 = new Companion_45();
  Companion_instance_47 = new Companion_46();
  Companion_instance_48 = new Companion_47();
  Companion_instance_49 = new Companion_48();
  Companion_instance_50 = new Companion_49();
  Companion_instance_51 = new Companion_50();
  Companion_instance_52 = new Companion_51();
  Companion_instance_53 = new Companion_52();
  Companion_instance_54 = new Companion_53();
  Companion_instance_55 = new Companion_54();
  Companion_instance_56 = new Companion_55();
  Companion_instance_57 = new Companion_56();
  Companion_instance_58 = new Companion_57();
  Companion_instance_59 = new Companion_58();
  Companion_instance_60 = new Companion_59();
  Companion_instance_61 = new Companion_60();
  Companion_instance_62 = new Companion_61();
  Companion_instance_63 = new Companion_62();
  Companion_instance_64 = new Companion_63();
  Companion_instance_65 = new Companion_64();
  Companion_instance_66 = new Companion_65();
  Companion_instance_67 = new Companion_66();
  Companion_instance_68 = new Companion_67();
  Companion_instance_70 = new Companion_69();
  Companion_instance_71 = new Companion_70();
  Companion_instance_72 = new Companion_71();
  Companion_instance_73 = new Companion_72();
  Companion_instance_74 = new Companion_73();
  Companion_instance_75 = new Companion_74();
  Companion_instance_77 = new Companion_76();
  Companion_instance_78 = new Companion_77();
  Companion_instance_79 = new Companion_78();
  Companion_instance_80 = new Companion_79();
  Companion_instance_81 = new Companion_80();
  Companion_instance_82 = new Companion_81();
  Companion_instance_83 = new Companion_82();
  Companion_instance_84 = new Companion_83();
  Companion_instance_85 = new Companion_84();
  Companion_instance_86 = new Companion_85();
  Companion_instance_88 = new Companion_87();
  Companion_instance_90 = new Companion_89();
  Companion_instance_91 = new Companion_90();
  Companion_instance_92 = new Companion_91();
  Companion_instance_93 = new Companion_92();
  Companion_instance_94 = new Companion_93();
  Companion_instance_95 = new Companion_94();
  Companion_instance_96 = new Companion_95();
  Companion_instance_97 = new Companion_96();
  Companion_instance_98 = new Companion_97();
  Companion_instance_99 = new Companion_98();
  Companion_instance_100 = new Companion_99();
  Companion_instance_101 = new Companion_100();
  Companion_instance_103 = new Companion_102();
  Companion_instance_105 = new Companion_104();
  Companion_instance_107 = new Companion_106();
  Companion_instance_108 = new Companion_107();
  Companion_instance_109 = new Companion_108();
  Companion_instance_110 = new Companion_109();
  Companion_instance_112 = new Companion_111();
  Companion_instance_113 = new Companion_112();
  Companion_instance_114 = new Companion_113();
  Companion_instance_115 = new Companion_114();
  Companion_instance_116 = new Companion_115();
  Companion_instance_117 = new Companion_116();
  Companion_instance_118 = new Companion_117();
  Companion_instance_119 = new Companion_118();
  Companion_instance_120 = new Companion_119();
  Companion_instance_121 = new Companion_120();
  Companion_instance_122 = new Companion_121();
  Companion_instance_123 = new Companion_122();
  Companion_instance_124 = new Companion_123();
  Companion_instance_125 = new Companion_124();
  Companion_instance_126 = new Companion_125();
  Companion_instance_127 = new Companion_126();
  Companion_instance_128 = new Companion_127();
  Companion_instance_130 = new Companion_129();
  XapiEntityObjectTypeFlags_instance = new XapiEntityObjectTypeFlags();
  Companion_instance_131 = new Companion_130();
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = get_MIGRATION_144_145_CLIENT;
  _.$_$.b = get_MIGRATION_148_149_NO_OFFLINE_ITEMS;
  _.$_$.c = get_MIGRATION_155_156_CLIENT;
  _.$_$.d = get_MIGRATION_161_162_CLIENT;
  _.$_$.e = get_MIGRATION_169_170_CLIENT;
  _.$_$.f = addSyncCallback;
  _.$_$.g = migrationList;
  _.$_$.h = get_MIGRATE_USERNAME_CLIENT;
  _.$_$.i = get_UNSET_DISTANT_FUTURE;
  _.$_$.j = UmAppDatabase;
  _.$_$.k = AssignmentPermissionAndActiveUserSubmitterUid;
  _.$_$.l = BlockStatus;
  _.$_$.m = ClazzAndDetailPermissions;
  _.$_$.n = ClazzAndDisplayDetails;
  _.$_$.o = ClazzNameAndTerminology;
  _.$_$.p = CommentsAndName;
  _.$_$.q = ContentEntryAndContentJob;
  _.$_$.r = ContentEntryAndDetail;
  _.$_$.s = ContentEntryAndListDetail;
  _.$_$.t = CourseAssignmentMarkAndMarkerName;
  _.$_$.u = CourseBlockAndAssignment;
  _.$_$.v = CourseBlockAndEditEntities;
  _.$_$.w = CourseBlockAndPicture;
  _.$_$.x = DiscussionPostAndPosterNames;
  _.$_$.y = EditAndViewPermission;
  _.$_$.z = MessageAndOtherPerson;
  _.$_$.a1 = OfflineItemAndState;
  _.$_$.b1 = PermissionPair;
  _.$_$.c1 = PermissionTriple;
  _.$_$.d1 = PersonAndClazzLogAttendanceRecord;
  _.$_$.e1 = PersonAndListDisplayDetails;
  _.$_$.f1 = PersonAndPicture;
  _.$_$.g1 = PersonNames;
  _.$_$.h1 = SiteTermsAndLangName;
  _.$_$.i1 = StudentAndBlockStatuses;
  _.$_$.j1 = SubmissionAndFiles;
  _.$_$.k1 = shallowCopy_12;
  _.$_$.l1 = shallowCopy_17;
  _.$_$.m1 = shallowCopy_0;
  _.$_$.n1 = shallowCopy_19;
  _.$_$.o1 = shallowCopy_1;
  _.$_$.p1 = shallowCopy_9;
  _.$_$.q1 = shallowCopy_6;
  _.$_$.r1 = shallowCopy_10;
  _.$_$.s1 = shallowCopy_7;
  _.$_$.t1 = shallowCopy_16;
  _.$_$.u1 = shallowCopy_11;
  _.$_$.v1 = shallowCopy_15;
  _.$_$.w1 = shallowCopy_5;
  _.$_$.x1 = shallowCopy_4;
  _.$_$.y1 = shallowCopy_2;
  _.$_$.z1 = shallowCopy_18;
  _.$_$.a2 = shallowCopy;
  _.$_$.b2 = shallowCopy_20;
  _.$_$.c2 = shallowCopy_14;
  _.$_$.d2 = shallowCopy_8;
  _.$_$.e2 = shallowCopy_3;
  _.$_$.f2 = shallowCopy_13;
  _.$_$.g2 = ActivityEntity;
  _.$_$.h2 = ActivityExtensionEntity;
  _.$_$.i2 = ActivityInteractionEntity;
  _.$_$.j2 = ActivityLangMapEntry;
  _.$_$.k2 = ActorEntity;
  _.$_$.l2 = GroupMemberActorJoin;
  _.$_$.m2 = StatementContextActivityJoin;
  _.$_$.n2 = StatementEntityJson;
  _.$_$.o2 = StatementEntity;
  _.$_$.p2 = VerbEntity;
  _.$_$.q2 = VerbLangMapEntry;
  _.$_$.r2 = XapiSessionEntity;
  _.$_$.s2 = AssignmentProgressSummary;
  _.$_$.t2 = AssignmentSubmitterAndAllocations;
  _.$_$.u2 = AssignmentSubmitterSummary;
  _.$_$.v2 = AverageCourseAssignmentMark;
  _.$_$.w2 = ClazzAssignmentCourseBlockAndSubmitterUid;
  _.$_$.x2 = ClazzAssignment;
  _.$_$.y2 = ClazzEnrolmentWithLeavingReason;
  _.$_$.z2 = ClazzLogAttendanceRecord;
  _.$_$.a3 = ClazzLog;
  _.$_$.b3 = ClazzWithHolidayCalendarAndAndTerminology;
  _.$_$.c3 = Clazz;
  _.$_$.d3 = Comments;
  _.$_$.e3 = ContentEntryButtonModel;
  _.$_$.f3 = ContentEntryImportJob;
  _.$_$.g3 = ContentEntryParentChildJoin;
  _.$_$.h3 = ContentEntryPicture2;
  _.$_$.i3 = ContentEntryRelatedEntryJoinWithLanguage;
  _.$_$.j3 = ContentEntryStatementScoreProgress;
  _.$_$.k3 = ContentEntryVersion;
  _.$_$.l3 = ContentEntry;
  _.$_$.m3 = CourseAssignmentMark;
  _.$_$.n3 = CourseAssignmentSubmissionFile;
  _.$_$.o3 = CourseAssignmentSubmission;
  _.$_$.p3 = CourseBlockPicture;
  _.$_$.q3 = CourseBlock;
  _.$_$.r3 = CourseGroupMemberAndName;
  _.$_$.s3 = CourseGroupMember;
  _.$_$.t3 = CourseGroupSet;
  _.$_$.u3 = CoursePermission;
  _.$_$.v3 = CoursePicture;
  _.$_$.w3 = CourseTerminology;
  _.$_$.x3 = DiscussionPost;
  _.$_$.y3 = EnrolmentRequest;
  _.$_$.z3 = ErrorReport;
  _.$_$.a4 = HolidayCalendarWithNumEntries;
  _.$_$.b4 = HolidayCalendar;
  _.$_$.c4 = Holiday;
  _.$_$.d4 = Language;
  _.$_$.e4 = LeavingReason;
  _.$_$.f4 = Message;
  _.$_$.g4 = PeerReviewerAllocation;
  _.$_$.h4 = PersonAndDisplayDetail;
  _.$_$.i4 = PersonAuth2;
  _.$_$.j4 = PersonGroup;
  _.$_$.k4 = PersonParentJoinAndMinorPerson;
  _.$_$.l4 = PersonParentJoin;
  _.$_$.m4 = PersonPicture;
  _.$_$.n4 = Person;
  _.$_$.o4 = Schedule;
  _.$_$.p4 = ScopedGrant;
  _.$_$.q4 = SiteTermsWithLanguage;
  _.$_$.r4 = SiteTerms;
  _.$_$.s4 = Site;
  _.$_$.t4 = SystemPermission;
  _.$_$.u4 = TransferJobItem;
  _.$_$.v4 = TransferJob;
  _.$_$.w4 = UidAndLabel;
  _.$_$.x4 = UmAccount;
  _.$_$.y4 = UserSession;
  _.$_$.z4 = TransferJobItemStatus_COMPLETE_getInstance;
  _.$_$.a5 = TransferJobItemStatus_FAILED_getInstance;
  _.$_$.b5 = TransferJobItemStatus_IN_PROGRESS_getInstance;
  _.$_$.c5 = deactivateByUids_1;
  _.$_$.d5 = deactivateByUids;
  _.$_$.e5 = deactivateByUids_0;
  _.$_$.f5 = ClazzEnrolment_init_$Create$;
  _.$_$.g5 = PersonGroupMember_init_$Create$;
  _.$_$.h5 = ClazzAssignmentDaoCommon_instance;
  _.$_$.i5 = ClazzDaoCommon_instance;
  _.$_$.j5 = ClazzEnrolmentDaoCommon_instance;
  _.$_$.k5 = ContentEntryDaoCommon_instance;
  _.$_$.l5 = CourseAssignmentMarkDaoCommon_instance;
  _.$_$.m5 = CourseGroupSetDaoConstants_instance;
  _.$_$.n5 = LanguageDaoCommon_instance;
  _.$_$.o5 = PersonDaoCommon_instance;
  _.$_$.p5 = PermissionFlags_getInstance;
  _.$_$.q5 = UmAppDatabaseJsImplementations_getInstance;
  _.$_$.r5 = Companion_instance_9;
  _.$_$.s5 = Companion_instance_12;
  _.$_$.t5 = $serializer_getInstance_16;
  _.$_$.u5 = Companion_getInstance_20;
  _.$_$.v5 = Companion_instance_31;
  _.$_$.w5 = Companion_instance_38;
  _.$_$.x5 = Companion_instance_118;
  _.$_$.y5 = Companion_instance_120;
  _.$_$.z5 = Companion_instance_121;
  _.$_$.a6 = Companion_instance_122;
  _.$_$.b6 = Companion_instance_126;
  _.$_$.c6 = Companion_instance_127;
  _.$_$.d6 = XapiEntityObjectTypeFlags_instance;
  _.$_$.e6 = $serializer_getInstance_123;
  _.$_$.f6 = Companion_instance_131;
  _.$_$.g6 = Companion_getInstance_42;
  _.$_$.h6 = Companion_getInstance_46;
  _.$_$.i6 = Companion_instance_45;
  _.$_$.j6 = Companion_instance_47;
  _.$_$.k6 = Companion_instance_48;
  _.$_$.l6 = Companion_instance_49;
  _.$_$.m6 = Companion_instance_50;
  _.$_$.n6 = $serializer_getInstance_47;
  _.$_$.o6 = Companion_instance_51;
  _.$_$.p6 = Companion_instance_56;
  _.$_$.q6 = $serializer_getInstance_54;
  _.$_$.r6 = Companion_instance_58;
  _.$_$.s6 = Companion_instance_59;
  _.$_$.t6 = $serializer_getInstance_57;
  _.$_$.u6 = Companion_instance_61;
  _.$_$.v6 = Companion_instance_65;
  _.$_$.w6 = $serializer_getInstance_62;
  _.$_$.x6 = Companion_getInstance_71;
  _.$_$.y6 = Companion_instance_70;
  _.$_$.z6 = Companion_instance_71;
  _.$_$.a7 = Companion_instance_72;
  _.$_$.b7 = Companion_instance_73;
  _.$_$.c7 = Companion_instance_74;
  _.$_$.d7 = Companion_instance_75;
  _.$_$.e7 = Companion_getInstance_78;
  _.$_$.f7 = Companion_instance_77;
  _.$_$.g7 = $serializer_getInstance_74;
  _.$_$.h7 = Companion_instance_78;
  _.$_$.i7 = Companion_instance_79;
  _.$_$.j7 = Companion_instance_80;
  _.$_$.k7 = Companion_instance_82;
  _.$_$.l7 = Companion_getInstance_91;
  _.$_$.m7 = Companion_instance_92;
  _.$_$.n7 = $serializer_getInstance_89;
  _.$_$.o7 = Companion_instance_93;
  _.$_$.p7 = Companion_instance_96;
  _.$_$.q7 = Companion_instance_97;
  _.$_$.r7 = $serializer_getInstance_94;
  _.$_$.s7 = Companion_instance_99;
  _.$_$.t7 = Companion_instance_100;
  _.$_$.u7 = $serializer_getInstance_96;
  _.$_$.v7 = Companion_instance_101;
  _.$_$.w7 = Companion_instance_103;
  _.$_$.x7 = $serializer_getInstance_99;
  _.$_$.y7 = Companion_instance_105;
  _.$_$.z7 = Companion_instance_107;
  _.$_$.a8 = Companion_instance_108;
  _.$_$.b8 = Companion_getInstance_113;
  _.$_$.c8 = Companion_instance_112;
  _.$_$.d8 = $serializer_getInstance_111;
  _.$_$.e8 = Companion_instance_117;
  //endregion
  return _;
}(module.exports, require('./door-door-runtime.js'), require('./kotlin-kotlin-stdlib.js'), require('./multiplatform-paging-root-paging-common.js'), require('./ktor-ktor-client-core.js'), require('./kotlinx-serialization-kotlinx-serialization-core.js'), require('./ktor-ktor-http.js'), require('./Napier-napier-js-ir.js')));

//# sourceMappingURL=UstadMobile-lib-database.js.map
