package Ġde . r ki . cor on aw arn app . presence tracing . risk . execution Ċ Ċ import Ġde . r ki . cor on aw arn app . cor on atest . Cor ona Test Repository Ċ import Ġde . r ki . cor on aw arn app . cor on atest . type . Cor ona Test Ċ import Ġde . r ki . cor on aw arn app . presence tracing . check ins . Check In Repository Ċ import Ġde . r ki . cor on aw arn app . presence tracing . check ins . checkout . auto . Auto Check Out Ċ import Ġde . r ki . cor on aw arn app . presence tracing . risk . calculation . Check In Warning Matcher Ċ import Ġde . r ki . cor on aw arn app . presence tracing . risk . calculation . Presence Tracing Risk Mapper Ċ import Ġde . r ki . cor on aw arn app . presence tracing . risk . calculation . create Check In Ċ import Ġde . r ki . cor on aw arn app . presence tracing . risk . calculation . create Warning Ċ import Ġde . r ki . cor on aw arn app . presence tracing . risk . storage . Presence Tracing Risk Repository Ċ import Ġde . r ki . cor on aw arn app . presence tracing . warning . Warning Package Id Ċ import Ġde . r ki . cor on aw arn app . presence tracing . warning . download . Trace Warning Package Sync Tool Ċ import Ġde . r ki . cor on aw arn app . presence tracing . warning . storage . Trace Warning Package Ċ import Ġde . r ki . cor on aw arn app . presence tracing . warning . storage . Trace Warning Repository Ċ import Ġde . r ki . cor on aw arn app . server . protocols . internal . pt . Trace Warning Ċ import Ġde . r ki . cor on aw arn app . util . TimeStamp er Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . matchers . comp ar ables . shouldBe LessThan Ċ import Ġio . kot est . matchers . should Not Be Ċ import Ġio . mock k . Mock K Annotations Ċ import Ġio . mock k . Runs Ċ import Ġio . mock k . co Every Ċ import Ġio . mock k . co Verify Ċ import Ġio . mock k . co Verify Sequence Ċ import Ġio . mock k . every Ċ import Ġio . mock k . impl . annotations . Mock K Ċ import Ġio . mock k . just Ċ import Ġio . mock k . mock k Ċ import Ġkotlinx . coroutines . flow . Mutable State Flow Ċ import Ġkotlinx . coroutines . flow . flow Of Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . joda . time . Duration Ċ import Ġorg . joda . time . Instant Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġtest helpers . Base Test Ċ import Ġjava . io . IOException Ċ Ċ class ĠPres ence Tracing Warning Task Test Ġ: ĠBaseTest () Ġ{ ĊĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġtime Stamp er : ĠTime Stamp er ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġsync Tool : ĠTrace Warning Package Sync Tool ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġcheck In Warning Matcher : ĠCheck In Warning Matcher ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġpresence Tracing Risk Repository : ĠPres ence Tracing Risk Repository ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġtrace Warning Repository : ĠTrace Warning Repository ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġcheck Ins Repository : ĠCheck In Repository ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġpresence Tracing Risk Mapper : ĠPres ence Tracing Risk Mapper ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġauto Check Out : ĠAuto Check Out ĊĠĠĠ Ġ@ Mock K Ġlateinit Ġvar Ġcor ona Test Repository : ĠCor ona Test Repository ĊĊĠĠĠ Ġprivate Ġval Ġcor ona Tests : ĠMutable State Flow < Set < Cor ona Test >> Ġ= ĠMutable State Flow ( ĊĠĠĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock k < Cor ona Test >(). apply Ġ{ Ġevery Ġ{ Ġis Positive Ġ} Ġreturns Ġfalse Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ ĠMock K Annotations . init ( this ) ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcor ona Test Repository . cor ona Tests Ġ} Ġreturns Ġcor ona Tests ĊĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġtime Stamp er . now UTC Ġ} Ġreturns ĠInstant . of Epoch Milli ( 9 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsync Tool . sync Packages () Ġ} Ġreturns ĠTrace Warning Package Sync Tool . Sync Result ( successful Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġcheck In Warning Matcher . process ( any (), Ġany ()) Ġ} Ġanswers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCheck In Warning Matcher . Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocessed Packages Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCheck In Warning Matcher . Matches Per Package ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwarning Package Ġ= ĠWARNING _ PKG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= ĠlistOf ( mock k ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtrace Warning Repository . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġun processed Warning Packages Ġ} Ġreturns Ġflow Of ( listOf ( WARNING _ PKG )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġmark Packages Processed ( any ()) Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġcheck Ins Repository . check Ins Within Retention Ġ} Ġreturns Ġflow Of ( listOf ( CHECK IN _ 1 , ĠCHECK IN _ 2 )) ĊĊĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdelete All Matches () Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġdelete St ale Data () Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġreport Calculation ( any (), Ġany ()) Ġ} Ġjust ĠRuns ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġpresence Tracing Risk Mapper . clear Config () Ġ} Ġjust ĠRuns ĊĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġauto Check Out . process Over Due Check outs () Ġ} Ġreturns Ġempty List () ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġauto Check Out . refresh Alarm () Ġ} Ġreturns Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Instance () Ġ= ĠPres ence Tracing Warning Task ( ĊĠĠĠĠĠĠĠ Ġtime Stamp er Ġ= Ġtime Stamp er , ĊĠĠĠĠĠĠĠ Ġsync Tool Ġ= Ġsync Tool , ĊĠĠĠĠĠĠĠ Ġcheck In Warning Matcher Ġ= Ġcheck In Warning Matcher , ĊĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository Ġ= Ġpresence Tracing Risk Repository , ĊĠĠĠĠĠĠĠ Ġtrace Warning Repository Ġ= Ġtrace Warning Repository , ĊĠĠĠĠĠĠĠ Ġcheck Ins Repository Ġ= Ġcheck Ins Repository , ĊĠĠĠĠĠĠĠ Ġpresence Tracing Risk Mapper Ġ= Ġpresence Tracing Risk Mapper , ĊĠĠĠĠĠĠĠ Ġcor ona Test Repository Ġ= Ġcor ona Test Repository , ĊĠĠĠĠĠĠĠ Ġauto Check Out Ġ= Ġauto Check Out , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` happy Ġpath , Ġmatch Ġresult Ġis Ġreported Ġsuccessfully `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto Check Out . process Over Due Check outs () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto Check Out . refresh Alarm () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete St ale Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ins Repository . check Ins Within Retention ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcor ona Test Repository . cor ona Tests ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . un processed Warning Packages ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck In Warning Matcher . process ( any (), Ġany ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= Ġany () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . mark Packages Processed ( listOf ( WARNING _ PKG . packageId )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` happy Ġpath Ġwith Ġconfig Ġchange `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Mapper . clear Config () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete St ale Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ins Repository . check Ins Within Retention ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . un processed Warning Packages ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck In Warning Matcher . process ( any (), Ġany ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= Ġany () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . mark Packages Processed ( listOf ( WARNING _ PKG . packageId )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` overall Ġtask Ġerrors Ġlead Ġto Ġa Ġreported Ġfailed Ġcalculation `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsync Tool . sync Packages () Ġ} Ġthrows ĠIOException (" Unexpected ") ĊĊĠĠĠĠĠĠĠ Ġshould Throw < IOException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Verify Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` there Ġare Ġno Ġcheck - ins Ġto Ġmatch Ġagainst `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġcheck Ins Repository . check Ins Within Retention Ġ} Ġreturns Ġflow Of ( emptyList ()) ĊĊĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete St ale Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ins Repository . check Ins Within Retention ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete All Matches () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( successful Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` there Ġare Ġno Ġwarning Ġpackages Ġto Ġprocess `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġtrace Warning Repository . un processed Warning Packages Ġ} Ġreturns Ġflow Of ( emptyList ()) ĊĊĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete St ale Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ins Repository . check Ins Within Retention ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . un processed Warning Packages ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( successful Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` report Ġfailure Ġif Ġdownloads Ġfail `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġsync Tool . sync Packages () Ġ} Ġreturns ĠTrace Warning Package Sync Tool . Sync Result ( successful Ġ= Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . mark Packages Processed ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` report Ġfailure Ġif Ġmatching Ġthrows Ġexception `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġco Every Ġ{ Ġcheck In Warning Matcher . process ( any (), Ġany ()) Ġ} Ġthrows ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete St ale Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ins Repository . check Ins Within Retention ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . un processed Warning Packages ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck In Warning Matcher . process ( any (), Ġany ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= Ġany () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . mark Packages Processed ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` task Ġtimeout Ġis Ġconstr ained Ġto Ġless Ġthan Ġ 9 min `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWorker Ġexecution Ġtime ĊĠĠĠĠĠĠĠ Ġval Ġmax Duration Ġ= ĠDuration . standard Minutes ( 9 ). plus ( 1 ) ĊĠĠĠĠĠĠĠ ĠPres ence Tracing Warning Task . Config (). execution Timeout ĠshouldBe LessThan Ġmax Duration ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` we Ġdo Ġnot Ġsubmit Ġkeys Ġif Ġuser Ġgot Ġpositive Ġtest Ġresults `() Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġcor ona Tests . value Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock k < Cor ona Test >(). apply Ġ{ Ġevery Ġ{ Ġis Positive Ġ} Ġreturns Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcreate Instance (). run ( mock k ()) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠ Ġco Verify Sequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync Tool . sync Packages () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . delete St ale Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ins Repository . check Ins Within Retention ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcor ona Test Repository . cor ona Tests ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġco Verify ( exact ly Ġ= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . un processed Warning Packages ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck In Warning Matcher . process ( any (), Ġany ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tracing Risk Repository . report Calculation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Ġ= Ġany (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverlap s Ġ= Ġany () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Warning Repository . mark Packages Processed ( any ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠCHECK IN _ 1 Ġ= Ġcreate Check In ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ 2 L , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Location Id Ġ= Ġ" fe 8 4 3 9 4 e 7 3 8 3 8 5 9 0 cc 7 7 0 7 aba 0 3 5 0 c 1 3 0 f 6 d 0 fb 6 f 0 f 2 5 3 5 f 9 7 3 5 f 4 8 1 dee 6 1 8 7 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartDate Str Ġ= Ġ" 2 0 2 1 - 0 3 - 0 4 T 1 0 : 1 5 + 0 1 : 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠendDate Str Ġ= Ġ" 2 0 2 1 - 0 3 - 0 4 T 1 0 : 1 7 + 0 1 : 0 0 " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval ĠCHECK IN _ 2 Ġ= Ġcreate Check In ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ 3 L , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Location Id Ġ= Ġ" 6 9 eb 4 2 7 e 1 a 4 8 1 3 3 9 7 0 4 8 6 2 4 4 4 8 7 e 3 1 b 3 f 1 c 5 bde 4 7 4 1 5 db 9 b 5 2 cc 5 a 2 ece 1 e 0 0 6 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartDate Str Ġ= Ġ" 2 0 2 1 - 0 3 - 0 4 T 0 9 : 1 5 + 0 1 : 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠendDate Str Ġ= Ġ" 2 0 2 1 - 0 3 - 0 4 T 1 0 : 1 2 + 0 1 : 0 0 " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠWARNING _ 1 Ġ= Ġcreate Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Location Id Ġ= Ġ" fe 8 4 3 9 4 e 7 3 8 3 8 5 9 0 cc 7 7 0 7 aba 0 3 5 0 c 1 3 0 f 6 d 0 fb 6 f 0 f 2 5 3 5 f 9 7 3 5 f 4 8 1 dee 6 1 8 7 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval Date Str Ġ= Ġ" 2 0 2 1 - 0 3 - 0 4 T 1 0 : 0 0 + 0 1 : 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperiod Ġ= Ġ 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransmission Risk Level Ġ= Ġ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠWARNING _ 2 Ġ= Ġcreate Warning ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace Location Id Ġ= Ġ" 6 9 eb 4 2 7 e 1 a 4 8 1 3 3 9 7 0 4 8 6 2 4 4 4 8 7 e 3 1 b 3 f 1 c 5 bde 4 7 4 1 5 db 9 b 5 2 cc 5 a 2 ece 1 e 0 0 6 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval Date Str Ġ= Ġ" 2 0 2 1 - 0 3 - 0 4 T 1 0 : 0 0 + 0 1 : 0 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperiod Ġ= Ġ 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransmission Risk Level Ġ= Ġ 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠWARNING _ PKG Ġ= Ġobject Ġ: ĠTrace Warning Package Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġsuspend Ġfun Ġextract Warnings (): ĠList < Trace Warning . Trace Time Interval Warning > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( WARNING _ 1 , ĠWARNING _ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġpackage Id : ĠWarning Package Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" id " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ