U
viL ( @ sR d dl mZ d dlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZ ddlmZ ddlmZ ddlmZ ddlmZmZmZ dd lmZ dd
lmZmZ ddlmZ e dZe d
Ze dZ e dZ!e dZ"e dZ#e dZ$e dZ%e dZ&e dZ'e dZ(e dZ)ee ee dddZ*deg e!f ee!ee f ee
ee df ee dddZ+ee ee dd d!Z,eee ee dd"d#Z-ej.e ee d$d%d&Z/eee# ee$ eee#e$f d'd(d)Z0eee# ee$ ee% eee#e$e%f d*d+d)Z0eee# ee$ ee% ee& eee#e$e%e&f d,d-d)Z0ee ee d.d/d)Z0ee ee dd0d1Z1eee ee dd2d3Z2ee
j3ge
ee df f ee d4d5d6Z4dee
j3 ee d7d8d9Z5ee ej6eee f ee d:d;d<Z7eee# ee$ eee#e$f d'd=d>Z8eee# ee$ ee% eee#e$e%f d*d?d>Z8eee# ee$ ee% ee& eee#e$e%e&f d,d@d>Z8eee# ee$ ee% ee& ee' eee#e$e%e&e'f dAdBd>Z8ee ee ddCd>Z8deg ef ee
j3 ee dDdEdFZ9dedGedH f eej6eef eg ee f dIdJdKZ:dee dLdMdNZ;dee ee
j3 ee dOdPdQZde?ej@ee
j3 eee
e?eAf ef eeB ee dVdWdXZCedYdZeCZDe"ejEe" ej6e"e"f ee"gej@f ee" d[d\d]ZFe"ejEe" ej6e"e"f ee" d^d_d`ZGde?ej@ejHee
j3 eee
e?eAf ef eeB ee dbdcddZIdeg eJf e
ee df e
dee df ee dedfdgZKdej@ee
j3 eeL dhdidjZMee ee ddkdlZNee dmdndoZOeee dpdqdrZPe
ee deeeB gee f f ee ddsdtZQdeLeeL eeL ee
j3 eeL dudvdwZRdeee
j3 ee dxdydzZSed{d|eSZTdeeeL ee d}d~dZUdeg ef ee
j3 ee dddZVeg df ee dddZWde
e?eBf ee
j3 ee dddZXdejHeej@ ee
j3 eeL dddZYdedGef ee
j3 edGee f dddZZeg ee
j[ f eee
j[ gee f ee dddZ\ee eeedGf dddZ]ee eeedGf dpddZ^dddd!d#d&d)dd1d3dd6d9d>dFdKdNdQddoddtdrdddzddwddddddddddddg(Z_dS ) )Future) AnyCallableIterableMappingOptionalTupleTypeVarUnionoverload )abctyping)__version__)alias)Notification)ConnectableObservableGroupedObservable
Observable)Observer)composepipe)Subject_T_T1_T2_TKey_TState_A_B_C_D_E_F_G)sourcesreturnc G s ddl m} || S )a Propagates the observable sequence that emits first.
.. marble::
:alt: amb
---8--6--9-----------|
--1--2--3---5--------|
----------10-20-30---|
[ amb() ]
--1--2--3---5--------|
Example:
>>> winner = reactivex.amb(xs, ys, zs)
Args:
sources: Sequence of observables to monitor for first emission.
Returns:
An observable sequence that surfaces any of the given sequences,
whichever emitted the first element.
r )amb_)Zobservable.ambr' )r% r' r( C/opt/alt/python38/lib/python3.8/site-packages/reactivex/__init__.pyamb( s r* Nz
Future[_T])mapperr% default_sourcer&