package Ġcc . crypt op unk s . crypt on . handler Ċ Ċ import Ġcc . crypt op unk s . crypt on . context . Chat Ċ import Ġcc . crypt op unk s . crypt on . context . Subscribe Ċ import Ġcc . crypt op unk s . crypt on . handle Ċ import Ġcc . crypt op unk s . crypt on . util . ext . buffered Throttle Ċ import Ġcc . crypt op unk s . crypt on . util . logger . log Ċ import Ġkotlinx . coroutines . flow . as Flow Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . flow . flatten Merge Ċ import Ġkotlinx . coroutines . flow . flow Of Ċ import Ġkotlinx . coroutines . flow . map Ċ import Ġkotlinx . coroutines . flow . on Completion Ċ import Ġkotlinx . coroutines . flow . on Each Ċ import Ġkotlinx . coroutines . flow . onStart Ċ Ċ internal Ġfun Ġhandle Last Message Subscription () Ġ= ĊĠĠĠ Ġhandle Ġ{ Ġout , Ġ_: ĠSubscribe . Last Message Ġ-> ĊĠĠĠĠĠĠĠ Ġflow Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Repo . list ( chat . address ). as Flow (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Repo . flow Latest ( chat . address ) ĊĠĠĠĠĠĠĠ Ġ). flatten Merge (). on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . d Ġ{ Ġ" last Ġmessage Ġ$ it " Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ Ġmessages Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChat . Messages ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Ġ= Ġaddress , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= ĠlistOf ( messages ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}. onStart Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . d Ġ{ Ġ" start ĠLast Message Subscription " Ġ} ĊĠĠĠĠĠĠĠ Ġ}. on Completion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . d Ġ{ Ġ" finish ĠLast Message Subscription Ġ$ it " Ġ} ĊĠĠĠĠĠĠĠ Ġ}. collect ( out ) ĊĠĠĠ Ġ} Ċ