/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 1 - 2 0 1 7 ĠP iv otal ĠSoftware ĠInc , ĠAll ĠRights ĠReserved . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġreactor . core . publisher Ċ Ċ import Ġorg . reactiv est ream s . Publisher Ċ import Ġreactor . util . function .* ĊĊ Ċ /** Ċ Ġ* ĠMerge s Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ċ Ġ* Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", Ġreplace With Ġ= ĠReplace With (" zip ( p 1 , Ġp 2 ) ")) Ċ fun Ġ< T 1 , ĠT 2 > Ġwhen Complete ( p 1 : ĠMono < out ĠT 1 >, Ġp 2 : ĠMono < out ĠT 2 >): ĠMono < Tuple 2 < T 1 , ĠT 2 >> Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( p 1 , Ġp 2 ) Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ] Ġby Ġcombining Ġthem Ġwith Ġ[ combinator ]. Ċ Ġ* ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", Ġreplace With Ġ= ĠReplace With (" zip ( p 1 , Ġp 2 , Ġcombin ator ) ")) Ċ fun Ġ< T 1 , ĠT 2 , ĠO > Ġwhen Complete ( p 1 : ĠMono < out ĠT 1 >, Ġp 2 : ĠMono < out ĠT 2 >, Ġcombin ator : Ġ( T 1 , ĠT 2 ) Ġ-> ĠO ): ĠMono < O > Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( p 1 , Ġp 2 , Ġcombin ator ) Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ċ Ġ* Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", Ġreplace With Ġ= ĠReplace With (" zip ( p 1 , Ġp 2 , Ġp 3 ) ")) Ċ fun Ġ< T 1 , ĠT 2 , ĠT 3 > Ġwhen Complete ( p 1 : ĠMono < out ĠT 1 >, Ġp 2 : ĠMono < out ĠT 2 >, Ġp 3 : ĠMono < out ĠT 3 >): ĠMono < Tuple 3 < T 1 , ĠT 2 , ĠT 3 >> Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( p 1 , Ġp 2 , Ġp 3 ) Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ċ Ġ* Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", ĊĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" zip ( p 1 , Ġp 2 , Ġp 3 , Ġp 4 ) ")) Ċ fun Ġ< T 1 , ĠT 2 , ĠT 3 , ĠT 4 > Ġwhen Complete ( p 1 : ĠMono < out ĠT 1 >, Ġp 2 : ĠMono < out ĠT 2 >, Ġp 3 : ĠMono < out ĠT 3 >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 4 : ĠMono < out ĠT 4 >): ĠMono < Tuple 4 < T 1 , ĠT 2 , ĠT 3 , ĠT 4 >> Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( p 1 , Ġp 2 , Ġp 3 , Ġp 4 ) Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ċ Ġ* Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", ĊĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" zip ( p 1 , Ġp 2 , Ġp 3 , Ġp 4 , Ġp 5 ) ")) Ċ fun Ġ< T 1 , ĠT 2 , ĠT 3 , ĠT 4 , ĠT 5 > Ġwhen Complete ( p 1 : ĠMono < out ĠT 1 >, Ġp 2 : ĠMono < out ĠT 2 >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 3 : ĠMono < out ĠT 3 >, Ġp 4 : ĠMono < out ĠT 4 >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 5 : ĠMono < out ĠT 5 >): ĠMono < Tuple 5 < T 1 , ĠT 2 , ĠT 3 , ĠT 4 , ĠT 5 >> Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( p 1 , Ġp 2 , Ġp 3 , Ġp 4 , Ġp 5 ) Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ċ Ġ* Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", ĊĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" zip ( p 1 , Ġp 2 , Ġp 3 , Ġp 4 , Ġp 5 , Ġp 6 ) ")) Ċ fun Ġ< T 1 , ĠT 2 , ĠT 3 , ĠT 4 , ĠT 5 , ĠT 6 > Ġwhen Complete ( p 1 : ĠMono < out ĠT 1 >, Ġp 2 : ĠMono < out ĠT 2 >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 3 : ĠMono < out ĠT 3 >, Ġp 4 : ĠMono < out ĠT 4 >, Ġp 5 : ĠMono < out ĠT 5 >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 6 : ĠMono < out ĠT 6 >): ĠMono < Tuple 6 < T 1 , ĠT 2 , ĠT 3 , ĠT 4 , ĠT 5 , ĠT 6 >> Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( p 1 , Ġp 2 , Ġp 3 , Ġp 4 , Ġp 5 , Ġp 6 ) Ċ Ċ /** Ċ Ġ* ĠAg greg ates Ġthis Ġ[ Iterable ] Ġof Ġvoid Ġ[ Publisher ] s Ġinto Ġa Ġnew Ġ[ Mono ]. Ċ Ġ* ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ fun ĠIterable < Publisher < Void >> . when Complete (): ĠMono < Void > Ġ= ĠMono .` when `( this ) Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthis Ġ[ Iterable ] Ġof Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ] Ġby Ġcombining Ġthem Ċ Ġ* Ġwith Ġ[ combinator ]. Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ inline Ġfun Ġ< T , ĠR > ĠIterable < Mono < T >> . zip ( cross inline Ġcombin ator : Ġ( List < T >) Ġ-> ĠR ): ĠMono < R > Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( this ) Ġ{ Ġcombin ator ( it . asList () Ġas ĠList < T >) Ġ} Ċ Ċ /** Ċ Ġ* ĠMerge s Ġthis Ġ[ Iterable ] Ġof Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ] Ġby Ġcombining Ġthem Ċ Ġ* Ġwith Ġ[ combinator ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ġto Ġavoid Ġuse Ġof Ġ` when `, Ċ Ġ* Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", ĊĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" zip () ")) Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ inline Ġfun Ġ< T , ĠR > ĠIterable < Mono < T >> . when Complete ( cross inline Ġcombin ator : Ġ( List < T >) Ġ-> ĠR ): ĠMono < R > Ġ= ĊĠĠĠĠĠĠĠ ĠMono . zip ( this ) Ġ{ Ġcombin ator ( it . asList () Ġas ĠList < T >) Ġ} Ċ Ċ /** Ċ Ġ* ĠAg greg ates Ġthe Ġgiven Ġvoid Ġ[ Publisher ] s Ġinto Ġa Ġnew Ġvoid Ġ[ Mono ]. Ċ Ġ* ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ fun Ġwhen Complete ( var arg Ġsources : ĠPublisher < Void >): ĠMono < Void > Ġ= ĠMono B rid ges .` when `( sources ) Ċ Ċ /** Ċ Ġ* ĠAg greg ates Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< R > Ġzip ( var arg Ġmon os : ĠMono <* >, Ġcombin ator : Ġ( Array <* >) Ġ-> ĠR ): ĠMono < R > Ġ= ĊĠĠĠĠĠĠĠ ĠMono B rid ges . zip ( combinator , Ġmon os ) Ċ Ċ /** Ċ Ġ* ĠAg greg ates Ġthe Ġgiven Ġ[ Mono ] s Ġinto Ġa Ġnew Ġ[ Mono ]. ĠAn Ġalias Ġfor Ġa Ġcorresponding Ġ[ Mono . when ] Ċ Ġ* Ġto Ġavoid Ġuse Ġof Ġ` when `, Ġwhich Ġis Ġa Ġkeyword Ġin ĠKotlin . Ċ Ġ* Ċ Ġ* Ġ@ author ĠDo Hy ung ĠKim Ċ Ġ* Ġ@ since Ġ 3 . 1 Ċ Ġ*/ Ċ @ Deprecated ( message Ġ= Ġ" will Ġbe Ġremoved Ġby Ġ 3 . 1 . 0 . RELEASE , Ġuse Ġzip Ġinstead ", ĊĠĠĠĠĠĠĠ Ġreplace With Ġ= ĠReplace With (" zip ( mon os , Ġcombin ator ) ")) Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun Ġ< R > Ġwhen Complete ( var arg Ġmon os : ĠMono <* >, Ġcombin ator : Ġ( Array <* >) Ġ-> ĠR ): ĠMono < R > Ġ= ĊĠĠĠĠĠĠĠ ĠMono B rid ges .` when `( combinator , Ġmon os ) Ċ