package Ġcom . m ire go . tri kot . streams . reactive . processors Ċ Ċ import Ġcom . m ire go . tri kot . streams . reactive . Publish ers Ċ import Ġcom . m ire go . tri kot . streams . reactive . filter Ċ import Ġcom . m ire go . tri kot . streams . reactive . map Ċ import Ġorg . reactiv est ream s . Publisher Ċ Ċ data Ġclass ĠN Tuple 4 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD Ċ ) Ċ Ċ data Ġclass ĠN Tuple 5 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD , Ġout ĠE >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD , ĊĠĠĠ Ġval Ġf ifth : ĠE Ċ ) Ċ Ċ data Ġclass ĠN Tuple 6 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD , Ġout ĠE , Ġout ĠF >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD , ĊĠĠĠ Ġval Ġf ifth : ĠE , ĊĠĠĠ Ġval Ġsix th : ĠF Ċ ) Ċ Ċ data Ġclass ĠN Tuple 7 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD , Ġout ĠE , Ġout ĠF , Ġout ĠG >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD , ĊĠĠĠ Ġval Ġf ifth : ĠE , ĊĠĠĠ Ġval Ġsix th : ĠF , ĊĠĠĠ Ġval Ġse vent h : ĠG Ċ ) Ċ Ċ data Ġclass ĠN Tuple 8 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD , Ġout ĠE , Ġout ĠF , Ġout ĠG , Ġout ĠH >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD , ĊĠĠĠ Ġval Ġf ifth : ĠE , ĊĠĠĠ Ġval Ġsix th : ĠF , ĊĠĠĠ Ġval Ġse vent h : ĠG , ĊĠĠĠ Ġval Ġe ighth : ĠH Ċ ) Ċ Ċ data Ġclass ĠN Tuple 9 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD , Ġout ĠE , Ġout ĠF , Ġout ĠG , Ġout ĠH , Ġout ĠI >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD , ĊĠĠĠ Ġval Ġf ifth : ĠE , ĊĠĠĠ Ġval Ġsix th : ĠF , ĊĠĠĠ Ġval Ġse vent h : ĠG , ĊĠĠĠ Ġval Ġe ighth : ĠH , ĊĠĠĠ Ġval Ġn in th : ĠI Ċ ) Ċ Ċ data Ġclass ĠN Tuple 1 0 < out ĠA , Ġout ĠB , Ġout ĠC , Ġout ĠD , Ġout ĠE , Ġout ĠF , Ġout ĠG , Ġout ĠH , Ġout ĠI , Ġout ĠJ >( ĊĠĠĠ Ġval Ġfirst : ĠA , ĊĠĠĠ Ġval Ġsecond : ĠB , ĊĠĠĠ Ġval Ġthird : ĠC , ĊĠĠĠ Ġval Ġfourth : ĠD , ĊĠĠĠ Ġval Ġf ifth : ĠE , ĊĠĠĠ Ġval Ġsix th : ĠF , ĊĠĠĠ Ġval Ġse vent h : ĠG , ĊĠĠĠ Ġval Ġe ighth : ĠH , ĊĠĠĠ Ġval Ġn in th : ĠI , ĊĠĠĠ Ġval Ġtent h : ĠJ Ċ ) Ċ Ċ fun Ġ< T > Ġcombine ( publish ers : ĠList < Publisher < T >> ): ĠPublisher < List < T ? >> Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( publish ers . count () Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ ĠPublish ers . behavior Subject ( emptyList ()) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpublisher Ġ= Ġpublish ers . first () ĊĠĠĠĠĠĠĠ Ġval Ġother Publish ers Ġ= Ġif Ġ( publish ers . count () Ġ> Ġ 1 ) Ġpublish ers . sub List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublish ers . count () ĊĠĠĠĠĠĠĠ Ġ) Ġelse Ġempty List () ĊĊĠĠĠĠĠĠĠ Ġpublisher . combine ( other Publish ers ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR > ĠPublisher < T >. combine ( publisher : ĠPublisher < R >): ĠPublisher < Pair < T ?, ĠR ? >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ 0 ] Ġas ? ĠT Ġto Ġlist [ 1 ] Ġas ? ĠR ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR > ĠPublisher < T >. safe Combine ( publisher : ĠPublisher < R >): ĠPublisher < Pair < T , ĠR >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠT Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ 0 ] Ġas ĠT Ġto Ġlist [ 1 ] Ġas ĠR ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 > ĠPublisher < T >. safe Combine ( publisher 1 : ĠPublisher < R 1 >, Ġpublisher 2 : ĠPublisher < R 2 >): ĠPublisher < Triple < T , ĠR 1 , ĠR 2 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠT Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrip le ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 > Ċ ): ĠPublisher < NT uple 4 < T , ĠR 1 , ĠR 2 , ĠR 3 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 4 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 >, ĊĠĠĠ Ġpublisher 4 : ĠPublisher < R 4 > Ċ ): ĠPublisher < NT uple 5 < T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 , Ġpublisher 4 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ&& Ġlist [ 4 ] Ġas ? ĠR 4 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 5 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 , Ġlist [ 4 ] Ġas ĠR 4 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 >, ĊĠĠĠ Ġpublisher 4 : ĠPublisher < R 4 >, ĊĠĠĠ Ġpublisher 5 : ĠPublisher < R 5 > Ċ ): ĠPublisher < NT uple 6 < T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 , Ġpublisher 4 , Ġpublisher 5 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ&& Ġlist [ 4 ] Ġas ? ĠR 4 Ġ!= Ġnull Ġ&& Ġlist [ 5 ] Ġas ? ĠR 5 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 6 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 , Ġlist [ 4 ] Ġas ĠR 4 , Ġlist [ 5 ] Ġas ĠR 5 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 >, ĊĠĠĠ Ġpublisher 4 : ĠPublisher < R 4 >, ĊĠĠĠ Ġpublisher 5 : ĠPublisher < R 5 >, ĊĠĠĠ Ġpublisher 6 : ĠPublisher < R 6 > Ċ ): ĠPublisher < NT uple 7 < T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 , Ġpublisher 4 , Ġpublisher 5 , Ġpublisher 6 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ&& Ġlist [ 4 ] Ġas ? ĠR 4 Ġ!= Ġnull Ġ&& Ġlist [ 5 ] Ġas ? ĠR 5 Ġ!= Ġnull Ġ&& Ġlist [ 6 ] Ġas ? ĠR 6 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 7 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 , Ġlist [ 4 ] Ġas ĠR 4 , Ġlist [ 5 ] Ġas ĠR 5 , Ġlist [ 6 ] Ġas ĠR 6 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 , ĠR 7 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 >, ĊĠĠĠ Ġpublisher 4 : ĠPublisher < R 4 >, ĊĠĠĠ Ġpublisher 5 : ĠPublisher < R 5 >, ĊĠĠĠ Ġpublisher 6 : ĠPublisher < R 6 >, ĊĠĠĠ Ġpublisher 7 : ĠPublisher < R 7 > Ċ ): ĠPublisher < NT uple 8 < T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 , ĠR 7 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 , Ġpublisher 4 , Ġpublisher 5 , Ġpublisher 6 , Ġpublisher 7 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ&& Ġlist [ 4 ] Ġas ? ĠR 4 Ġ!= Ġnull Ġ&& Ġlist [ 5 ] Ġas ? ĠR 5 Ġ!= Ġnull Ġ&& Ġlist [ 6 ] Ġas ? ĠR 6 Ġ!= Ġnull Ġ&& Ġlist [ 7 ] Ġas ? ĠR 7 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 8 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 , Ġlist [ 4 ] Ġas ĠR 4 , Ġlist [ 5 ] Ġas ĠR 5 , Ġlist [ 6 ] Ġas ĠR 6 , Ġlist [ 7 ] Ġas ĠR 7 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 , ĠR 7 , ĠR 8 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 >, ĊĠĠĠ Ġpublisher 4 : ĠPublisher < R 4 >, ĊĠĠĠ Ġpublisher 5 : ĠPublisher < R 5 >, ĊĠĠĠ Ġpublisher 6 : ĠPublisher < R 6 >, ĊĠĠĠ Ġpublisher 7 : ĠPublisher < R 7 >, ĊĠĠĠ Ġpublisher 8 : ĠPublisher < R 8 > Ċ ): ĠPublisher < NT uple 9 < T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 , ĠR 7 , ĠR 8 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 , Ġpublisher 4 , Ġpublisher 5 , Ġpublisher 6 , Ġpublisher 7 , Ġpublisher 8 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ&& Ġlist [ 4 ] Ġas ? ĠR 4 Ġ!= Ġnull Ġ&& Ġlist [ 5 ] Ġas ? ĠR 5 Ġ!= Ġnull Ġ&& Ġlist [ 6 ] Ġas ? ĠR 6 Ġ!= Ġnull Ġ&& Ġlist [ 7 ] Ġas ? ĠR 7 Ġ!= Ġnull Ġ&& Ġlist [ 8 ] Ġas ? ĠR 8 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 9 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 , Ġlist [ 4 ] Ġas ĠR 4 , Ġlist [ 5 ] Ġas ĠR 5 , Ġlist [ 6 ] Ġas ĠR 6 , Ġlist [ 7 ] Ġas ĠR 7 , Ġlist [ 8 ] Ġas ĠR 8 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 , ĠR 7 , ĠR 8 , ĠR 9 > ĠPublisher < T >. safe Combine ( ĊĠĠĠ Ġpublisher 1 : ĠPublisher < R 1 >, ĊĠĠĠ Ġpublisher 2 : ĠPublisher < R 2 >, ĊĠĠĠ Ġpublisher 3 : ĠPublisher < R 3 >, ĊĠĠĠ Ġpublisher 4 : ĠPublisher < R 4 >, ĊĠĠĠ Ġpublisher 5 : ĠPublisher < R 5 >, ĊĠĠĠ Ġpublisher 6 : ĠPublisher < R 6 >, ĊĠĠĠ Ġpublisher 7 : ĠPublisher < R 7 >, ĊĠĠĠ Ġpublisher 8 : ĠPublisher < R 8 >, ĊĠĠĠ Ġpublisher 9 : ĠPublisher < R 9 > Ċ ): ĠPublisher < NT uple 1 0 < T , ĠR 1 , ĠR 2 , ĠR 3 , ĠR 4 , ĠR 5 , ĠR 6 , ĠR 7 , ĠR 8 , ĠR 9 >> Ġ{ ĊĠĠĠ Ġreturn Ġ( this Ġas ĠPublisher < Any >). combine ( listOf ( publisher 1 , Ġpublisher 2 , Ġpublisher 3 , Ġpublisher 4 , Ġpublisher 5 , Ġpublisher 6 , Ġpublisher 7 , Ġpublisher 8 , Ġpublisher 9 ) Ġas ĠList < Publisher < Any >>) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġlist Ġ-> Ġlist [ 0 ] Ġas ? ĠT Ġ!= Ġnull Ġ&& Ġlist [ 1 ] Ġas ? ĠR 1 Ġ!= Ġnull Ġ&& Ġlist [ 2 ] Ġas ? ĠR 2 Ġ!= Ġnull Ġ&& Ġlist [ 3 ] Ġas ? ĠR 3 Ġ!= Ġnull Ġ&& Ġlist [ 4 ] Ġas ? ĠR 4 Ġ!= Ġnull Ġ&& Ġlist [ 5 ] Ġas ? ĠR 5 Ġ!= Ġnull Ġ&& Ġlist [ 6 ] Ġas ? ĠR 6 Ġ!= Ġnull Ġ&& Ġlist [ 7 ] Ġas ? ĠR 7 Ġ!= Ġnull Ġ&& Ġlist [ 8 ] Ġas ? ĠR 8 Ġ!= Ġnull Ġ&& Ġlist [ 9 ] Ġas ? ĠR 9 Ġ!= Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN Tuple 1 0 ( list [ 0 ] Ġas ĠT , Ġlist [ 1 ] Ġas ĠR 1 , Ġlist [ 2 ] Ġas ĠR 2 , Ġlist [ 3 ] Ġas ĠR 3 , Ġlist [ 4 ] Ġas ĠR 4 , Ġlist [ 5 ] Ġas ĠR 5 , Ġlist [ 6 ] Ġas ĠR 6 , Ġlist [ 7 ] Ġas ĠR 7 , Ġlist [ 8 ] Ġas ĠR 8 , Ġlist [ 9 ] Ġas ĠR 9 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠPublisher < T >. combine ( publish ers : ĠList < Publisher < T >> ): ĠPublisher < List < T ? >> Ġ{ ĊĠĠĠ Ġreturn ĠCombine Latest Processor ( this , Ġpublish ers ) Ċ } Ċ