sygnal 2.7.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +89 -23
- package/dist/index.esm.js +89 -23
- package/dist/sygnal.min.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -3203,6 +3203,7 @@ class Component {
|
|
|
3203
3203
|
// intent
|
|
3204
3204
|
// request
|
|
3205
3205
|
// model
|
|
3206
|
+
// context
|
|
3206
3207
|
// response
|
|
3207
3208
|
// view
|
|
3208
3209
|
// children
|
|
@@ -3220,10 +3221,13 @@ class Component {
|
|
|
3220
3221
|
// intent$
|
|
3221
3222
|
// action$
|
|
3222
3223
|
// model$
|
|
3224
|
+
// context$
|
|
3223
3225
|
// response$
|
|
3224
3226
|
// sendResponse$
|
|
3225
3227
|
// children$
|
|
3226
3228
|
// vdom$
|
|
3229
|
+
// currentState
|
|
3230
|
+
// currentContext
|
|
3227
3231
|
// subComponentSink$
|
|
3228
3232
|
// unmountRequest$
|
|
3229
3233
|
// unmount()
|
|
@@ -3235,7 +3239,7 @@ class Component {
|
|
|
3235
3239
|
// [ OUTPUT ]
|
|
3236
3240
|
// sinks
|
|
3237
3241
|
|
|
3238
|
-
constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP', debug=false }) {
|
|
3242
|
+
constructor({ name='NO NAME', sources, intent, request, model, context, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP', debug=false }) {
|
|
3239
3243
|
if (!sources || typeof sources != 'object') throw new Error('Missing or invalid sources')
|
|
3240
3244
|
|
|
3241
3245
|
this.name = name;
|
|
@@ -3243,6 +3247,7 @@ class Component {
|
|
|
3243
3247
|
this.intent = intent;
|
|
3244
3248
|
this.request = request;
|
|
3245
3249
|
this.model = model;
|
|
3250
|
+
this.context = context;
|
|
3246
3251
|
this.response = response;
|
|
3247
3252
|
this.view = view;
|
|
3248
3253
|
this.children = children;
|
|
@@ -3262,7 +3267,7 @@ class Component {
|
|
|
3262
3267
|
|
|
3263
3268
|
if (state$) {
|
|
3264
3269
|
this.currentState = initialState || {};
|
|
3265
|
-
this.sources[
|
|
3270
|
+
this.sources[stateSourceName] = new state.StateSource(state$.map(val => {
|
|
3266
3271
|
this.currentState = val;
|
|
3267
3272
|
return val
|
|
3268
3273
|
}));
|
|
@@ -3285,6 +3290,7 @@ class Component {
|
|
|
3285
3290
|
this.initAction$();
|
|
3286
3291
|
this.initResponse$();
|
|
3287
3292
|
this.initState();
|
|
3293
|
+
this.initContext();
|
|
3288
3294
|
this.initModel$();
|
|
3289
3295
|
this.initSendResponse$();
|
|
3290
3296
|
this.initChildren$();
|
|
@@ -3458,6 +3464,61 @@ class Component {
|
|
|
3458
3464
|
}
|
|
3459
3465
|
}
|
|
3460
3466
|
|
|
3467
|
+
initContext() {
|
|
3468
|
+
if (!this.context && !this.sources.__parentContext$) {
|
|
3469
|
+
this.context$ = xs$1.of({});
|
|
3470
|
+
return
|
|
3471
|
+
}
|
|
3472
|
+
const repeatChecker = (a, b) => {
|
|
3473
|
+
if (a === b) return true
|
|
3474
|
+
if (typeof a !== 'object' || typeof b !== 'object') {
|
|
3475
|
+
return a === b
|
|
3476
|
+
}
|
|
3477
|
+
const entriesA = Object.entries(a);
|
|
3478
|
+
const entriesB = Object.entries(b);
|
|
3479
|
+
if (entriesA.length === 0 && entriesB.length === 0) return true
|
|
3480
|
+
if (entriesA.length !== entriesB.length) return false
|
|
3481
|
+
return entriesA.every(([name, value]) => {
|
|
3482
|
+
return b[name] === value
|
|
3483
|
+
})
|
|
3484
|
+
};
|
|
3485
|
+
|
|
3486
|
+
const state$ = this.sources[this.stateSourceName]?.stream.startWith({}).compose(_default$5(repeatChecker)) || xs$1.never();
|
|
3487
|
+
const parentContext$ = this.sources.__parentContext$.startWith({}).compose(_default$5(repeatChecker)) || xs$1.of({});
|
|
3488
|
+
if (this.context && typeof this.context !== 'object') {
|
|
3489
|
+
console.error(`[${this.name}] Context must be an object mapping names to values of functions: ignoring provided ${ typeof this.context }`);
|
|
3490
|
+
}
|
|
3491
|
+
this.context$ = xs$1.combine(state$, parentContext$)
|
|
3492
|
+
.map(([_, parent]) => {
|
|
3493
|
+
const _parent = typeof parent === 'object' ? parent : {};
|
|
3494
|
+
const context = typeof this.context === 'object' ? this.context : {};
|
|
3495
|
+
const state = this.currentState;
|
|
3496
|
+
const values = Object.entries(context).reduce((acc, current) => {
|
|
3497
|
+
const [name, value] = current;
|
|
3498
|
+
let _value;
|
|
3499
|
+
const valueType = typeof value;
|
|
3500
|
+
if (valueType === 'string') {
|
|
3501
|
+
_value = state[value];
|
|
3502
|
+
} else if (valueType === 'boolean') {
|
|
3503
|
+
_value = state[name];
|
|
3504
|
+
} else if (valueType === 'function') {
|
|
3505
|
+
_value = value(state);
|
|
3506
|
+
} else {
|
|
3507
|
+
console.error(`[${ this.name }] Invalid context entry '${ name }': must be the name of a state property or a function returning a value to use`);
|
|
3508
|
+
return acc
|
|
3509
|
+
}
|
|
3510
|
+
acc[name] = _value;
|
|
3511
|
+
return acc
|
|
3512
|
+
}, {});
|
|
3513
|
+
const newContext = { ..._parent, ...values };
|
|
3514
|
+
this.currentContext = newContext;
|
|
3515
|
+
return newContext
|
|
3516
|
+
})
|
|
3517
|
+
.compose(_default$5(repeatChecker))
|
|
3518
|
+
.startWith({});
|
|
3519
|
+
this.context$.subscribe({ next: _ => _ });
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3461
3522
|
initModel$() {
|
|
3462
3523
|
if (typeof this.model == 'undefined') {
|
|
3463
3524
|
this.model$ = this.sourceNames.reduce((a,s) => {
|
|
@@ -3507,7 +3568,7 @@ class Component {
|
|
|
3507
3568
|
return `State reducer added: <${ action }>`
|
|
3508
3569
|
} else {
|
|
3509
3570
|
const extra = data && (data.type || data.command || data.name || data.key || (Array.isArray(data) && 'Array') || data);
|
|
3510
|
-
return `Data sent to [${ sink }]: <${ action }> ${ extra }`
|
|
3571
|
+
return `Data sent to [${ sink }]: <${ action }> ${ JSON.stringify(extra) }`
|
|
3511
3572
|
}
|
|
3512
3573
|
}));
|
|
3513
3574
|
|
|
@@ -3733,7 +3794,7 @@ class Component {
|
|
|
3733
3794
|
return acc
|
|
3734
3795
|
}, {});
|
|
3735
3796
|
|
|
3736
|
-
const newState = { ...state, ...calculated };
|
|
3797
|
+
const newState = { ...state, ...calculated, __context: this.currentContext };
|
|
3737
3798
|
|
|
3738
3799
|
lastState = state;
|
|
3739
3800
|
lastResult = newState;
|
|
@@ -3745,7 +3806,7 @@ class Component {
|
|
|
3745
3806
|
cleanupCalculated(incomingState) {
|
|
3746
3807
|
if (!incomingState || typeof incomingState !== 'object' || incomingState instanceof Array) return incomingState
|
|
3747
3808
|
const state = this.storeCalculatedInState ? this.addCalculated(incomingState) : incomingState;
|
|
3748
|
-
const { __props, __children, ...sanitized } = state;
|
|
3809
|
+
const { __props, __children, __context, ...sanitized } = state;
|
|
3749
3810
|
const copy = { ...sanitized };
|
|
3750
3811
|
if (!this.calculated) return copy
|
|
3751
3812
|
const keys = Object.keys(this.calculated);
|
|
@@ -3767,10 +3828,10 @@ class Component {
|
|
|
3767
3828
|
const stateStream = (enhancedState && enhancedState.stream) || xs$1.never();
|
|
3768
3829
|
|
|
3769
3830
|
const objRepeatChecker = (a, b) => {
|
|
3770
|
-
const { state, sygnalFactory, __props, __children, ...sanitized } = a;
|
|
3831
|
+
const { state, sygnalFactory, __props, __children, __context, ...sanitized } = a;
|
|
3771
3832
|
const keys = Object.keys(sanitized);
|
|
3772
3833
|
if (keys.length === 0) {
|
|
3773
|
-
const { state, sygnalFactory, __props, __children, ...sanitizedB } = b;
|
|
3834
|
+
const { state, sygnalFactory, __props, __children, __context, ...sanitizedB } = b;
|
|
3774
3835
|
return Object.keys(sanitizedB).length === 0
|
|
3775
3836
|
}
|
|
3776
3837
|
return keys.every(key => a[key] === b[key])
|
|
@@ -3795,6 +3856,10 @@ class Component {
|
|
|
3795
3856
|
renderParams.__children = this.sources.children$.compose(_default$5(arrRepeatChecker));
|
|
3796
3857
|
}
|
|
3797
3858
|
|
|
3859
|
+
if (this.context$) {
|
|
3860
|
+
renderParams.__context = this.context$.compose(_default$5(objRepeatChecker));
|
|
3861
|
+
}
|
|
3862
|
+
|
|
3798
3863
|
const names = [];
|
|
3799
3864
|
const streams = [];
|
|
3800
3865
|
|
|
@@ -3806,11 +3871,12 @@ class Component {
|
|
|
3806
3871
|
const combined = xs$1.combine(...streams)
|
|
3807
3872
|
// map the streams from an array back to an object with the render parameter names as the keys
|
|
3808
3873
|
.map(arr => {
|
|
3809
|
-
|
|
3874
|
+
const params = names.reduce((acc, name, index) => {
|
|
3810
3875
|
acc[name] = arr[index];
|
|
3811
3876
|
if (name === 'state') acc[this.stateSourceName] = arr[index];
|
|
3812
3877
|
return acc
|
|
3813
|
-
}, {})
|
|
3878
|
+
}, {});
|
|
3879
|
+
return params
|
|
3814
3880
|
});
|
|
3815
3881
|
|
|
3816
3882
|
return combined
|
|
@@ -3913,7 +3979,7 @@ class Component {
|
|
|
3913
3979
|
|
|
3914
3980
|
const combined$ = xs$1.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState), props$, children$)
|
|
3915
3981
|
.map(([state, __props, __children]) => {
|
|
3916
|
-
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children } : { value: state, __props, __children }
|
|
3982
|
+
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children, __context: this.currentContext } : { value: state, __props, __children, __context: this.currentContext }
|
|
3917
3983
|
});
|
|
3918
3984
|
|
|
3919
3985
|
const stateSource = new state.StateSource(combined$);
|
|
@@ -3924,7 +3990,7 @@ class Component {
|
|
|
3924
3990
|
|
|
3925
3991
|
const sanitizeItems = item => {
|
|
3926
3992
|
if (typeof item === 'object') {
|
|
3927
|
-
const { __props, __children, ...sanitized } = item;
|
|
3993
|
+
const { __props, __children, __context, ...sanitized } = item;
|
|
3928
3994
|
return sanitized
|
|
3929
3995
|
} else {
|
|
3930
3996
|
return item
|
|
@@ -3936,7 +4002,7 @@ class Component {
|
|
|
3936
4002
|
const { __props, __children } = state;
|
|
3937
4003
|
if (!Array.isArray(state[stateField])) return []
|
|
3938
4004
|
return state[stateField].map(item => {
|
|
3939
|
-
return typeof item === 'object' ? { ...item, __props, __children } : { value: item, __props, __children }
|
|
4005
|
+
return typeof item === 'object' ? { ...item, __props, __children, __context: this.currentContext } : { value: item, __props, __children, __context: this.currentContext }
|
|
3940
4006
|
})
|
|
3941
4007
|
},
|
|
3942
4008
|
set: (oldState, newState) => {
|
|
@@ -3960,7 +4026,7 @@ class Component {
|
|
|
3960
4026
|
};
|
|
3961
4027
|
} else if (typeof stateField === 'string') {
|
|
3962
4028
|
if (typeof this.currentState === 'object') {
|
|
3963
|
-
if(!(stateField in this.currentState) && !(stateField in this.calculated)) {
|
|
4029
|
+
if(!(this.currentState && stateField in this.currentState) && !(this.calculated && stateField in this.calculated)) {
|
|
3964
4030
|
console.error(`Collection component in ${ this.name } is attempting to use non-existent state property '${ stateField }': To fix this error, specify a valid array property on the state. Attempting to use parent component state.`);
|
|
3965
4031
|
lense = undefined;
|
|
3966
4032
|
} else if (!Array.isArray(this.currentState[stateField])) {
|
|
@@ -3999,7 +4065,7 @@ class Component {
|
|
|
3999
4065
|
lense = undefined;
|
|
4000
4066
|
}
|
|
4001
4067
|
|
|
4002
|
-
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$ };
|
|
4068
|
+
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$, __parentContext$: this.context$ };
|
|
4003
4069
|
const sink$ = collection(factory, lense, { container: null })(sources);
|
|
4004
4070
|
if (typeof sink$ !== 'object') {
|
|
4005
4071
|
throw new Error('Invalid sinks returned from component factory of collection element')
|
|
@@ -4014,7 +4080,7 @@ class Component {
|
|
|
4014
4080
|
|
|
4015
4081
|
const combined$ = xs$1.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState), props$, children$)
|
|
4016
4082
|
.map(([state, __props, __children]) => {
|
|
4017
|
-
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children } : { value: state, __props, __children }
|
|
4083
|
+
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children, __context: this.currentContext } : { value: state, __props, __children, __context: this.currentContext }
|
|
4018
4084
|
});
|
|
4019
4085
|
|
|
4020
4086
|
const stateSource = new state.StateSource(combined$);
|
|
@@ -4024,7 +4090,7 @@ class Component {
|
|
|
4024
4090
|
const fieldLense = {
|
|
4025
4091
|
get: state => {
|
|
4026
4092
|
const { __props, __children } = state;
|
|
4027
|
-
return (typeof state[stateField] === 'object' && !(state[stateField] instanceof Array)) ? { ...state[stateField], __props, __children } : { value: state[stateField], __props, __children }
|
|
4093
|
+
return (typeof state[stateField] === 'object' && !(state[stateField] instanceof Array)) ? { ...state[stateField], __props, __children, __context: this.currentContext } : { value: state[stateField], __props, __children, __context: this.currentContext }
|
|
4028
4094
|
},
|
|
4029
4095
|
set: (oldState, newState) => {
|
|
4030
4096
|
if (this.calculated && stateField in this.calculated) {
|
|
@@ -4032,7 +4098,7 @@ class Component {
|
|
|
4032
4098
|
return oldState
|
|
4033
4099
|
}
|
|
4034
4100
|
if (typeof newState !== 'object' || newState instanceof Array) return { ...oldState, [stateField]: newState }
|
|
4035
|
-
const { __props, __children, ...sanitized } = newState;
|
|
4101
|
+
const { __props, __children, __context, ...sanitized } = newState;
|
|
4036
4102
|
return { ...oldState, [stateField]: sanitized }
|
|
4037
4103
|
}
|
|
4038
4104
|
};
|
|
@@ -4041,7 +4107,7 @@ class Component {
|
|
|
4041
4107
|
get: state => state,
|
|
4042
4108
|
set: (oldState, newState) => {
|
|
4043
4109
|
if (typeof newState !== 'object' || newState instanceof Array) return newState
|
|
4044
|
-
const { __props, __children, ...sanitized } = newState;
|
|
4110
|
+
const { __props, __children, __context, ...sanitized } = newState;
|
|
4045
4111
|
return sanitized
|
|
4046
4112
|
}
|
|
4047
4113
|
};
|
|
@@ -4063,7 +4129,7 @@ class Component {
|
|
|
4063
4129
|
}
|
|
4064
4130
|
|
|
4065
4131
|
const switchableComponents = props.of;
|
|
4066
|
-
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$ };
|
|
4132
|
+
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$, __parentContext$: this.context$ };
|
|
4067
4133
|
|
|
4068
4134
|
const sink$ = isolate(switchable(switchableComponents, props$.map(props => props.current)), { [this.stateSourceName]: lense })(sources);
|
|
4069
4135
|
|
|
@@ -4082,7 +4148,7 @@ class Component {
|
|
|
4082
4148
|
|
|
4083
4149
|
const combined$ = xs$1.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState), props$, children$)
|
|
4084
4150
|
.map(([state, __props, __children]) => {
|
|
4085
|
-
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children } : { value: state, __props, __children }
|
|
4151
|
+
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children, __context: this.currentContext } : { value: state, __props, __children, __context: this.currentContext }
|
|
4086
4152
|
});
|
|
4087
4153
|
|
|
4088
4154
|
const stateSource = new state.StateSource(combined$);
|
|
@@ -4099,7 +4165,7 @@ class Component {
|
|
|
4099
4165
|
const fieldLense = {
|
|
4100
4166
|
get: state => {
|
|
4101
4167
|
const { __props, __children } = state;
|
|
4102
|
-
return typeof state[stateField] === 'object' ? { ...state[stateField], __props, __children } : { value: state[stateField], __props, __children }
|
|
4168
|
+
return typeof state[stateField] === 'object' ? { ...state[stateField], __props, __children, __context: this.currentContext } : { value: state[stateField], __props, __children, __context: this.currentContext }
|
|
4103
4169
|
},
|
|
4104
4170
|
set: (oldState, newState) => {
|
|
4105
4171
|
if (this.calculated && stateField in this.calculated) {
|
|
@@ -4114,7 +4180,7 @@ class Component {
|
|
|
4114
4180
|
get: state => state,
|
|
4115
4181
|
set: (oldState, newState) => {
|
|
4116
4182
|
if (typeof newState !== 'object' || newState instanceof Array) return newState
|
|
4117
|
-
const { __props, __children, ...sanitized } = newState;
|
|
4183
|
+
const { __props, __children, __context, ...sanitized } = newState;
|
|
4118
4184
|
return sanitized
|
|
4119
4185
|
}
|
|
4120
4186
|
};
|
|
@@ -4135,7 +4201,7 @@ class Component {
|
|
|
4135
4201
|
lense = baseLense;
|
|
4136
4202
|
}
|
|
4137
4203
|
|
|
4138
|
-
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$ };
|
|
4204
|
+
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$, __parentContext$: this.context$ };
|
|
4139
4205
|
const sink$ = isolate(factory, { [this.stateSourceName]: lense })(sources);
|
|
4140
4206
|
|
|
4141
4207
|
if (typeof sink$ !== 'object') {
|
package/dist/index.esm.js
CHANGED
|
@@ -3203,6 +3203,7 @@ class Component {
|
|
|
3203
3203
|
// intent
|
|
3204
3204
|
// request
|
|
3205
3205
|
// model
|
|
3206
|
+
// context
|
|
3206
3207
|
// response
|
|
3207
3208
|
// view
|
|
3208
3209
|
// children
|
|
@@ -3220,10 +3221,13 @@ class Component {
|
|
|
3220
3221
|
// intent$
|
|
3221
3222
|
// action$
|
|
3222
3223
|
// model$
|
|
3224
|
+
// context$
|
|
3223
3225
|
// response$
|
|
3224
3226
|
// sendResponse$
|
|
3225
3227
|
// children$
|
|
3226
3228
|
// vdom$
|
|
3229
|
+
// currentState
|
|
3230
|
+
// currentContext
|
|
3227
3231
|
// subComponentSink$
|
|
3228
3232
|
// unmountRequest$
|
|
3229
3233
|
// unmount()
|
|
@@ -3235,7 +3239,7 @@ class Component {
|
|
|
3235
3239
|
// [ OUTPUT ]
|
|
3236
3240
|
// sinks
|
|
3237
3241
|
|
|
3238
|
-
constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP', debug=false }) {
|
|
3242
|
+
constructor({ name='NO NAME', sources, intent, request, model, context, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP', debug=false }) {
|
|
3239
3243
|
if (!sources || typeof sources != 'object') throw new Error('Missing or invalid sources')
|
|
3240
3244
|
|
|
3241
3245
|
this.name = name;
|
|
@@ -3243,6 +3247,7 @@ class Component {
|
|
|
3243
3247
|
this.intent = intent;
|
|
3244
3248
|
this.request = request;
|
|
3245
3249
|
this.model = model;
|
|
3250
|
+
this.context = context;
|
|
3246
3251
|
this.response = response;
|
|
3247
3252
|
this.view = view;
|
|
3248
3253
|
this.children = children;
|
|
@@ -3262,7 +3267,7 @@ class Component {
|
|
|
3262
3267
|
|
|
3263
3268
|
if (state$) {
|
|
3264
3269
|
this.currentState = initialState || {};
|
|
3265
|
-
this.sources[
|
|
3270
|
+
this.sources[stateSourceName] = new StateSource(state$.map(val => {
|
|
3266
3271
|
this.currentState = val;
|
|
3267
3272
|
return val
|
|
3268
3273
|
}));
|
|
@@ -3285,6 +3290,7 @@ class Component {
|
|
|
3285
3290
|
this.initAction$();
|
|
3286
3291
|
this.initResponse$();
|
|
3287
3292
|
this.initState();
|
|
3293
|
+
this.initContext();
|
|
3288
3294
|
this.initModel$();
|
|
3289
3295
|
this.initSendResponse$();
|
|
3290
3296
|
this.initChildren$();
|
|
@@ -3458,6 +3464,61 @@ class Component {
|
|
|
3458
3464
|
}
|
|
3459
3465
|
}
|
|
3460
3466
|
|
|
3467
|
+
initContext() {
|
|
3468
|
+
if (!this.context && !this.sources.__parentContext$) {
|
|
3469
|
+
this.context$ = xs$1.of({});
|
|
3470
|
+
return
|
|
3471
|
+
}
|
|
3472
|
+
const repeatChecker = (a, b) => {
|
|
3473
|
+
if (a === b) return true
|
|
3474
|
+
if (typeof a !== 'object' || typeof b !== 'object') {
|
|
3475
|
+
return a === b
|
|
3476
|
+
}
|
|
3477
|
+
const entriesA = Object.entries(a);
|
|
3478
|
+
const entriesB = Object.entries(b);
|
|
3479
|
+
if (entriesA.length === 0 && entriesB.length === 0) return true
|
|
3480
|
+
if (entriesA.length !== entriesB.length) return false
|
|
3481
|
+
return entriesA.every(([name, value]) => {
|
|
3482
|
+
return b[name] === value
|
|
3483
|
+
})
|
|
3484
|
+
};
|
|
3485
|
+
|
|
3486
|
+
const state$ = this.sources[this.stateSourceName]?.stream.startWith({}).compose(_default$5(repeatChecker)) || xs$1.never();
|
|
3487
|
+
const parentContext$ = this.sources.__parentContext$.startWith({}).compose(_default$5(repeatChecker)) || xs$1.of({});
|
|
3488
|
+
if (this.context && typeof this.context !== 'object') {
|
|
3489
|
+
console.error(`[${this.name}] Context must be an object mapping names to values of functions: ignoring provided ${ typeof this.context }`);
|
|
3490
|
+
}
|
|
3491
|
+
this.context$ = xs$1.combine(state$, parentContext$)
|
|
3492
|
+
.map(([_, parent]) => {
|
|
3493
|
+
const _parent = typeof parent === 'object' ? parent : {};
|
|
3494
|
+
const context = typeof this.context === 'object' ? this.context : {};
|
|
3495
|
+
const state = this.currentState;
|
|
3496
|
+
const values = Object.entries(context).reduce((acc, current) => {
|
|
3497
|
+
const [name, value] = current;
|
|
3498
|
+
let _value;
|
|
3499
|
+
const valueType = typeof value;
|
|
3500
|
+
if (valueType === 'string') {
|
|
3501
|
+
_value = state[value];
|
|
3502
|
+
} else if (valueType === 'boolean') {
|
|
3503
|
+
_value = state[name];
|
|
3504
|
+
} else if (valueType === 'function') {
|
|
3505
|
+
_value = value(state);
|
|
3506
|
+
} else {
|
|
3507
|
+
console.error(`[${ this.name }] Invalid context entry '${ name }': must be the name of a state property or a function returning a value to use`);
|
|
3508
|
+
return acc
|
|
3509
|
+
}
|
|
3510
|
+
acc[name] = _value;
|
|
3511
|
+
return acc
|
|
3512
|
+
}, {});
|
|
3513
|
+
const newContext = { ..._parent, ...values };
|
|
3514
|
+
this.currentContext = newContext;
|
|
3515
|
+
return newContext
|
|
3516
|
+
})
|
|
3517
|
+
.compose(_default$5(repeatChecker))
|
|
3518
|
+
.startWith({});
|
|
3519
|
+
this.context$.subscribe({ next: _ => _ });
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3461
3522
|
initModel$() {
|
|
3462
3523
|
if (typeof this.model == 'undefined') {
|
|
3463
3524
|
this.model$ = this.sourceNames.reduce((a,s) => {
|
|
@@ -3507,7 +3568,7 @@ class Component {
|
|
|
3507
3568
|
return `State reducer added: <${ action }>`
|
|
3508
3569
|
} else {
|
|
3509
3570
|
const extra = data && (data.type || data.command || data.name || data.key || (Array.isArray(data) && 'Array') || data);
|
|
3510
|
-
return `Data sent to [${ sink }]: <${ action }> ${ extra }`
|
|
3571
|
+
return `Data sent to [${ sink }]: <${ action }> ${ JSON.stringify(extra) }`
|
|
3511
3572
|
}
|
|
3512
3573
|
}));
|
|
3513
3574
|
|
|
@@ -3733,7 +3794,7 @@ class Component {
|
|
|
3733
3794
|
return acc
|
|
3734
3795
|
}, {});
|
|
3735
3796
|
|
|
3736
|
-
const newState = { ...state, ...calculated };
|
|
3797
|
+
const newState = { ...state, ...calculated, __context: this.currentContext };
|
|
3737
3798
|
|
|
3738
3799
|
lastState = state;
|
|
3739
3800
|
lastResult = newState;
|
|
@@ -3745,7 +3806,7 @@ class Component {
|
|
|
3745
3806
|
cleanupCalculated(incomingState) {
|
|
3746
3807
|
if (!incomingState || typeof incomingState !== 'object' || incomingState instanceof Array) return incomingState
|
|
3747
3808
|
const state = this.storeCalculatedInState ? this.addCalculated(incomingState) : incomingState;
|
|
3748
|
-
const { __props, __children, ...sanitized } = state;
|
|
3809
|
+
const { __props, __children, __context, ...sanitized } = state;
|
|
3749
3810
|
const copy = { ...sanitized };
|
|
3750
3811
|
if (!this.calculated) return copy
|
|
3751
3812
|
const keys = Object.keys(this.calculated);
|
|
@@ -3767,10 +3828,10 @@ class Component {
|
|
|
3767
3828
|
const stateStream = (enhancedState && enhancedState.stream) || xs$1.never();
|
|
3768
3829
|
|
|
3769
3830
|
const objRepeatChecker = (a, b) => {
|
|
3770
|
-
const { state, sygnalFactory, __props, __children, ...sanitized } = a;
|
|
3831
|
+
const { state, sygnalFactory, __props, __children, __context, ...sanitized } = a;
|
|
3771
3832
|
const keys = Object.keys(sanitized);
|
|
3772
3833
|
if (keys.length === 0) {
|
|
3773
|
-
const { state, sygnalFactory, __props, __children, ...sanitizedB } = b;
|
|
3834
|
+
const { state, sygnalFactory, __props, __children, __context, ...sanitizedB } = b;
|
|
3774
3835
|
return Object.keys(sanitizedB).length === 0
|
|
3775
3836
|
}
|
|
3776
3837
|
return keys.every(key => a[key] === b[key])
|
|
@@ -3795,6 +3856,10 @@ class Component {
|
|
|
3795
3856
|
renderParams.__children = this.sources.children$.compose(_default$5(arrRepeatChecker));
|
|
3796
3857
|
}
|
|
3797
3858
|
|
|
3859
|
+
if (this.context$) {
|
|
3860
|
+
renderParams.__context = this.context$.compose(_default$5(objRepeatChecker));
|
|
3861
|
+
}
|
|
3862
|
+
|
|
3798
3863
|
const names = [];
|
|
3799
3864
|
const streams = [];
|
|
3800
3865
|
|
|
@@ -3806,11 +3871,12 @@ class Component {
|
|
|
3806
3871
|
const combined = xs$1.combine(...streams)
|
|
3807
3872
|
// map the streams from an array back to an object with the render parameter names as the keys
|
|
3808
3873
|
.map(arr => {
|
|
3809
|
-
|
|
3874
|
+
const params = names.reduce((acc, name, index) => {
|
|
3810
3875
|
acc[name] = arr[index];
|
|
3811
3876
|
if (name === 'state') acc[this.stateSourceName] = arr[index];
|
|
3812
3877
|
return acc
|
|
3813
|
-
}, {})
|
|
3878
|
+
}, {});
|
|
3879
|
+
return params
|
|
3814
3880
|
});
|
|
3815
3881
|
|
|
3816
3882
|
return combined
|
|
@@ -3913,7 +3979,7 @@ class Component {
|
|
|
3913
3979
|
|
|
3914
3980
|
const combined$ = xs$1.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState), props$, children$)
|
|
3915
3981
|
.map(([state, __props, __children]) => {
|
|
3916
|
-
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children } : { value: state, __props, __children }
|
|
3982
|
+
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children, __context: this.currentContext } : { value: state, __props, __children, __context: this.currentContext }
|
|
3917
3983
|
});
|
|
3918
3984
|
|
|
3919
3985
|
const stateSource = new StateSource(combined$);
|
|
@@ -3924,7 +3990,7 @@ class Component {
|
|
|
3924
3990
|
|
|
3925
3991
|
const sanitizeItems = item => {
|
|
3926
3992
|
if (typeof item === 'object') {
|
|
3927
|
-
const { __props, __children, ...sanitized } = item;
|
|
3993
|
+
const { __props, __children, __context, ...sanitized } = item;
|
|
3928
3994
|
return sanitized
|
|
3929
3995
|
} else {
|
|
3930
3996
|
return item
|
|
@@ -3936,7 +4002,7 @@ class Component {
|
|
|
3936
4002
|
const { __props, __children } = state;
|
|
3937
4003
|
if (!Array.isArray(state[stateField])) return []
|
|
3938
4004
|
return state[stateField].map(item => {
|
|
3939
|
-
return typeof item === 'object' ? { ...item, __props, __children } : { value: item, __props, __children }
|
|
4005
|
+
return typeof item === 'object' ? { ...item, __props, __children, __context: this.currentContext } : { value: item, __props, __children, __context: this.currentContext }
|
|
3940
4006
|
})
|
|
3941
4007
|
},
|
|
3942
4008
|
set: (oldState, newState) => {
|
|
@@ -3960,7 +4026,7 @@ class Component {
|
|
|
3960
4026
|
};
|
|
3961
4027
|
} else if (typeof stateField === 'string') {
|
|
3962
4028
|
if (typeof this.currentState === 'object') {
|
|
3963
|
-
if(!(stateField in this.currentState) && !(stateField in this.calculated)) {
|
|
4029
|
+
if(!(this.currentState && stateField in this.currentState) && !(this.calculated && stateField in this.calculated)) {
|
|
3964
4030
|
console.error(`Collection component in ${ this.name } is attempting to use non-existent state property '${ stateField }': To fix this error, specify a valid array property on the state. Attempting to use parent component state.`);
|
|
3965
4031
|
lense = undefined;
|
|
3966
4032
|
} else if (!Array.isArray(this.currentState[stateField])) {
|
|
@@ -3999,7 +4065,7 @@ class Component {
|
|
|
3999
4065
|
lense = undefined;
|
|
4000
4066
|
}
|
|
4001
4067
|
|
|
4002
|
-
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$ };
|
|
4068
|
+
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$, __parentContext$: this.context$ };
|
|
4003
4069
|
const sink$ = collection(factory, lense, { container: null })(sources);
|
|
4004
4070
|
if (typeof sink$ !== 'object') {
|
|
4005
4071
|
throw new Error('Invalid sinks returned from component factory of collection element')
|
|
@@ -4014,7 +4080,7 @@ class Component {
|
|
|
4014
4080
|
|
|
4015
4081
|
const combined$ = xs$1.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState), props$, children$)
|
|
4016
4082
|
.map(([state, __props, __children]) => {
|
|
4017
|
-
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children } : { value: state, __props, __children }
|
|
4083
|
+
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children, __context: this.currentContext } : { value: state, __props, __children, __context: this.currentContext }
|
|
4018
4084
|
});
|
|
4019
4085
|
|
|
4020
4086
|
const stateSource = new StateSource(combined$);
|
|
@@ -4024,7 +4090,7 @@ class Component {
|
|
|
4024
4090
|
const fieldLense = {
|
|
4025
4091
|
get: state => {
|
|
4026
4092
|
const { __props, __children } = state;
|
|
4027
|
-
return (typeof state[stateField] === 'object' && !(state[stateField] instanceof Array)) ? { ...state[stateField], __props, __children } : { value: state[stateField], __props, __children }
|
|
4093
|
+
return (typeof state[stateField] === 'object' && !(state[stateField] instanceof Array)) ? { ...state[stateField], __props, __children, __context: this.currentContext } : { value: state[stateField], __props, __children, __context: this.currentContext }
|
|
4028
4094
|
},
|
|
4029
4095
|
set: (oldState, newState) => {
|
|
4030
4096
|
if (this.calculated && stateField in this.calculated) {
|
|
@@ -4032,7 +4098,7 @@ class Component {
|
|
|
4032
4098
|
return oldState
|
|
4033
4099
|
}
|
|
4034
4100
|
if (typeof newState !== 'object' || newState instanceof Array) return { ...oldState, [stateField]: newState }
|
|
4035
|
-
const { __props, __children, ...sanitized } = newState;
|
|
4101
|
+
const { __props, __children, __context, ...sanitized } = newState;
|
|
4036
4102
|
return { ...oldState, [stateField]: sanitized }
|
|
4037
4103
|
}
|
|
4038
4104
|
};
|
|
@@ -4041,7 +4107,7 @@ class Component {
|
|
|
4041
4107
|
get: state => state,
|
|
4042
4108
|
set: (oldState, newState) => {
|
|
4043
4109
|
if (typeof newState !== 'object' || newState instanceof Array) return newState
|
|
4044
|
-
const { __props, __children, ...sanitized } = newState;
|
|
4110
|
+
const { __props, __children, __context, ...sanitized } = newState;
|
|
4045
4111
|
return sanitized
|
|
4046
4112
|
}
|
|
4047
4113
|
};
|
|
@@ -4063,7 +4129,7 @@ class Component {
|
|
|
4063
4129
|
}
|
|
4064
4130
|
|
|
4065
4131
|
const switchableComponents = props.of;
|
|
4066
|
-
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$ };
|
|
4132
|
+
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$, __parentContext$: this.context$ };
|
|
4067
4133
|
|
|
4068
4134
|
const sink$ = isolate(switchable(switchableComponents, props$.map(props => props.current)), { [this.stateSourceName]: lense })(sources);
|
|
4069
4135
|
|
|
@@ -4082,7 +4148,7 @@ class Component {
|
|
|
4082
4148
|
|
|
4083
4149
|
const combined$ = xs$1.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState), props$, children$)
|
|
4084
4150
|
.map(([state, __props, __children]) => {
|
|
4085
|
-
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children } : { value: state, __props, __children }
|
|
4151
|
+
return typeof state === 'object' ? { ...this.addCalculated(state), __props, __children, __context: this.currentContext } : { value: state, __props, __children, __context: this.currentContext }
|
|
4086
4152
|
});
|
|
4087
4153
|
|
|
4088
4154
|
const stateSource = new StateSource(combined$);
|
|
@@ -4099,7 +4165,7 @@ class Component {
|
|
|
4099
4165
|
const fieldLense = {
|
|
4100
4166
|
get: state => {
|
|
4101
4167
|
const { __props, __children } = state;
|
|
4102
|
-
return typeof state[stateField] === 'object' ? { ...state[stateField], __props, __children } : { value: state[stateField], __props, __children }
|
|
4168
|
+
return typeof state[stateField] === 'object' ? { ...state[stateField], __props, __children, __context: this.currentContext } : { value: state[stateField], __props, __children, __context: this.currentContext }
|
|
4103
4169
|
},
|
|
4104
4170
|
set: (oldState, newState) => {
|
|
4105
4171
|
if (this.calculated && stateField in this.calculated) {
|
|
@@ -4114,7 +4180,7 @@ class Component {
|
|
|
4114
4180
|
get: state => state,
|
|
4115
4181
|
set: (oldState, newState) => {
|
|
4116
4182
|
if (typeof newState !== 'object' || newState instanceof Array) return newState
|
|
4117
|
-
const { __props, __children, ...sanitized } = newState;
|
|
4183
|
+
const { __props, __children, __context, ...sanitized } = newState;
|
|
4118
4184
|
return sanitized
|
|
4119
4185
|
}
|
|
4120
4186
|
};
|
|
@@ -4135,7 +4201,7 @@ class Component {
|
|
|
4135
4201
|
lense = baseLense;
|
|
4136
4202
|
}
|
|
4137
4203
|
|
|
4138
|
-
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$ };
|
|
4204
|
+
const sources = { ...this.sources, [this.stateSourceName]: stateSource, props$, children$, __parentContext$: this.context$ };
|
|
4139
4205
|
const sink$ = isolate(factory, { [this.stateSourceName]: lense })(sources);
|
|
4140
4206
|
|
|
4141
4207
|
if (typeof sink$ !== 'object') {
|
package/dist/sygnal.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Sygnal={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={},r={};!function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t){var e,n=t.Symbol;if("function"==typeof n)if(n.observable)e=n.observable;else{e=n.for("https://github.com/benlesh/symbol-observable");try{n.observable=e}catch(t){}}else e="@@observable";return e}}(r);var o,i,s=r,a=Object.prototype.toString,c=function(t){var e=a.call(t),n="[object Arguments]"===e;return n||(n="[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===a.call(t.callee)),n};var u=Array.prototype.slice,l=c,p=Object.keys,f=p?function(t){return p(t)}:function(){if(i)return o;var t;if(i=1,!Object.keys){var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=c,s=Object.prototype.propertyIsEnumerable,a=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(t){var e=t.constructor;return e&&e.prototype===t},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!f["$"+t]&&e.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{p(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();t=function(t){var o=null!==t&&"object"==typeof t,i="[object Function]"===n.call(t),s=r(t),c=o&&"[object String]"===n.call(t),f=[];if(!o&&!i&&!s)throw new TypeError("Object.keys called on a non-object");var d=u&&i;if(c&&t.length>0&&!e.call(t,0))for(var y=0;y<t.length;++y)f.push(String(y));if(s&&t.length>0)for(var m=0;m<t.length;++m)f.push(String(m));else for(var v in t)d&&"prototype"===v||!e.call(t,v)||f.push(String(v));if(a)for(var g=function(t){if("undefined"==typeof window||!h)return p(t);try{return p(t)}catch(t){return!1}}(t),_=0;_<l.length;++_)g&&"constructor"===l[_]||!e.call(t,l[_])||f.push(l[_]);return f}}return o=t}(),h=Object.keys;f.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return l(t)?h(u.call(t)):h(t)})}else Object.keys=f;return Object.keys||f};var d,y=f,m="undefined"!=typeof Symbol&&Symbol,v=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var r=Object.getOwnPropertySymbols(t);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0},g={foo:{}},_=Object,b=Array.prototype.slice,w=Object.prototype.toString,S=function(t){var e=this;if("function"!=typeof e||"[object Function]"!==w.call(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var n,r=b.call(arguments,1),o=Math.max(0,e.length-r.length),i=[],s=0;s<o;s++)i.push("$"+s);if(n=Function("binder","return function ("+i.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof n){var o=e.apply(this,r.concat(b.call(arguments)));return Object(o)===o?o:this}return e.apply(t,r.concat(b.call(arguments)))})),e.prototype){var a=function(){};a.prototype=e.prototype,n.prototype=new a,a.prototype=null}return n},A=Function.prototype.bind||S,O=A.call(Function.call,Object.prototype.hasOwnProperty),E=SyntaxError,$=Function,j=TypeError,C=function(t){try{return $('"use strict"; return ('+t+").constructor;")()}catch(t){}},N=Object.getOwnPropertyDescriptor;if(N)try{N({},"")}catch(t){N=null}var k=function(){throw new j},x=N?function(){try{return k}catch(t){try{return N(arguments,"callee").get}catch(t){return k}}}():k,I="function"==typeof m&&"function"==typeof Symbol&&"symbol"==typeof m("foo")&&"symbol"==typeof Symbol("bar")&&v(),P={__proto__:g}.foo===g.foo&&!({__proto__:null}instanceof _),M=Object.getPrototypeOf||(P?function(t){return t.__proto__}:null),T={},D="undefined"!=typeof Uint8Array&&M?M(Uint8Array):d,L={"%AggregateError%":"undefined"==typeof AggregateError?d:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?d:ArrayBuffer,"%ArrayIteratorPrototype%":I&&M?M([][Symbol.iterator]()):d,"%AsyncFromSyncIteratorPrototype%":d,"%AsyncFunction%":T,"%AsyncGenerator%":T,"%AsyncGeneratorFunction%":T,"%AsyncIteratorPrototype%":T,"%Atomics%":"undefined"==typeof Atomics?d:Atomics,"%BigInt%":"undefined"==typeof BigInt?d:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?d:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?d:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?d:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?d:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?d:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?d:FinalizationRegistry,"%Function%":$,"%GeneratorFunction%":T,"%Int8Array%":"undefined"==typeof Int8Array?d:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?d:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?d:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":I&&M?M(M([][Symbol.iterator]())):d,"%JSON%":"object"==typeof JSON?JSON:d,"%Map%":"undefined"==typeof Map?d:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&I&&M?M((new Map)[Symbol.iterator]()):d,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?d:Promise,"%Proxy%":"undefined"==typeof Proxy?d:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?d:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?d:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&I&&M?M((new Set)[Symbol.iterator]()):d,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?d:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":I&&M?M(""[Symbol.iterator]()):d,"%Symbol%":I?Symbol:d,"%SyntaxError%":E,"%ThrowTypeError%":x,"%TypedArray%":D,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?d:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?d:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?d:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?d:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?d:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?d:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?d:WeakSet};if(M)try{null.error}catch(t){var F=M(M(t));L["%Error.prototype%"]=F}var B=function t(e){var n;if("%AsyncFunction%"===e)n=C("async function () {}");else if("%GeneratorFunction%"===e)n=C("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=C("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&M&&(n=M(o.prototype))}return L[e]=n,n},R={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},q=A,U=O,W=q.call(Function.call,Array.prototype.concat),G=q.call(Function.apply,Array.prototype.splice),V=q.call(Function.call,String.prototype.replace),z=q.call(Function.call,String.prototype.slice),H=q.call(Function.call,RegExp.prototype.exec),J=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,X=/\\(\\)?/g,Y=function(t,e){var n,r=t;if(U(R,r)&&(r="%"+(n=R[r])[0]+"%"),U(L,r)){var o=L[r];if(o===T&&(o=B(r)),void 0===o&&!e)throw new j("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:o}}throw new E("intrinsic "+t+" does not exist!")},Z=function(t,e){if("string"!=typeof t||0===t.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new j('"allowMissing" argument must be a boolean');if(null===H(/^%?[^%]*%?$/,t))throw new E("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(t){var e=z(t,0,1),n=z(t,-1);if("%"===e&&"%"!==n)throw new E("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new E("invalid intrinsic syntax, expected opening `%`");var r=[];return V(t,J,(function(t,e,n,o){r[r.length]=n?V(o,X,"$1"):e||t})),r}(t),r=n.length>0?n[0]:"",o=Y("%"+r+"%",e),i=o.name,s=o.value,a=!1,c=o.alias;c&&(r=c[0],G(n,W([0,1],c)));for(var u=1,l=!0;u<n.length;u+=1){var p=n[u],f=z(p,0,1),h=z(p,-1);if(('"'===f||"'"===f||"`"===f||'"'===h||"'"===h||"`"===h)&&f!==h)throw new E("property names with quotes must have matching quotes");if("constructor"!==p&&l||(a=!0),U(L,i="%"+(r+="."+p)+"%"))s=L[i];else if(null!=s){if(!(p in s)){if(!e)throw new j("base intrinsic for "+t+" exists, but the property is not available.");return}if(N&&u+1>=n.length){var d=N(s,p);s=(l=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:s[p]}else l=U(s,p),s=s[p];l&&!a&&(L[i]=s)}}return s},K=Z("%Object.defineProperty%",!0),Q=function(){if(K)try{return K({},"a",{value:1}),!0}catch(t){return!1}return!1};Q.hasArrayLengthDefineBug=function(){if(!Q())return null;try{return 1!==K([],"length",{value:1}).length}catch(t){return!0}};var tt=Q,et=y,nt="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),rt=Object.prototype.toString,ot=Array.prototype.concat,it=Object.defineProperty,st=tt(),at=it&&st,ct=function(t,e,n,r){if(e in t)if(!0===r){if(t[e]===n)return}else if("function"!=typeof(o=r)||"[object Function]"!==rt.call(o)||!r())return;var o;at?it(t,e,{configurable:!0,enumerable:!1,value:n,writable:!0}):t[e]=n},ut=function(t,e){var n=arguments.length>2?arguments[2]:{},r=et(e);nt&&(r=ot.call(r,Object.getOwnPropertySymbols(e)));for(var o=0;o<r.length;o+=1)ct(t,r[o],e[r[o]],n[r[o]])};ut.supportsDescriptors=!!at;var lt=e,pt=function(){return"object"==typeof e&&e&&e.Math===Math&&e.Array===Array?e:lt},ft=ut,ht=pt,dt=ut,yt=e,mt=pt,vt=function(){var t=ht();if(ft.supportsDescriptors){var e=Object.getOwnPropertyDescriptor(t,"globalThis");e&&(!e.configurable||!e.enumerable&&e.writable&&globalThis===t)||Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else"object"==typeof globalThis&&globalThis===t||(t.globalThis=t);return t},gt=mt(),_t=function(){return gt};dt(_t,{getPolyfill:mt,implementation:yt,shim:vt});var bt,wt=_t,St=e&&e.__extends||(bt=function(t,e){return bt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},bt(t,e)},function(t,e){function n(){this.constructor=t}bt(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(n,"__esModule",{value:!0}),n.NO_IL=n.NO=n.MemoryStream=ee=n.Stream=void 0;var At=s.default(wt.getPolyfill()),Ot={},Et=n.NO=Ot;function $t(){}function jt(t){for(var e=t.length,n=Array(e),r=0;r<e;++r)n[r]=t[r];return n}function Ct(t,e,n){try{return t.f(e)}catch(t){return n._e(t),Ot}}var Nt={_n:$t,_e:$t,_c:$t};function kt(t){t._start=function(t){t.next=t._n,t.error=t._e,t.complete=t._c,this.start(t)},t._stop=t.stop}n.NO_IL=Nt;var xt=function(){function t(t,e){this._stream=t,this._listener=e}return t.prototype.unsubscribe=function(){this._stream._remove(this._listener)},t}(),It=function(){function t(t){this._listener=t}return t.prototype.next=function(t){this._listener._n(t)},t.prototype.error=function(t){this._listener._e(t)},t.prototype.complete=function(){this._listener._c()},t}(),Pt=function(){function t(t){this.type="fromObservable",this.ins=t,this.active=!1}return t.prototype._start=function(t){this.out=t,this.active=!0,this._sub=this.ins.subscribe(new It(t)),this.active||this._sub.unsubscribe()},t.prototype._stop=function(){this._sub&&this._sub.unsubscribe(),this.active=!1},t}(),Mt=function(){function t(t){this.type="merge",this.insArr=t,this.out=Ot,this.ac=0}return t.prototype._start=function(t){this.out=t;var e=this.insArr,n=e.length;this.ac=n;for(var r=0;r<n;r++)e[r]._add(this)},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=0;n<e;n++)t[n]._remove(this);this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){if(--this.ac<=0){var t=this.out;if(t===Ot)return;t._c()}},t}(),Tt=function(){function t(t,e,n){this.i=t,this.out=e,this.p=n,n.ils.push(this)}return t.prototype._n=function(t){var e=this.p,n=this.out;if(n!==Ot&&e.up(t,this.i)){var r=jt(e.vals);n._n(r)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.p;t.out!==Ot&&0==--t.Nc&&t.out._c()},t}(),Dt=function(){function t(t){this.type="combine",this.insArr=t,this.out=Ot,this.ils=[],this.Nc=this.Nn=0,this.vals=[]}return t.prototype.up=function(t,e){var n=this.vals[e],r=this.Nn?n===Ot?--this.Nn:this.Nn:0;return this.vals[e]=t,0===r},t.prototype._start=function(t){this.out=t;var e=this.insArr,n=this.Nc=this.Nn=e.length,r=this.vals=new Array(n);if(0===n)t._n([]),t._c();else for(var o=0;o<n;o++)r[o]=Ot,e[o]._add(new Tt(o,t,this))},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=this.ils,r=0;r<e;r++)t[r]._remove(n[r]);this.out=Ot,this.ils=[],this.vals=[]},t}(),Lt=function(){function t(t){this.type="fromArray",this.a=t}return t.prototype._start=function(t){for(var e=this.a,n=0,r=e.length;n<r;n++)t._n(e[n]);t._c()},t.prototype._stop=function(){},t}(),Ft=function(){function t(t){this.type="fromPromise",this.on=!1,this.p=t}return t.prototype._start=function(t){var e=this;this.on=!0,this.p.then((function(n){e.on&&(t._n(n),t._c())}),(function(e){t._e(e)})).then($t,(function(t){setTimeout((function(){throw t}))}))},t.prototype._stop=function(){this.on=!1},t}(),Bt=function(){function t(t){this.type="periodic",this.period=t,this.intervalID=-1,this.i=0}return t.prototype._start=function(t){var e=this;this.intervalID=setInterval((function(){t._n(e.i++)}),this.period)},t.prototype._stop=function(){-1!==this.intervalID&&clearInterval(this.intervalID),this.intervalID=-1,this.i=0},t}(),Rt=function(){function t(t,e){this.type="debug",this.ins=t,this.out=Ot,this.s=$t,this.l="","string"==typeof e?this.l=e:"function"==typeof e&&(this.s=e)}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.s,r=this.l;if(n!==$t)try{n(t)}catch(t){e._e(t)}else r?console.log(r+":",t):console.log(t);e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),qt=function(){function t(t,e){this.type="drop",this.ins=e,this.out=Ot,this.max=t,this.dropped=0}return t.prototype._start=function(t){this.out=t,this.dropped=0,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&this.dropped++>=this.max&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Ut=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(){this.op.end()},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.end()},t}(),Wt=function(){function t(t,e){this.type="endWhen",this.ins=e,this.out=Ot,this.o=t,this.oil=Nt}return t.prototype._start=function(t){this.out=t,this.o._add(this.oil=new Ut(t,this)),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.o._remove(this.oil),this.out=Ot,this.oil=Nt},t.prototype.end=function(){var t=this.out;t!==Ot&&t._c()},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.end()},t}(),Gt=function(){function t(t,e){this.type="filter",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&n&&e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Vt=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(t){this.out._n(t)},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.inner=Ot,this.op.less()},t}(),zt=function(){function t(t){this.type="flatten",this.ins=t,this.out=Ot,this.open=!0,this.inner=Ot,this.il=Nt}return t.prototype._start=function(t){this.out=t,this.open=!0,this.inner=Ot,this.il=Nt,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.inner!==Ot&&this.inner._remove(this.il),this.out=Ot,this.open=!0,this.inner=Ot,this.il=Nt},t.prototype.less=function(){var t=this.out;t!==Ot&&(this.open||this.inner!==Ot||t._c())},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.inner,r=this.il;n!==Ot&&r!==Nt&&n._remove(r),(this.inner=t)._add(this.il=new Vt(e,this))}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.open=!1,this.less()},t}(),Ht=function(){function t(t,e,n){var r=this;this.type="fold",this.ins=n,this.out=Ot,this.f=function(e){return t(r.acc,e)},this.acc=this.seed=e}return t.prototype._start=function(t){this.out=t,this.acc=this.seed,t._n(this.acc),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.acc=this.seed},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&e._n(this.acc=n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Jt=function(){function t(t){this.type="last",this.ins=t,this.out=Ot,this.has=!1,this.val=Ot}return t.prototype._start=function(t){this.out=t,this.has=!1,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.val=Ot},t.prototype._n=function(t){this.has=!0,this.val=t},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&(this.has?(t._n(this.val),t._c()):t._e(new Error("last() failed because input stream completed")))},t}(),Xt=function(){function t(t,e){this.type="map",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&e._n(n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Yt=function(){function t(t){this.type="remember",this.ins=t,this.out=Ot}return t.prototype._start=function(t){this.out=t,this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Zt=function(){function t(t,e){this.type="replaceError",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;if(e!==Ot)try{this.ins._remove(this),(this.ins=this.f(t))._add(this)}catch(t){e._e(t)}},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Kt=function(){function t(t,e){this.type="startWith",this.ins=t,this.out=Ot,this.val=e}return t.prototype._start=function(t){this.out=t,this.out._n(this.val),this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Qt=function(){function t(t,e){this.type="take",this.ins=e,this.out=Ot,this.max=t,this.taken=0}return t.prototype._start=function(t){this.out=t,this.taken=0,this.max<=0?t._c():this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=++this.taken;n<this.max?e._n(t):n===this.max&&(e._n(t),e._c())}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),te=function(){function t(t){this._prod=t||Ot,this._ils=[],this._stopID=Ot,this._dl=Ot,this._d=!1,this._target=null,this._err=Ot}return t.prototype._n=function(t){var e=this._ils,n=e.length;if(this._d&&this._dl._n(t),1==n)e[0]._n(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._n(t)}},t.prototype._e=function(t){if(this._err===Ot){this._err=t;var e=this._ils,n=e.length;if(this._x(),this._d&&this._dl._e(t),1==n)e[0]._e(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._e(t)}if(!this._d&&0==n)throw this._err}},t.prototype._c=function(){var t=this._ils,e=t.length;if(this._x(),this._d&&this._dl._c(),1==e)t[0]._c();else{if(0==e)return;for(var n=jt(t),r=0;r<e;r++)n[r]._c()}},t.prototype._x=function(){0!==this._ils.length&&(this._prod!==Ot&&this._prod._stop(),this._err=Ot,this._ils=[])},t.prototype._stopNow=function(){this._prod._stop(),this._err=Ot,this._stopID=Ot},t.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),!(n.length>1))if(this._stopID!==Ot)clearTimeout(this._stopID),this._stopID=Ot;else{var r=this._prod;r!==Ot&&r._start(this)}},t.prototype._remove=function(t){var e=this,n=this._target;if(n)return n._remove(t);var r=this._ils,o=r.indexOf(t);o>-1&&(r.splice(o,1),this._prod!==Ot&&r.length<=0?(this._err=Ot,this._stopID=setTimeout((function(){return e._stopNow()}))):1===r.length&&this._pruneCycles())},t.prototype._pruneCycles=function(){this._hasNoSinks(this,[])&&this._remove(this._ils[0])},t.prototype._hasNoSinks=function(t,e){if(-1!==e.indexOf(t))return!0;if(t.out===this)return!0;if(t.out&&t.out!==Ot)return this._hasNoSinks(t.out,e.concat(t));if(t._ils){for(var n=0,r=t._ils.length;n<r;n++)if(!this._hasNoSinks(t._ils[n],e.concat(t)))return!1;return!0}return!1},t.prototype.ctor=function(){return this instanceof ne?ne:t},t.prototype.addListener=function(t){t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._add(t)},t.prototype.removeListener=function(t){this._remove(t)},t.prototype.subscribe=function(t){return this.addListener(t),new xt(this,t)},t.prototype[At]=function(){return this},t.create=function(e){if(e){if("function"!=typeof e.start||"function"!=typeof e.stop)throw new Error("producer requires both start and stop functions");kt(e)}return new t(e)},t.createWithMemory=function(t){return t&&kt(t),new ne(t)},t.never=function(){return new t({_start:$t,_stop:$t})},t.empty=function(){return new t({_start:function(t){t._c()},_stop:$t})},t.throw=function(e){return new t({_start:function(t){t._e(e)},_stop:$t})},t.from=function(e){if("function"==typeof e[At])return t.fromObservable(e);if("function"==typeof e.then)return t.fromPromise(e);if(Array.isArray(e))return t.fromArray(e);throw new TypeError("Type of input to from() must be an Array, Promise, or Observable")},t.of=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.fromArray(e)},t.fromArray=function(e){return new t(new Lt(e))},t.fromPromise=function(e){return new t(new Ft(e))},t.fromObservable=function(e){if(void 0!==e.endWhen)return e;var n="function"==typeof e[At]?e[At]():e;return new t(new Pt(n))},t.periodic=function(e){return new t(new Bt(e))},t.prototype._map=function(t){return new(this.ctor())(new Xt(t,this))},t.prototype.map=function(t){return this._map(t)},t.prototype.mapTo=function(t){var e=this.map((function(){return t}));return e._prod.type="mapTo",e},t.prototype.filter=function(e){var n,r,o=this._prod;return new t(o instanceof Gt?new Gt((n=o.f,r=e,function(t){return n(t)&&r(t)}),o.ins):new Gt(e,this))},t.prototype.take=function(t){return new(this.ctor())(new Qt(t,this))},t.prototype.drop=function(e){return new t(new qt(e,this))},t.prototype.last=function(){return new t(new Jt(this))},t.prototype.startWith=function(t){return new ne(new Kt(this,t))},t.prototype.endWhen=function(t){return new(this.ctor())(new Wt(t,this))},t.prototype.fold=function(t,e){return new ne(new Ht(t,e,this))},t.prototype.replaceError=function(t){return new(this.ctor())(new Zt(t,this))},t.prototype.flatten=function(){return new t(new zt(this))},t.prototype.compose=function(t){return t(this)},t.prototype.remember=function(){return new ne(new Yt(this))},t.prototype.debug=function(t){return new(this.ctor())(new Rt(this,t))},t.prototype.imitate=function(t){if(t instanceof ne)throw new Error("A MemoryStream was given to imitate(), but it only supports a Stream. Read more about this restriction here: https://github.com/staltz/xstream#faq");this._target=t;for(var e=this._ils,n=e.length,r=0;r<n;r++)t._add(e[r]);this._ils=[]},t.prototype.shamefullySendNext=function(t){this._n(t)},t.prototype.shamefullySendError=function(t){this._e(t)},t.prototype.shamefullySendComplete=function(){this._c()},t.prototype.setDebugListener=function(t){t?(this._d=!0,t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._dl=t):(this._d=!1,this._dl=Ot)},t.merge=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Mt(e))},t.combine=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Dt(e))},t}(),ee=n.Stream=te,ne=function(t){function e(e){var n=t.call(this,e)||this;return n._has=!1,n}return St(e,t),e.prototype._n=function(e){this._v=e,this._has=!0,t.prototype._n.call(this,e)},e.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),n.length>1)this._has&&t._n(this._v);else if(this._stopID!==Ot)this._has&&t._n(this._v),clearTimeout(this._stopID),this._stopID=Ot;else if(this._has)t._n(this._v);else{var r=this._prod;r!==Ot&&r._start(this)}},e.prototype._stopNow=function(){this._has=!1,t.prototype._stopNow.call(this)},e.prototype._x=function(){this._has=!1,t.prototype._x.call(this)},e.prototype.map=function(t){return this._map(t)},e.prototype.mapTo=function(e){return t.prototype.mapTo.call(this,e)},e.prototype.take=function(e){return t.prototype.take.call(this,e)},e.prototype.endWhen=function(e){return t.prototype.endWhen.call(this,e)},e.prototype.replaceError=function(e){return t.prototype.replaceError.call(this,e)},e.prototype.remember=function(){return this},e.prototype.debug=function(e){return t.prototype.debug.call(this,e)},e}(te);n.MemoryStream=ne;var re=te,oe=n.default=re,ie={};function se(){var t;return(t="undefined"!=typeof window?window:void 0!==e?e:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}Object.defineProperty(ie,"__esModule",{value:!0}),ie.setAdapt=function(t){se().adaptStream=t};var ae=ie.adapt=function(t){return se().adaptStream(t)};var ce=0;function ue(){return"cycle"+ ++ce}function le(t,e){void 0===e&&(e=ue()),function(t,e){if("function"!=typeof t)throw new Error("First argument given to isolate() must be a 'dataflowComponent' function");if(null===e)throw new Error("Second argument given to isolate() must not be null")}(t,e);var n="object"==typeof e?ue():"",r="string"==typeof e||"object"==typeof e?e:e.toString();return function(e){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];var s=function(t,e,n){var r={};return Object.keys(t).forEach((function(t){if("string"!=typeof e){var o=e[t];if(void 0===o){var i=e["*"];r[t]=void 0===i?n:i}else r[t]=o}else r[t]=e})),r}(e,r,n),a=function(t,e){var n={};for(var r in t){var o=t[r];t.hasOwnProperty(r)&&o&&null!==e[r]&&"function"==typeof o.isolateSource?n[r]=o.isolateSource(o,e[r]):t.hasOwnProperty(r)&&(n[r]=t[r])}return n}(e,s),c=function(t,e,n){var r={};for(var o in e){var i=t[o],s=e[o];e.hasOwnProperty(o)&&i&&null!==n[o]&&"function"==typeof i.isolateSink?r[o]=ae(i.isolateSink(oe.fromObservable(s),n[o])):e.hasOwnProperty(o)&&(r[o]=e[o])}return r}(e,t.apply(void 0,[a].concat(o)),s);return c}}le.reset=function(){return ce=0};var pe={};Object.defineProperty(pe,"__esModule",{value:!0}),pe.DropRepeatsOperator=void 0;var fe=n,he={},de=function(){function t(t,e){this.ins=t,this.type="dropRepeats",this.out=null,this.v=he,this.isEq=e||function(t,e){return t===e}}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.v=he},t.prototype._n=function(t){var e=this.out;if(e){var n=this.v;n!==he&&this.isEq(t,n)||(this.v=t,e._n(t))}},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;t&&t._c()},t}();pe.DropRepeatsOperator=de;var ye=pe.default=function(t){return void 0===t&&(t=void 0),function(e){return new fe.Stream(new de(e,t))}},me=function(){return me=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},me.apply(this,arguments)};function ve(t){return"string"==typeof t||"number"==typeof t?function(e){return void 0===e?void 0:e[t]}:t.get}function ge(t){return"string"==typeof t||"number"==typeof t?function(e,n){var r,o;return Array.isArray(e)?function(t,e,n){if(n===t[e])return t;var r=parseInt(e);return void 0===n?t.filter((function(t,e){return e!==r})):t.map((function(t,e){return e===r?n:t}))}(e,t,n):void 0===e?((r={})[t]=n,r):me({},e,((o={})[t]=n,o))}:t.set}function _e(t,e){return t.select(e)}function be(t,e){var n=ve(e),r=ge(e);return t.map((function(t){return function(e){var o=n(e),i=t(o);return o===i?e:r(e,i)}}))}var we=function(){function t(t,e){this.isolateSource=_e,this.isolateSink=be,this._stream=t.filter((function(t){return void 0!==t})).compose(ye()).remember(),this._name=e,this.stream=ae(this._stream),this._stream._isCycleSource=e}return t.prototype.select=function(e){var n=ve(e);return new t(this._stream.map(n),this._name)},t}(),Se=function(){function t(t,e,n){this.ins=n,this.out=t,this.p=e}return t.prototype._n=function(t){this.p;var e=this.out;null!==e&&e._n(t)},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ae=function(){function t(t,e){this.type="pickMerge",this.ins=e,this.out=null,this.sel=t,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(e,n){e.ins._remove(e),e.ins=null,e.out=null,t.delete(n)})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype._n=function(t){this.inst=t;for(var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=e.length,s=0;s<i;++s){var a=e[s],c=a._key,u=oe.fromObservable(a[o]||oe.never());n.has(c)||(n.set(c,new Se(r,this,u)),u._add(n.get(c)))}n.forEach((function(e,r){t.dict.has(r)&&t.dict.get(r)||(e.ins._remove(e),e.ins=null,e.out=null,n.delete(r))}))},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var Oe=function(){function t(t,e,n,r){this.key=t,this.out=e,this.p=n,this.val=Et,this.ins=r}return t.prototype._n=function(t){this.p;var e=this.out;this.val=t,null!==e&&this.p.up()},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ee=function(){function t(t,e){this.type="combine",this.ins=e,this.sel=t,this.out=null,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(t){t.ins._remove(t),t.ins=null,t.out=null,t.val=null})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype.up=function(){for(var t=this.inst.arr,e=t.length,n=this.ils,r=Array(e),o=0;o<e;++o){var i=t[o]._key;if(!n.has(i))return;var s=n.get(i).val;if(s===Et)return;r[o]=s}this.out._n(r)},t.prototype._n=function(t){this.inst=t;var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=t.dict,s=e.length,a=!1;if(n.forEach((function(t,e){i.has(e)||(t.ins._remove(t),t.ins=null,t.out=null,t.val=null,n.delete(e),a=!0)})),0!==s){for(var c=0;c<s;++c){var u=e[c],l=u._key;if(!u[o])throw new Error("pickCombine found an undefined child sink stream");var p=oe.fromObservable(u[o]);n.has(l)||(n.set(l,new Oe(l,r,this,p)),p._add(n.get(l)))}a&&this.up()}else r._n([])},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var $e=function(){return $e=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},$e.apply(this,arguments)},je=function(){function t(t){this._instances$=t}return t.prototype.pickMerge=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ae(t,e))}}(t)))},t.prototype.pickCombine=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ee(t,e))}}(t)))},t}();function Ce(t){return{"*":null}}function Ne(t,e){return{get:function(n){if(void 0!==n)for(var r=0,o=n.length;r<o;++r)if(""+t(n[r],r)===e)return n[r]},set:function(n,r){return void 0===n?[r]:void 0===r?n.filter((function(n,r){return""+t(n,r)!==e})):n.map((function(n,o){return""+t(n,o)===e?r:n}))}}}var ke={get:function(t){return t},set:function(t,e){return e}};var xe={};Object.defineProperty(xe,"__esModule",{value:!0});var Ie=n,Pe=function(){function t(t){this.streams=t,this.type="concat",this.out=null,this.i=0}return t.prototype._start=function(t){this.out=t,this.streams[this.i]._add(this)},t.prototype._stop=function(){var t=this.streams;this.i<t.length&&t[this.i]._remove(this),this.i=0,this.out=null},t.prototype._n=function(t){var e=this.out;e&&e._n(t)},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;if(t){var e=this.streams;e[this.i]._remove(this),++this.i<e.length?e[this.i]._add(this):t._c()}},t}();var Me=xe.default=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new Ie.Stream(new Pe(t))},Te={};Object.defineProperty(Te,"__esModule",{value:!0});var De=Te.default=function(){return"undefined"!=typeof queueMicrotask?queueMicrotask:"undefined"!=typeof setImmediate?setImmediate:"undefined"!=typeof process?process.nextTick:setTimeout},Le=De();function Fe(t,e,n={}){const{combineList:r=["DOM"],globalList:o=["EVENTS"],stateSourceName:i="STATE",domSourceName:s="DOM",container:a="div",containerClass:c}=n;return n=>{const u=Date.now(),l={item:t,itemKey:(t,e)=>void 0!==t.id?t.id:e,itemScope:t=>t,channel:i,collectSinks:t=>Object.entries(n).reduce(((e,[n,o])=>{if(r.includes(n)){const r=t.pickCombine(n);n===s&&a?e[s]=r.map((t=>({sel:a,data:c?{props:{className:c}}:{},children:t,key:u,text:void 0,elm:void 0}))):e[n]=r}else e[n]=t.pickMerge(n);return e}),{})},p={[i]:e};return o.forEach((t=>p[t]=null)),r.forEach((t=>p[t]=null)),function(t,e,n){return le(function(t){return function(e){var n=t.channel||"state",r=t.itemKey,o=t.itemScope||Ce,i=oe.fromObservable(e[n].stream).fold((function(i,s){var a,c,u,l,p,f=i.dict;if(Array.isArray(s)){for(var h=Array(s.length),d=new Set,y=0,m=s.length;y<m;++y){var v=""+(r?r(s[y],y):y);if(d.add(v),f.has(v))h[y]=f.get(v);else{var g=r?Ne(r,v):""+y,_="string"==typeof(p=o(v))?((a={"*":p})[n]=g,a):$e({},p,((c={})[n]=g,c)),b=le(t.itemFactory?t.itemFactory(s[y],y):t.item,_)(e);f.set(v,b),h[y]=b}h[y]._key=v}return f.forEach((function(t,e){d.has(e)||f.delete(e)})),d.clear(),{dict:f,arr:h}}return f.clear(),v=""+(r?r(s,0):"this"),g=ke,_="string"==typeof(p=o(v))?((u={"*":p})[n]=g,u):$e({},p,((l={})[n]=g,l)),b=le(t.itemFactory?t.itemFactory(s,0):t.item,_)(e),f.set(v,b),{dict:f,arr:[b]}}),{dict:new Map,arr:[]});return t.collectSinks(new je(i))}}(t),e)(n)}(l,p,n)}}function Be(t,e,n,r={}){const{switched:o=["DOM"],stateSourceName:i="STATE"}=r,s=typeof e;if(!e)throw new Error("Missing 'name$' parameter for switchable()");if(!("string"===s||"function"===s||e instanceof ee))throw new Error("Invalid 'name$' parameter for switchable(): expects Stream, String, or Function");if(e instanceof ee){const r=e.compose(ye()).startWith(n).remember();return e=>Re(t,e,r,o)}{const r="function"===s&&e||(t=>t[e]);return e=>{const s=e&&("string"==typeof i&&e[i]||e.STATE||e.state).stream;if(!s instanceof ee)throw new Error(`Could not find the state source: ${i}`);const a=s.map(r).filter((t=>"string"==typeof t)).compose(ye()).startWith(n).remember();return Re(t,e,a,o,i)}}}function Re(t,e,n,r=["DOM"],o="STATE"){"string"==typeof r&&(r=[r]);const i=Object.entries(t).map((([t,r])=>{if(e[o]){const i=e[o].stream,s=oe.combine(n,i).filter((([e,n])=>e==t)).map((([t,e])=>e)).remember(),a=new e[o].constructor(s,e[o]._name);return[t,r({...e,state:a})]}return[t,r(e)]}));return Object.keys(e).reduce(((t,e)=>{if(r.includes(e))t[e]=n.map((t=>{const n=i.find((([e,n])=>e===t));return n&&n[1][e]||oe.never()})).flatten().remember().startWith(void 0);else{const n=i.filter((([t,n])=>void 0!==n[e])).map((([t,n])=>n[e]));t[e]=oe.merge(...n)}return t}),{})}var qe={};Object.defineProperty(qe,"__esModule",{value:!0});var Ue=n,We=function(){function t(t,e){this.dt=t,this.ins=e,this.type="delay",this.out=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null},t.prototype._n=function(t){var e=this.out;if(e)var n=setInterval((function(){e._n(t),clearInterval(n)}),this.dt)},t.prototype._e=function(t){var e=this.out;if(e)var n=setInterval((function(){e._e(t),clearInterval(n)}),this.dt)},t.prototype._c=function(){var t=this.out;if(t)var e=setInterval((function(){t._c(),clearInterval(e)}),this.dt)},t}();var Ge=qe.default=function(t){return function(e){return new Ue.Stream(new We(t,e))}},Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});var ze=n,He=function(){function t(t,e){this.dt=t,this.ins=e,this.type="debounce",this.out=null,this.id=null,this.t=ze.NO}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.clearInterval()},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.clearInterval(),this.t=t,this.id=setInterval((function(){e.clearInterval(),n._n(t),e.t=ze.NO}),this.dt))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),this.t!=ze.NO&&t._n(this.t),this.t=ze.NO,t._c())},t}();var Je=Ve.default=function(t){return function(e){return new ze.Stream(new He(t,e))}};const Xe="undefined"!=typeof window&&window||process&&process.env||{},Ye="request",Ze="INITIALIZE";let Ke=0;const Qe="~#~#~ABORT~#~#~";class tn{constructor({name:t="NO NAME",sources:e,intent:n,request:r,model:o,response:i,view:s,children:a={},components:c={},initialState:u,calculated:l,storeCalculatedInState:p=!0,DOMSourceName:f="DOM",stateSourceName:h="STATE",requestSourceName:d="HTTP",debug:y=!1}){if(!e||"object"!=typeof e)throw new Error("Missing or invalid sources");this.name=t,this.sources=e,this.intent=n,this.request=r,this.model=o,this.response=i,this.view=s,this.children=a,this.components=c,this.initialState=u,this.calculated=l,this.storeCalculatedInState=p,this.DOMSourceName=f,this.stateSourceName=h,this.requestSourceName=d,this.sourceNames=Object.keys(e),this._debug=y,this.isSubComponent=this.sourceNames.includes("props$");const m=e[h]&&e[h].stream;var v;m&&(this.currentState=u||{},this.sources[this.stateSourceName]=new we(m.map((t=>(this.currentState=t,t))))),this.isSubComponent||void 0!==this.intent||void 0!==this.model||(this.initialState=u||!0,this.intent=t=>({__NOOP_ACTION__:oe.never()}),this.model={__NOOP_ACTION__:t=>t}),this.addCalculated=this.createMemoizedAddCalculated(),this.log=(v=t,function(t){const e="function"==typeof t?t:e=>t;return t=>t.debug((t=>{this.debug&&console.log(`[${v}] ${e(t)}`)}))}),this.initIntent$(),this.initAction$(),this.initResponse$(),this.initState(),this.initModel$(),this.initSendResponse$(),this.initChildren$(),this.initSubComponentSink$(),this.initSubComponentsRendered$(),this.initVdom$(),this.initSinks(),this.sinks.__index=Ke++,y&&console.log(`[${this.name}] Instantiated (#${this.sinks.__index})`)}get debug(){return this._debug||"true"===Xe.DEBUG||!0===Xe.DEBUG}initIntent$(){if(this.intent){if("function"!=typeof this.intent)throw new Error("Intent must be a function");if(this.intent$=this.intent(this.sources),!(this.intent$ instanceof ee)&&"object"!=typeof this.intent$)throw new Error("Intent must return either an action$ stream or map of event streams")}}initAction$(){const t=this.sources&&this.sources[this.requestSourceName]||null;if(!this.intent$)return void(this.action$=oe.never());let e;if(this.intent$ instanceof ee)e=this.intent$;else{const t=Object.entries(this.intent$).map((([t,e])=>e.map((e=>({type:t,data:e})))));e=oe.merge(oe.never(),...t)}const n=e instanceof ee?e:e.apply&&e(this.sources)||oe.never(),r=oe.of({type:"BOOTSTRAP"}).compose(Ge(10)),o=Me(r,n);let i;i=t&&"function"==typeof t.select?t.select("initial").flatten():oe.never();const s=i.map((t=>({type:"HYDRATE",data:t})));this.action$=oe.merge(o,s).compose(this.log((({type:t})=>`Action triggered: <${t}>`)))}initResponse$(){if(void 0===this.request)return;if("object"!=typeof this.request)throw new Error("The request parameter must be an object");const t=this.sources[this.requestSourceName],e=Object.entries(this.request).reduce(((e,[n,r])=>{const o=n.toLowerCase();if("function"!=typeof t[o])throw new Error("Invalid method in request object:",n);const i=Object.entries(r).reduce(((e,[n,r])=>{const i=`[${o.toUpperCase()}]:${n||"none"}`,s=typeof r;if("undefined"===s)throw new Error(`Action for '${n}' route in request object not specified`);if("string"!==s&&"function"!==s)throw new Error(`Invalid action for '${n}' route: expecting string or function`);const a="function"===s?"[ FUNCTION ]":`< ${r} >`;console.log(`[${this.name}] Adding ${this.requestSourceName} route:`,o.toUpperCase(),`'${n}' <${a}>`);const c=t[o](n).compose(ye(((t,e)=>t.id==e.id))).map((t=>{if(!t||!t.id)throw new Error(`No id found in request: ${i}`);try{const e=t.id,n=(t.params,t.body),o=(t.cookies,"function"===s?"FUNCTION":r),i={type:o,data:n,req:t,_reqId:e,_action:o},a=(new Date).toISOString(),c=t.get?t.get("host"):"0.0.0.0";if(console.log(`${a} ${c} ${t.method} ${t.url}`),this.debug&&this.action$.setDebugListener({next:({type:t})=>console.log(`[${this.name}] Action from ${this.requestSourceName} request: <${t}>`)}),"function"===s){const e=this.addCalculated(this.currentState),n=r(e,t);return oe.of({...i,data:n})}{this.action$.shamefullySendNext(i);const t=Object.entries(this.sources).reduce(((t,[n,r])=>{if(!r||"function"!=typeof r[Ye])return t;const o=r[Ye](e);return[...t,o]}),[]);return oe.merge(...t)}}catch(t){console.error(t)}})).flatten();return[...e,c]}),[]);return[...e,oe.merge(...i)]}),[]);if(this.response$=oe.merge(...e).compose(this.log((t=>t._action?`[${this.requestSourceName}] response data received for Action: <${t._action}>`:`[${this.requestSourceName}] response data received from FUNCTION`))),void 0!==this.response&&void 0===this.response$)throw new Error("Cannot have a response parameter without a request parameter")}initState(){null!=this.model&&(void 0===this.model[Ze]?this.model[Ze]={[this.stateSourceName]:(t,e)=>({...this.addCalculated(e)})}:Object.keys(this.model[Ze]).forEach((t=>{t!==this.stateSourceName&&(console.warn(`${Ze} can only be used with the ${this.stateSourceName} source... disregarding ${t}`),delete this.model[Ze][t])})))}initModel$(){if(void 0===this.model)return void(this.model$=this.sourceNames.reduce(((t,e)=>(t[e]=oe.never(),t)),{}));const t={type:Ze,data:this.initialState};this.isSubComponent&&this.initialState&&console.warn(`[${this.name}] Initial state provided to sub-component. This will overwrite any state provided by the parent component.`);const e=this.initialState?Me(oe.of(t),this.action$).compose(Ge(0)):this.action$,n=()=>this.makeOnAction(e,!0,this.action$),r=()=>this.makeOnAction(this.action$,!1,this.action$),o=Object.entries(this.model),i={};o.forEach((t=>{let[e,o]=t;if("function"==typeof o&&(o={[this.stateSourceName]:o}),"object"!=typeof o)throw new Error(`Entry for each action must be an object: ${this.name} ${e}`);Object.entries(o).forEach((t=>{const[o,s]=t,a=o==this.stateSourceName,c=(a?n():r())(e,s).compose(this.log((t=>{if(a)return`State reducer added: <${e}>`;{const n=t&&(t.type||t.command||t.name||t.key||Array.isArray(t)&&"Array"||t);return`Data sent to [${o}]: <${e}> ${n}`}})));Array.isArray(i[o])?i[o].push(c):i[o]=[c]}))}));const s=Object.entries(i).reduce(((t,e)=>{const[n,r]=e;return t[n]=oe.merge(oe.never(),...r),t}),{});this.model$=s}initSendResponse$(){const t=typeof this.response;if("function"!=t&&"undefined"!=t)throw new Error("The response parameter must be a function");if("undefined"==t)return this.response$&&this.response$.subscribe({next:this.log((({_reqId:t,_action:e})=>`Unhandled response for request: ${e} ${t}`))}),void(this.sendResponse$=oe.never());const e={select:t=>void 0===t?this.response$:(Array.isArray(t)||(t=[t]),this.response$.filter((({_action:e})=>!(t.length>0)||("FUNCTION"===e||t.includes(e)))))},n=this.response(e);if("object"!=typeof n)throw new Error("The response function must return an object");const r=Object.entries(n).reduce(((t,[e,n])=>[...t,n.map((({_reqId:t,_action:n,data:r})=>{if(!t)throw new Error(`No request id found for response for: ${e}`);return{_reqId:t,_action:n,command:e,data:r}}))]),[]);this.sendResponse$=oe.merge(...r).compose(this.log((({_reqId:t,_action:e})=>`[${this.requestSourceName}] response sent for: <${e}>`)))}initChildren$(){const t=this.sourceNames.reduce(((t,e)=>(e==this.DOMSourceName?t[e]={}:t[e]=[],t)),{});this.children$=Object.entries(this.children).reduce(((t,[e,n])=>{const r=n(this.sources);return this.sourceNames.forEach((n=>{n==this.DOMSourceName?t[n][e]=r[n]:t[n].push(r[n])})),t}),t)}initSubComponentSink$(){const t=oe.create({start:t=>{this.newSubComponentSinks=t.next.bind(t)},stop:t=>{}});t.subscribe({next:t=>t}),this.subComponentSink$=t.filter((t=>Object.keys(t).length>0))}initSubComponentsRendered$(){const t=oe.create({start:t=>{this.triggerSubComponentsRendered=t.next.bind(t)},stop:t=>{}});this.subComponentsRendered$=t.startWith(null)}initVdom$(){if("function"!=typeof this.view)return void(this.vdom$=oe.of(null));const t=this.collectRenderParameters();this.vdom$=t.map(this.view).map((t=>t||{sel:"div",data:{},children:[]})).compose(this.instantiateSubComponents.bind(this)).filter((t=>void 0!==t)).compose(this.renderVdom.bind(this))}initSinks(){this.sinks=this.sourceNames.reduce(((t,e)=>{if(e==this.DOMSourceName)return t;const n=this.subComponentSink$?this.subComponentSink$.map((t=>t[e])).filter((t=>!!t)).flatten():oe.never();return e===this.stateSourceName?t[e]=oe.merge(this.model$[e]||oe.never(),n,this.sources[this.stateSourceName].stream.filter((t=>!1)),...this.children$[e]):t[e]=oe.merge(this.model$[e]||oe.never(),n,...this.children$[e]),t}),{}),this.sinks[this.DOMSourceName]=this.vdom$,this.sinks[this.requestSourceName]=oe.merge(this.sendResponse$,this.sinks[this.requestSourceName])}makeOnAction(t,e=!0,n){return n=n||t,(r,o)=>{const i=t.filter((({type:t})=>t==r));let s;if("function"==typeof o)s=i.map((t=>{const i=(e,o,i=10)=>{if("number"!=typeof i)throw new Error(`[${this.name} ] Invalid delay value provided to next() function in model action '${r}'. Must be a number in ms.`);const s=t._reqId||t.req&&t.req.id,a=s?"object"==typeof o?{...o,_reqId:s,_action:r}:{data:o,_reqId:s,_action:r}:o;setTimeout((()=>{n.shamefullySendNext({type:e,data:a})}),i)};let s=t.data;if(s&&s.data&&s._reqId&&(s=s.data),e)return e=>{const n=this.isSubComponent?this.currentState:e,r=this.addCalculated(n),a=o(r,s,i,t.req);return a==Qe?n:this.cleanupCalculated(a)};{const e=this.addCalculated(this.currentState),n=o(e,s,i,t.req),a=typeof n,c=t._reqId||t.req&&t.req.id;if(["string","number","boolean","function"].includes(a))return n;if("object"==a)return{...n,_reqId:c,_action:r};if("undefined"==a)return console.warn(`'undefined' value sent to ${r}`),n;throw new Error(`Invalid reducer type for ${r} ${a}`)}})).filter((t=>t!=Qe));else if(void 0===o||!0===o)s=i.map((({data:t})=>t));else{const t=o;s=i.mapTo(t)}return s}}createMemoizedAddCalculated(){let t,e;return function(n){if(!this.calculated||"object"!=typeof n||n instanceof Array)return n;if(n===t)return e;if("object"!=typeof this.calculated)throw new Error("'calculated' parameter must be an object mapping calculated state field named to functions");const r=Object.entries(this.calculated);if(0===r.length)return t=n,e=n,n;const o=r.reduce(((t,[e,r])=>{if("function"!=typeof r)throw new Error(`Missing or invalid calculator function for calculated field '${e}`);try{t[e]=r(n)}catch(t){console.warn(`Calculated field '${e}' threw an error during calculation: ${t.message}`)}return t}),{}),i={...n,...o};return t=n,e=i,i}}cleanupCalculated(t){if(!t||"object"!=typeof t||t instanceof Array)return t;const e=this.storeCalculatedInState?this.addCalculated(t):t,{__props:n,__children:r,...o}=e,i={...o};if(!this.calculated)return i;return Object.keys(this.calculated).forEach((t=>{this.initialState&&void 0!==this.initialState[t]?i[t]=this.initialState[t]:delete i[t]})),i}collectRenderParameters(){const t=this.sources[this.stateSourceName],e={...this.children$[this.DOMSourceName]},n=t&&t.isolateSource(t,{get:t=>this.addCalculated(t)}),r=n&&n.stream||oe.never(),o=(t,e)=>{const{state:n,sygnalFactory:r,__props:o,__children:i,...s}=t,a=Object.keys(s);if(0===a.length){const{state:t,sygnalFactory:n,__props:r,__children:o,...i}=e;return 0===Object.keys(i).length}return a.every((n=>t[n]===e[n]))},i=(t,e)=>{if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0};e.state=r.compose(ye(o)),this.sources.props$&&(e.__props=this.sources.props$.compose(ye(o))),this.sources.children$&&(e.__children=this.sources.children$.compose(ye(i)));const s=[],a=[];Object.entries(e).forEach((([t,e])=>{s.push(t),a.push(e)}));return oe.combine(...a).map((t=>s.reduce(((e,n,r)=>(e[n]=t[r],"state"===n&&(e[this.stateSourceName]=t[r]),e)),{})))}instantiateSubComponents(t){return t.fold(((t,e)=>{const n=en(e,Object.keys(this.components)),r=Object.entries(n),o={"::ROOT::":e};if(0===r.length)return o;const i={},s=r.reduce(((e,[n,r])=>{const o=r.data,s=o.props||{},a=r.children||[],c=o.isCollection||!1,u=o.isSwitchable||!1,l=t=>{Object.entries(t).map((([t,e])=>{i[t]||=[],t!==this.DOMSourceName&&i[t].push(e)}))};if(t[n]){const r=t[n];return e[n]=r,r.props$.shamefullySendNext(s),r.children$.shamefullySendNext(a),l(r.sink$),e}const p=oe.create().startWith(s),f=oe.create().startWith(a);let h;h=c?this.instantiateCollection.bind(this):u?this.instantiateSwitchable.bind(this):this.instantiateCustomComponent.bind(this);const d=h(r,p,f);return d[this.DOMSourceName]=d[this.DOMSourceName]?this.makeCoordinatedSubComponentDomSink(d[this.DOMSourceName]):oe.never(),e[n]={sink$:d,props$:p,children$:f},l(d),e}),o),a=Object.entries(i).reduce(((t,[e,n])=>(0===n.length||(t[e]=1===n.length?n[0]:oe.merge(...n)),t)),{});return this.newSubComponentSinks(a),s}),{})}makeCoordinatedSubComponentDomSink(t){const e=t.remember(),n=this.sources[this.stateSourceName].stream.compose(ye(((t,e)=>JSON.stringify(t)===JSON.stringify(e)))).map((t=>e)).compose(Je(10)).flatten().debug((t=>this.triggerSubComponentsRendered())).remember();return n}instantiateCollection(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),i=new we(o),s=r.from;let a;const c="function"==typeof r.of?r.of:this.components[r.of],u=t=>{if("object"==typeof t){const{__props:e,__children:n,...r}=t;return r}return t},l={get:t=>{const{__props:e,__children:n}=t;return Array.isArray(t[s])?t[s].map((t=>"object"==typeof t?{...t,__props:e,__children:n}:{value:t,__props:e,__children:n})):[]},set:(t,e)=>this.calculated&&s in this.calculated?(console.warn(`Collection sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t):{...t,[s]:e.map(u)}};void 0===s?a={get:t=>!(t instanceof Array)&&t.value&&t.value instanceof Array?t.value:t,set:(t,e)=>e}:"string"==typeof s?"object"==typeof this.currentState?s in this.currentState||s in this.calculated?(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection comopnent of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):(console.error(`Collection component in ${this.name} is attempting to use non-existent state property '${s}': To fix this error, specify a valid array property on the state. Attempting to use parent component state.`),a=void 0):(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection component of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):"object"==typeof s?"function"!=typeof s.get?(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0):a={get:t=>{const e=s.get(t);return Array.isArray(e)?e:(console.warn(`State getter function in collection component of ${this.name} did not return an array: No components will be instantiated in the collection. Returned value:`,e),[])},set:s.set}:(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0);const p={...this.sources,[this.stateSourceName]:i,props$:e,children$:n},f=Fe(c,a,{container:null})(p);if("object"!=typeof f)throw new Error("Invalid sinks returned from component factory of collection element");return f}instantiateSwitchable(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),i=new we(o),s=r.state;let a;const c={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,...o}=e;return o}};void 0===s?a=c:"string"==typeof s?a={get:t=>{const{__props:e,__children:n}=t;return"object"!=typeof t[s]||t[s]instanceof Array?{value:t[s],__props:e,__children:n}:{...t[s],__props:e,__children:n}},set:(t,e)=>{if(this.calculated&&s in this.calculated)return console.warn(`Switchable sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t;if("object"!=typeof e||e instanceof Array)return{...t,[s]:e};const{__props:n,__children:r,...o}=e;return{...t,[s]:o}}}:"object"==typeof s?"function"!=typeof s.get?(console.error(`Switchable component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),a=c):a={get:s.get,set:s.set}:(console.error(`Invalid state provided to switchable sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof s}. Attempting to use parent component state.`),a=c);const u=r.of,l={...this.sources,[this.stateSourceName]:i,props$:e,children$:n},p=le(Be(u,e.map((t=>t.current))),{[this.stateSourceName]:a})(l);if("object"!=typeof p)throw new Error("Invalid sinks returned from component factory of switchable element");return p}instantiateCustomComponent(t,e,n){const r=t.sel,o=t.data.props||{};t.children;const i=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n}:{value:t,__props:e,__children:n})),s=new we(i),a=o.state,c="sygnal-factory"===r?o.sygnalFactory:this.components[r]||o.sygnalFactory;if(!c){if("sygnal-factory"===r)throw new Error("Component not found on element with Capitalized selector and nameless function: JSX transpilation replaces selectors starting with upper case letters with functions in-scope with the same name, Sygnal cannot see the name of the resulting component.");throw new Error(`Component not found: ${r}`)}let u;const l={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,...o}=e;return o}};void 0===a?u=l:"string"==typeof a?u={get:t=>{const{__props:e,__children:n}=t;return"object"==typeof t[a]?{...t[a],__props:e,__children:n}:{value:t[a],__props:e,__children:n}},set:(t,e)=>this.calculated&&a in this.calculated?(console.warn(`Sub-component of ${this.name} attempted to update state on a calculated field '${a}': Update ignored`),t):{...t,[a]:e}}:"object"==typeof a?"function"!=typeof a.get?(console.error(`Sub-component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),u=l):u={get:a.get,set:a.set}:(console.error(`Invalid state provided to sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof a}. Attempting to use parent component state.`),u=l);const p={...this.sources,[this.stateSourceName]:s,props$:e,children$:n},f=le(c,{[this.stateSourceName]:u})(p);if("object"!=typeof f){throw new Error("Invalid sinks returned from component factory:","sygnal-factory"===r?"custom element":r)}return f}renderVdom(t){return oe.combine(this.subComponentsRendered$,t).compose(Je(5)).map((([t,e])=>{const n=Object.keys(this.components),r=e["::ROOT::"],o=Object.entries(e).filter((([t])=>"::ROOT::"!==t));if(0===o.length)return oe.of(r);const i=[],s=o.map((([t,e])=>(i.push(t),e.sink$[this.DOMSourceName].startWith(void 0))));return 0===s.length?oe.of(r):oe.combine(...s).compose(Je(10)).map((t=>{const e=t.reduce(((t,e,n)=>(t[i[n]]=e,t)),{});return nn(sn(r),e,n)}))})).flatten().filter((t=>!!t)).remember().compose(this.log("View Rendered"))}}function en(t,e,n=0,r=0){if(!t)return{};if(t.data?.componentsProcessed)return{};0===n&&(t.data.componentsProcessed=!0);const o=t.sel,i=o&&"collection"===o.toLowerCase(),s=o&&"switchable"===o.toLowerCase(),a=o&&["collection","switchable","sygnal-factory",...e].includes(o)||"function"==typeof t.data?.props?.sygnalFactory,c=t.data&&t.data.props||{};t.data&&t.data.attrs;const u=t.children||[];let l={};if(a){const o=on(t,n,r);if(i){if(!c.of)throw new Error("Collection element missing required 'component' property");if("string"!=typeof c.of&&"function"!=typeof c.of)throw new Error(`Invalid 'component' property of collection element: found ${typeof c.of} requires string or component factory function`);if("function"!=typeof c.of&&!e.includes(c.of))throw new Error(`Specified component for collection not found: ${c.of}`);void 0===c.from||"string"==typeof c.from||Array.isArray(c.from)||"function"==typeof c.from.get||console.warn(`No valid array found for collection ${"string"==typeof c.of?c.of:"function component"}: no collection components will be created`,c.from),t.data.isCollection=!0,t.data.props||={}}else if(s){if(!c.of)throw new Error("Switchable element missing required 'of' property");if("object"!=typeof c.of)throw new Error(`Invalid 'of' property of switchable element: found ${typeof c.of} requires object mapping names to component factories`);if(!Object.values(c.of).every((t=>"function"==typeof t)))throw new Error("One or more components provided to switchable element is not a valid component factory");if(!c.current||"string"!=typeof c.current&&"function"!=typeof c.current)throw new Error(`Missing or invalid 'current' property for switchable element: found '${typeof c.current}' requires string or function`);if(!Object.keys(c.of).includes(c.current))throw new Error(`Component '${c.current}' not found in switchable element`);t.data.isSwitchable=!0}void 0===c.key&&(t.data.props.key=o),l[o]=t}return u.length>0&&u.map(((t,o)=>en(t,e,n+1,r+o))).forEach((t=>{Object.entries(t).forEach((([t,e])=>l[t]=e))})),l}function nn(t,e,n,r=0,o=0){if(!t)return;if(t.data?.componentsInjected)return t;0===r&&t.data&&(t.data.componentsInjected=!0);const i=t.sel||"NO SELECTOR",s=["collection","switchable","sygnal-factory",...n].includes(i)||"function"==typeof t.data?.props?.sygnalFactory,a=t?.data?.isCollection;t.data&&t.data.props;const c=t.children||[];if(s){const n=on(t,r,o),i=e[n];return a?(t.sel="div",t.children=Array.isArray(i)?i:[i],t):i}return c.length>0?(t.children=c.map(((t,i)=>nn(t,e,n,r+1,o+i))).flat(),t):t}const rn=new Map;function on(t,e,n){const r=t.sel,o="string"==typeof r?r:"functionComponent";let i=rn.get(r);if(!i){i=`${Date.now()}-${Math.floor(1e4*Math.random())}`,rn.set(r,i)}const s=`${i}-${e}-${n}`,a=t.data&&t.data.props||{};return`${o}::${a.id&&JSON.stringify(a.id)||s}`}function sn(t){return void 0===t?t:{...t,children:Array.isArray(t.children)?t.children.map(sn):void 0,data:t.data&&{...t.data,componentsInjected:!1}}}function an(t){return function(){var t;return(t="undefined"!=typeof window?window:"undefined"!=typeof global?global:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}().adaptStream(t)}function cn(t){return 0===Object.keys(t).length}function un(t,e){if("function"!=typeof t)throw new Error("First argument given to Cycle must be the 'main' function.");if("object"!=typeof e||null===e)throw new Error("Second argument given to Cycle must be an object with driver functions as properties.");if(cn(e))throw new Error("Second argument given to Cycle must be an object with at least one driver function declared as a property.");var n=function(t){if("object"!=typeof t||null===t)throw new Error("Argument given to setupReusable must be an object with driver functions as properties.");if(cn(t))throw new Error("Argument given to setupReusable must be an object with at least one driver function declared as a property.");var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=oe.create());return e}(t),n=function(t,e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r](e[r],r),n[r]&&"object"==typeof n[r]&&(n[r]._isCycleSource=r));return n}(t,e),r=function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&"function"==typeof t[e].shamefullySendNext&&(t[e]=an(t[e]));return t}(n);function o(t){return function(t,e){var n=De(),r=Object.keys(t).filter((function(t){return!!e[t]})),o={},i={};r.forEach((function(t){o[t]={_n:[],_e:[]},i[t]={next:function(e){return o[t]._n.push(e)},error:function(e){return o[t]._e.push(e)},complete:function(){}}}));var s=r.map((function(e){return oe.fromObservable(t[e]).subscribe(i[e])}));return r.forEach((function(t){var r=e[t],s=function(t){n((function(){return r._n(t)}))},a=function(t){n((function(){(console.error||console.log)(t),r._e(t)}))};o[t]._n.forEach(s),o[t]._e.forEach(a),i[t].next=s,i[t].error=a,i[t]._n=s,i[t]._e=a})),o=null,function(){s.forEach((function(t){return t.unsubscribe()}))}}(t,e)}function i(){!function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&t[e].dispose&&t[e].dispose()}(r),function(t){Object.keys(t).forEach((function(e){return t[e]._c()}))}(e)}return{sources:r,run:o,dispose:i}}(e),r=t(n.sources);return"undefined"!=typeof window&&(window.Cyclejs=window.Cyclejs||{},window.Cyclejs.sinks=r),{sinks:r,sources:n.sources,run:function(){var t=n.run(r);return function(){t(),n.dispose()}}}}function ln(t){if(pn(t)){for(;t&&pn(t);){t=fn(t).parent}return null!=t?t:null}return t.parentNode}function pn(t){return 11===t.nodeType}function fn(t,e){var n,r,o;const i=t;return null!==(n=i.parent)&&void 0!==n||(i.parent=null!=e?e:null),null!==(r=i.firstChildNode)&&void 0!==r||(i.firstChildNode=t.firstChild),null!==(o=i.lastChildNode)&&void 0!==o||(i.lastChildNode=t.lastChild),i}const hn={createElement:function(t,e){return document.createElement(t,e)},createElementNS:function(t,e,n){return document.createElementNS(t,e,n)},createTextNode:function(t){return document.createTextNode(t)},createDocumentFragment:function(){return fn(document.createDocumentFragment())},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){if(pn(t)){let e=t;for(;e&&pn(e);){e=fn(e).parent}t=null!=e?e:t}pn(e)&&(e=fn(e,t)),n&&pn(n)&&(n=fn(n).firstChildNode),t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){pn(e)&&(e=fn(e,t)),t.appendChild(e)},parentNode:ln,nextSibling:function(t){var e;if(pn(t)){const n=fn(t),r=ln(n);if(r&&n.lastChildNode){const t=Array.from(r.childNodes),o=t.indexOf(n.lastChildNode);return null!==(e=t[o+1])&&void 0!==e?e:null}return null}return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},getTextContent:function(t){return t.textContent},isElement:function(t){return 1===t.nodeType},isText:function(t){return 3===t.nodeType},isComment:function(t){return 8===t.nodeType},isDocumentFragment:pn};function dn(t,e,n,r,o){return{sel:t,data:e,children:n,text:r,elm:o,key:void 0===e?void 0:e.key}}const yn=Array.isArray;function mn(t){return"string"==typeof t||"number"==typeof t||t instanceof String||t instanceof Number}function vn(t){return void 0===t}function gn(t){return void 0!==t}const _n=dn("",{},[],void 0,void 0);function bn(t,e){var n,r;const o=t.key===e.key,i=(null===(n=t.data)||void 0===n?void 0:n.is)===(null===(r=e.data)||void 0===r?void 0:r.is),s=t.sel===e.sel,a=!(!t.sel&&t.sel===e.sel)||typeof t.text==typeof e.text;return s&&o&&i&&a}function wn(){throw new Error("The document fragment is not supported on this platform.")}function Sn(t,e,n){var r;const o={};for(let i=e;i<=n;++i){const e=null===(r=t[i])||void 0===r?void 0:r.key;void 0!==e&&(o[e]=i)}return o}const An=["create","update","remove","destroy","pre","post"];function On(t,e,n){const r={create:[],update:[],remove:[],destroy:[],pre:[],post:[]},o=void 0!==e?e:hn;for(const e of An)for(const n of t){const t=n[e];void 0!==t&&r[e].push(t)}function i(t){const e=t.id?"#"+t.id:"",n=t.getAttribute("class"),r=n?"."+n.split(" ").join("."):"";return dn(o.tagName(t).toLowerCase()+e+r,{},[],void 0,t)}function s(t){return dn(void 0,{},[],void 0,t)}function a(t,e){return function(){if(0==--e){const e=o.parentNode(t);o.removeChild(e,t)}}}function c(t,e){var i,s,a,u;let l,p=t.data;if(void 0!==p){const e=null===(i=p.hook)||void 0===i?void 0:i.init;gn(e)&&(e(t),p=t.data)}const f=t.children,h=t.sel;if("!"===h)vn(t.text)&&(t.text=""),t.elm=o.createComment(t.text);else if(void 0!==h){const n=h.indexOf("#"),i=h.indexOf(".",n),a=n>0?n:h.length,u=i>0?i:h.length,d=-1!==n||-1!==i?h.slice(0,Math.min(a,u)):h,y=t.elm=gn(p)&&gn(l=p.ns)?o.createElementNS(l,d,p):o.createElement(d,p);for(a<u&&y.setAttribute("id",h.slice(a+1,u)),i>0&&y.setAttribute("class",h.slice(u+1).replace(/\./g," ")),l=0;l<r.create.length;++l)r.create[l](_n,t);if(yn(f))for(l=0;l<f.length;++l){const t=f[l];null!=t&&o.appendChild(y,c(t,e))}else mn(t.text)&&o.appendChild(y,o.createTextNode(t.text));const m=t.data.hook;gn(m)&&(null===(s=m.create)||void 0===s||s.call(m,_n,t),m.insert&&e.push(t))}else if((null===(a=null==n?void 0:n.experimental)||void 0===a?void 0:a.fragments)&&t.children){for(t.elm=(null!==(u=o.createDocumentFragment)&&void 0!==u?u:wn)(),l=0;l<r.create.length;++l)r.create[l](_n,t);for(l=0;l<t.children.length;++l){const n=t.children[l];null!=n&&o.appendChild(t.elm,c(n,e))}}else t.elm=o.createTextNode(t.text);return t.elm}function u(t,e,n,r,i,s){for(;r<=i;++r){const i=n[r];null!=i&&o.insertBefore(t,c(i,s),e)}}function l(t){var e,n;const o=t.data;if(void 0!==o){null===(n=null===(e=null==o?void 0:o.hook)||void 0===e?void 0:e.destroy)||void 0===n||n.call(e,t);for(let e=0;e<r.destroy.length;++e)r.destroy[e](t);if(void 0!==t.children)for(let e=0;e<t.children.length;++e){const n=t.children[e];null!=n&&"string"!=typeof n&&l(n)}}}function p(t,e,n,i){for(var s,c;n<=i;++n){let i,u;const f=e[n];if(null!=f)if(gn(f.sel)){l(f),i=r.remove.length+1,u=a(f.elm,i);for(let t=0;t<r.remove.length;++t)r.remove[t](f,u);const t=null===(c=null===(s=null==f?void 0:f.data)||void 0===s?void 0:s.hook)||void 0===c?void 0:c.remove;gn(t)?t(f,u):u()}else f.children?(l(f),p(t,f.children,0,f.children.length-1)):o.removeChild(t,f.elm)}}function f(t,e,n){var i,s,a,l,h,d,y,m;const v=null===(i=e.data)||void 0===i?void 0:i.hook;null===(s=null==v?void 0:v.prepatch)||void 0===s||s.call(v,t,e);const g=e.elm=t.elm;if(t===e)return;if(void 0!==e.data||gn(e.text)&&e.text!==t.text){null!==(a=e.data)&&void 0!==a||(e.data={}),null!==(l=t.data)&&void 0!==l||(t.data={});for(let n=0;n<r.update.length;++n)r.update[n](t,e);null===(y=null===(d=null===(h=e.data)||void 0===h?void 0:h.hook)||void 0===d?void 0:d.update)||void 0===y||y.call(d,t,e)}const _=t.children,b=e.children;vn(e.text)?gn(_)&&gn(b)?_!==b&&function(t,e,n,r){let i,s,a,l,h=0,d=0,y=e.length-1,m=e[0],v=e[y],g=n.length-1,_=n[0],b=n[g];for(;h<=y&&d<=g;)null==m?m=e[++h]:null==v?v=e[--y]:null==_?_=n[++d]:null==b?b=n[--g]:bn(m,_)?(f(m,_,r),m=e[++h],_=n[++d]):bn(v,b)?(f(v,b,r),v=e[--y],b=n[--g]):bn(m,b)?(f(m,b,r),o.insertBefore(t,m.elm,o.nextSibling(v.elm)),m=e[++h],b=n[--g]):bn(v,_)?(f(v,_,r),o.insertBefore(t,v.elm,m.elm),v=e[--y],_=n[++d]):(void 0===i&&(i=Sn(e,h,y)),s=i[_.key],vn(s)?o.insertBefore(t,c(_,r),m.elm):(a=e[s],a.sel!==_.sel?o.insertBefore(t,c(_,r),m.elm):(f(a,_,r),e[s]=void 0,o.insertBefore(t,a.elm,m.elm))),_=n[++d]);d<=g&&(l=null==n[g+1]?null:n[g+1].elm,u(t,l,n,d,g,r)),h<=y&&p(t,e,h,y)}(g,_,b,n):gn(b)?(gn(t.text)&&o.setTextContent(g,""),u(g,null,b,0,b.length-1,n)):gn(_)?p(g,_,0,_.length-1):gn(t.text)&&o.setTextContent(g,""):t.text!==e.text&&(gn(_)&&p(g,_,0,_.length-1),o.setTextContent(g,e.text)),null===(m=null==v?void 0:v.postpatch)||void 0===m||m.call(v,t,e)}return function(t,e){let n,a,u;const l=[];for(n=0;n<r.pre.length;++n)r.pre[n]();for(!function(t,e){return t.isElement(e)}(o,t)?function(t,e){return t.isDocumentFragment(e)}(o,t)&&(t=s(t)):t=i(t),bn(t,e)?f(t,e,l):(a=t.elm,u=o.parentNode(a),c(e,l),null!==u&&(o.insertBefore(u,e.elm,o.nextSibling(a)),p(u,[t],0,0))),n=0;n<l.length;++n)l[n].data.hook.insert(l[n]);for(n=0;n<r.post.length;++n)r.post[n]();return e}}function En(t,e,n){if(t.ns="http://www.w3.org/2000/svg","foreignObject"!==n&&void 0!==e)for(let t=0;t<e.length;++t){const n=e[t];if("string"==typeof n)continue;const r=n.data;void 0!==r&&En(r,n.children,n.sel)}}function $n(t,e,n){let r,o,i,s={};if(void 0!==n?(null!==e&&(s=e),yn(n)?r=n:mn(n)?o=n.toString():n&&n.sel&&(r=[n])):null!=e&&(yn(e)?r=e:mn(e)?o=e.toString():e&&e.sel?r=[e]:s=e),void 0!==r)for(i=0;i<r.length;++i)mn(r[i])&&(r[i]=dn(void 0,void 0,void 0,r[i],void 0));return"s"!==t[0]||"v"!==t[1]||"g"!==t[2]||3!==t.length&&"."!==t[3]&&"#"!==t[3]||En(s,r,t),dn(t,s,r,o,void 0)}function jn(t,e){const n=void 0!==e?e:hn;let r;if(n.isElement(t)){const r=t.id?"#"+t.id:"",o=t.getAttribute("class"),i=o?"."+o.split(" ").join("."):"",s=n.tagName(t).toLowerCase()+r+i,a={},c={},u={},l=[];let p,f,h;const d=t.attributes,y=t.childNodes;for(f=0,h=d.length;f<h;f++)p=d[f].nodeName,"d"===p[0]&&"a"===p[1]&&"t"===p[2]&&"a"===p[3]&&"-"===p[4]?c[p.slice(5)]=d[f].nodeValue||"":"id"!==p&&"class"!==p&&(a[p]=d[f].nodeValue);for(f=0,h=y.length;f<h;f++)l.push(jn(y[f],e));return Object.keys(a).length>0&&(u.attrs=a),Object.keys(c).length>0&&(u.dataset=c),"s"!==s[0]||"v"!==s[1]||"g"!==s[2]||3!==s.length&&"."!==s[3]&&"#"!==s[3]||En(u,l,s),dn(s,u,l,void 0,t)}return n.isText(t)?(r=n.getTextContent(t),dn(void 0,void 0,void 0,r,t)):n.isComment(t)?(r=n.getTextContent(t),dn("!",{},[],r,t)):dn("",{},[],void 0,t)}function Cn(t,e){let n;const r=e.elm;let o=t.data.attrs,i=e.data.attrs;if((o||i)&&o!==i){for(n in o=o||{},i=i||{},i){const t=i[n];o[n]!==t&&(!0===t?r.setAttribute(n,""):!1===t?r.removeAttribute(n):120!==n.charCodeAt(0)?r.setAttribute(n,t):58===n.charCodeAt(3)?r.setAttributeNS("http://www.w3.org/XML/1998/namespace",n,t):58===n.charCodeAt(5)?r.setAttributeNS("http://www.w3.org/1999/xlink",n,t):r.setAttribute(n,t))}for(n in o)n in i||r.removeAttribute(n)}}const Nn={create:Cn,update:Cn};function kn(t,e){let n,r;const o=e.elm;let i=t.data.class,s=e.data.class;if((i||s)&&i!==s){for(r in i=i||{},s=s||{},i)i[r]&&!Object.prototype.hasOwnProperty.call(s,r)&&o.classList.remove(r);for(r in s)n=s[r],n!==i[r]&&o.classList[n?"add":"remove"](r)}}const xn={create:kn,update:kn},In=/[A-Z]/g;function Pn(t,e){const n=e.elm;let r,o=t.data.dataset,i=e.data.dataset;if(!o&&!i)return;if(o===i)return;o=o||{},i=i||{};const s=n.dataset;for(r in o)i[r]||(s?r in s&&delete s[r]:n.removeAttribute("data-"+r.replace(In,"-$&").toLowerCase()));for(r in i)o[r]!==i[r]&&(s?s[r]=i[r]:n.setAttribute("data-"+r.replace(In,"-$&").toLowerCase(),i[r]))}const Mn={create:Pn,update:Pn};function Tn(t,e){let n,r,o;const i=e.elm;let s=t.data.props,a=e.data.props;if((s||a)&&s!==a)for(n in s=s||{},a=a||{},a)r=a[n],o=s[n],o===r||"value"===n&&i[n]===r||(i[n]=r)}const Dn={create:Tn,update:Tn},Ln="undefined"!=typeof window&&window.requestAnimationFrame.bind(window)||setTimeout,Fn=function(t){Ln((function(){Ln(t)}))};let Bn=!1;function Rn(t,e,n){Fn((function(){t[e]=n}))}function qn(t,e){let n,r;const o=e.elm;let i=t.data.style,s=e.data.style;if(!i&&!s)return;if(i===s)return;i=i||{},s=s||{};const a="delayed"in i;for(r in i)s[r]||("-"===r[0]&&"-"===r[1]?o.style.removeProperty(r):o.style[r]="");for(r in s)if(n=s[r],"delayed"===r&&s.delayed)for(const t in s.delayed)n=s.delayed[t],a&&n===i.delayed[t]||Rn(o.style,t,n);else"remove"!==r&&n!==i[r]&&("-"===r[0]&&"-"===r[1]?o.style.setProperty(r,n):o.style[r]=n)}const Un={pre:function(){Bn=!1},create:qn,update:qn,destroy:function(t){let e,n;const r=t.elm,o=t.data.style;if(o&&(e=o.destroy))for(n in e)r.style[n]=e[n]},remove:function(t,e){const n=t.data.style;if(!n||!n.remove)return void e();let r;Bn||(t.elm.offsetLeft,Bn=!0);const o=t.elm;let i=0;const s=n.remove;let a=0;const c=[];for(r in s)c.push(r),o.style[r]=s[r];const u=getComputedStyle(o)["transition-property"].split(", ");for(;i<u.length;++i)-1!==c.indexOf(u[i])&&a++;o.addEventListener("transitionend",(function(t){t.target===o&&--a,0===a&&e()}))}};function Wn(t,e){e.elm=t.elm,t.data.fn=e.data.fn,t.data.args=e.data.args,t.data.isolate=e.data.isolate,e.data=t.data,e.children=t.children,e.text=t.text,e.elm=t.elm}function Gn(t){var e=t.data;Wn(e.fn.apply(void 0,e.args),t)}function Vn(t,e){var n,r=t.data,o=e.data,i=r.args,s=o.args;for(r.fn===o.fn&&i.length===s.length||Wn(o.fn.apply(void 0,s),e),n=0;n<s.length;++n)if(i[n]!==s[n])return void Wn(o.fn.apply(void 0,s),e);Wn(t,e)}function zn(t,e,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=null;return ee.create({start:function(s){i=r?function(t){Jn(t,r),s.next(t)}:function(t){s.next(t)},t.addEventListener(e,i,{capture:n,passive:o})},stop:function(){t.removeEventListener(e,i,n),i=null}})}function Hn(t,e){for(var n=Object.keys(t),r=n.length,o=0;o<r;o++){var i=n[o];if("object"==typeof t[i]&&"object"==typeof e[i]){if(!Hn(t[i],e[i]))return!1}else if(t[i]!==e[i])return!1}return!0}function Jn(t,e){if(e)if("boolean"==typeof e)t.preventDefault();else if("function"==typeof e)e(t)&&t.preventDefault();else{if("object"!=typeof e)throw new Error("preventDefault has to be either a boolean, predicate function or object");Hn(e,t)&&t.preventDefault()}}var Xn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=zn(document,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}(),Yn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document.body]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document.body));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=zn(document.body,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}();function Zn(t){if("string"!=typeof t&&(e=t,!("object"==typeof HTMLElement?e instanceof HTMLElement||e instanceof DocumentFragment:e&&"object"==typeof e&&null!==e&&(1===e.nodeType||11===e.nodeType)&&"string"==typeof e.nodeName)))throw new Error("Given container is not a DOM element neither a selector string.");var e}function Kn(t){for(var e="",n=t.length-1;n>=0&&"selector"===t[n].type;n--)e=t[n].scope+" "+e;return e.trim()}function Qn(t,e){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n].type!==e[n].type||t[n].scope!==e[n].scope)return!1;return!0}var tr=function(){function t(t,e){this.namespace=t,this.isolateModule=e,this._namespace=t.filter((function(t){return"selector"!==t.type}))}return t.prototype.isDirectlyInScope=function(t){var e=this.isolateModule.getNamespace(t);if(!e)return!1;if(this._namespace.length>e.length||!Qn(this._namespace,e.slice(0,this._namespace.length)))return!1;for(var n=this._namespace.length;n<e.length;n++)if("total"===e[n].type)return!1;return!0},t}();var er=function(){function t(t,e){this.namespace=t,this.isolateModule=e}return t.prototype.call=function(){var t=this.namespace,e=Kn(t),n=new tr(t,this.isolateModule),r=this.isolateModule.getElement(t.filter((function(t){return"selector"!==t.type})));return void 0===r?[]:""===e?[r]:function(t){return Array.prototype.slice.call(t)}(r.querySelectorAll(e)).filter(n.isDirectlyInScope,n).concat(r.matches(e)?[r]:[])},t}(),nr=function(){return nr=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},nr.apply(this,arguments)};function rr(t){return{type:(e=t,e.length>1&&("."===e[0]||"#"===e[0])?"sibling":"total"),scope:t};var e}var or=function(){function t(e,n,r,o,i,s){var a;void 0===r&&(r=[]),this._rootElement$=e,this._sanitation$=n,this._namespace=r,this._isolateModule=o,this._eventDelegator=i,this._name=s,this.isolateSource=function(e,n){return new t(e._rootElement$,e._sanitation$,e._namespace.concat(rr(n)),e._isolateModule,e._eventDelegator,e._name)},this.isolateSink=(a=this._namespace,function(t,e){return":root"===e?t:t.map((function(t){if(!t)return t;var n=rr(e),r=nr({},t,{data:nr({},t.data,{isolate:t.data&&Array.isArray(t.data.isolate)?t.data.isolate:a.concat([n])})});return nr({},r,{key:void 0!==r.key?r.key:JSON.stringify(r.data.isolate)})}))})}return t.prototype._elements=function(){if(0===this._namespace.length)return this._rootElement$.map((function(t){return[t]}));var t=new er(this._namespace,this._isolateModule);return this._rootElement$.map((function(){return t.call()}))},t.prototype.elements=function(){var t=ae(this._elements().remember());return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(this._elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember());return t._isCycleSource=this._name,t},Object.defineProperty(t.prototype,"namespace",{get:function(){return this._namespace},enumerable:!0,configurable:!0}),t.prototype.select=function(e){if("string"!=typeof e)throw new Error("DOM driver's select() expects the argument to be a string as a CSS selector");if("document"===e)return new Xn(this._name);if("body"===e)return new Yn(this._name);var n=":root"===e?[]:this._namespace.concat({type:"selector",scope:e.trim()});return new t(this._rootElement$,this._sanitation$,n,this._isolateModule,this._eventDelegator,this._name)},t.prototype.events=function(t,e,n){if(void 0===e&&(e={}),"string"!=typeof t)throw new Error("DOM driver's events() expects argument to be a string representing the event type to listen for.");var r=this._eventDelegator.addEventListener(t,this._namespace,e,n),o=ae(r);return o._isCycleSource=this._name,o},t.prototype.dispose=function(){this._sanitation$.shamefullySendNext(null)},t}(),ir={},sr=e&&e.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var i=arguments[e],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r};Object.defineProperty(ir,"__esModule",{value:!0}),ir.SampleCombineOperator=ir.SampleCombineListener=void 0;var ar=n,cr={},ur=function(){function t(t,e){this.i=t,this.p=e,e.ils[t]=this}return t.prototype._n=function(t){var e=this.p;e.out!==cr&&e.up(t,this.i)},t.prototype._e=function(t){this.p._e(t)},t.prototype._c=function(){this.p.down(this.i,this)},t}();ir.SampleCombineListener=ur;var lr,pr=function(){function t(t,e){this.type="sampleCombine",this.ins=t,this.others=e,this.out=cr,this.ils=[],this.Nn=0,this.vals=[]}return t.prototype._start=function(t){this.out=t;for(var e=this.others,n=this.Nn=e.length,r=this.vals=new Array(n),o=0;o<n;o++)r[o]=cr,e[o]._add(new ur(o,this));this.ins._add(this)},t.prototype._stop=function(){var t=this.others,e=t.length,n=this.ils;this.ins._remove(this);for(var r=0;r<e;r++)t[r]._remove(n[r]);this.out=cr,this.vals=[],this.ils=[]},t.prototype._n=function(t){var e=this.out;e!==cr&&(this.Nn>0||e._n(sr([t],this.vals)))},t.prototype._e=function(t){var e=this.out;e!==cr&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==cr&&t._c()},t.prototype.up=function(t,e){var n=this.vals[e];this.Nn>0&&n===cr&&this.Nn--,this.vals[e]=t},t.prototype.down=function(t,e){this.others[t]._remove(e)},t}();ir.SampleCombineOperator=pr,lr=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return new ar.Stream(new pr(e,t))}};var fr=ir.default=lr;function hr(t){if(!t.sel)return{tagName:"",id:"",className:""};var e=t.sel,n=e.indexOf("#"),r=e.indexOf(".",n),o=n>0?n:e.length,i=r>0?r:e.length;return{tagName:-1!==n||-1!==r?e.slice(0,Math.min(o,i)):e,id:o<i?e.slice(o+1,i):void 0,className:r>0?e.slice(i+1).replace(/\./g," "):void 0}}Object.assign;var dr=("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:Function("return this")()).Symbol;"function"==typeof dr&&dr("parent");var yr=function(){function t(t){this.rootElement=t}return t.prototype.call=function(t){if(11===this.rootElement.nodeType)return this.wrapDocFrag(null===t?[]:[t]);if(null===t)return this.wrap([]);var e=hr(t),n=e.tagName,r=e.id,o=function(t){var e=hr(t).className,n=void 0===e?"":e;if(!t.data)return n;var r=t.data,o=r.class,i=r.props;return o&&(n+=" "+Object.keys(o).filter((function(t){return o[t]})).join(" ")),i&&i.className&&(n+=" "+i.className),n&&n.trim()}(t),i=((t.data||{}).props||{}).id,s=void 0===i?r:i;return"string"==typeof s&&s.toUpperCase()===this.rootElement.id.toUpperCase()&&n.toUpperCase()===this.rootElement.tagName.toUpperCase()&&o.toUpperCase()===this.rootElement.className.toUpperCase()?t:this.wrap([t])},t.prototype.wrapDocFrag=function(t){return dn("",{isolate:[]},t,void 0,this.rootElement)},t.prototype.wrap=function(t){var e=this.rootElement,n=e.tagName,r=e.id,o=e.className,i=r?"#"+r:"",s=o?"."+o.split(" ").join("."):"",a=$n(""+n.toLowerCase()+i+s,{},t);return a.data=a.data||{},a.data.isolate=a.data.isolate||[],a},t}(),mr=[Un,xn,Dn,Nn,Mn],vr=function(){function t(t){this.mapper=t,this.tree=[void 0,{}]}return t.prototype.set=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];a||(a=[void 0,{}],r[1][s]=a),r=a}r[0]=e},t.prototype.getDefault=function(t,e,n){return this.get(t,e,n)},t.prototype.get=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];if(!a){if(!e)return;a=[void 0,{}],r[1][s]=a}r=a}return e&&!r[0]&&(r[0]=e()),r[0]},t.prototype.delete=function(t){for(var e=this.tree,n=0;n<t.length-1;n++){var r=e[1][this.mapper(t[n])];if(!r)return;e=r}delete e[1][this.mapper(t[t.length-1])]},t}(),gr=function(){function t(){this.namespaceTree=new vr((function(t){return t.scope})),this.namespaceByElement=new Map,this.vnodesBeingRemoved=[]}return t.prototype.setEventDelegator=function(t){this.eventDelegator=t},t.prototype.insertElement=function(t,e){this.namespaceByElement.set(e,t),this.namespaceTree.set(t,e)},t.prototype.removeElement=function(t){this.namespaceByElement.delete(t);var e=this.getNamespace(t);e&&this.namespaceTree.delete(e)},t.prototype.getElement=function(t,e){return this.namespaceTree.get(t,void 0,e)},t.prototype.getRootElement=function(t){if(this.namespaceByElement.has(t))return t;for(var e=t;!this.namespaceByElement.has(e);){if(!(e=e.parentNode))return;if("HTML"===e.tagName)throw new Error("No root element found, this should not happen at all")}return e},t.prototype.getNamespace=function(t){var e=this.getRootElement(t);if(e)return this.namespaceByElement.get(e)},t.prototype.createModule=function(){var t=this;return{create:function(e,n){var r=n.elm,o=n.data,i=(void 0===o?{}:o).isolate;Array.isArray(i)&&t.insertElement(i,r)},update:function(e,n){var r=e.elm,o=e.data,i=void 0===o?{}:o,s=n.elm,a=n.data,c=void 0===a?{}:a,u=i.isolate,l=c.isolate;Qn(u,l)||Array.isArray(u)&&t.removeElement(r),Array.isArray(l)&&t.insertElement(l,s)},destroy:function(e){t.vnodesBeingRemoved.push(e)},remove:function(e,n){t.vnodesBeingRemoved.push(e),n()},post:function(){for(var e=t.vnodesBeingRemoved,n=e.length-1;n>=0;n--){var r=e[n],o=void 0!==r.data?r.data.isolation:void 0;void 0!==o&&t.removeElement(o),t.eventDelegator.removeElement(r.elm,o)}t.vnodesBeingRemoved=[]}}},t}(),_r=function(){function t(){this.arr=[],this.prios=[]}return t.prototype.add=function(t,e){for(var n=0;n<this.arr.length;n++)if(this.prios[n]<e)return this.arr.splice(n,0,t),void this.prios.splice(n,0,e);this.arr.push(t),this.prios.push(e)},t.prototype.forEach=function(t){for(var e=0;e<this.arr.length;e++)t(this.arr[e],e,this.arr)},t.prototype.delete=function(t){for(var e=0;e<this.arr.length;e++)if(this.arr[e]===t)return this.arr.splice(e,1),void this.prios.splice(e,1)},t}(),br=function(){return br=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},br.apply(this,arguments)},wr=["blur","canplay","canplaythrough","durationchange","emptied","ended","focus","load","loadeddata","loadedmetadata","mouseenter","mouseleave","pause","play","playing","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","unload","volumechange","waiting"],Sr=function(){function t(t,e){var n=this;this.rootElement$=t,this.isolateModule=e,this.virtualListeners=new vr((function(t){return t.scope})),this.nonBubblingListenersToAdd=new Set,this.virtualNonBubblingListener=[],this.isolateModule.setEventDelegator(this),this.domListeners=new Map,this.domListenersToAdd=new Map,this.nonBubblingListeners=new Map,t.addListener({next:function(t){n.origin!==t&&(n.origin=t,n.resetEventListeners(),n.domListenersToAdd.forEach((function(t,e){return n.setupDOMListener(e,t)})),n.domListenersToAdd.clear()),n.nonBubblingListenersToAdd.forEach((function(t){n.setupNonBubblingListener(t)}))}})}return t.prototype.addEventListener=function(t,e,n,r){var o,i=oe.never(),s=new tr(e,this.isolateModule);if(void 0===r?-1===wr.indexOf(t):r)return this.domListeners.has(t)||this.setupDOMListener(t,!!n.passive),o=this.insertListener(i,s,t,n),i;var a=[];this.nonBubblingListenersToAdd.forEach((function(t){return a.push(t)}));for(var c=void 0,u=0,l=a.length,p=function(n){n[0];var r=n[1],o=n[2];return n[3],t===r&&Qn(o.namespace,e)};!c&&u<l;){var f=a[u];c=p(f)?f:c,u++}var h,d=c;if(d){var y=d[0];h=y}else{var m=new er(e,this.isolateModule);o=this.insertListener(i,s,t,n),d=[i,t,m,o],h=i,this.nonBubblingListenersToAdd.add(d),this.setupNonBubblingListener(d)}var v=this,g=null;return oe.create({start:function(t){g=h.subscribe(t)},stop:function(){d[0];var t=d[1],e=d[2];d[3],e.call().forEach((function(e){var n=e.subs;n&&n[t]&&(n[t].unsubscribe(),delete n[t])})),v.nonBubblingListenersToAdd.delete(d),g.unsubscribe()}})},t.prototype.removeElement=function(t,e){void 0!==e&&this.virtualListeners.delete(e);var n=[];this.nonBubblingListeners.forEach((function(e,r){if(e.has(t)){n.push([r,t]);var o=t.subs;o&&Object.keys(o).forEach((function(t){o[t].unsubscribe()}))}}));for(var r=0;r<n.length;r++){var o=this.nonBubblingListeners.get(n[r][0]);o&&(o.delete(n[r][1]),0===o.size?this.nonBubblingListeners.delete(n[r][0]):this.nonBubblingListeners.set(n[r][0],o))}},t.prototype.insertListener=function(t,e,n,r){var o=[],i=e._namespace,s=i.length;do{o.push(this.getVirtualListeners(n,i,!0,s)),s--}while(s>=0&&"total"!==i[s].type);for(var a=br({},r,{scopeChecker:e,subject:t,bubbles:!!r.bubbles,useCapture:!!r.useCapture,passive:!!r.passive}),c=0;c<o.length;c++)o[c].add(a,i.length);return a},t.prototype.getVirtualListeners=function(t,e,n,r){void 0===n&&(n=!1);var o=void 0!==r?r:e.length;if(!n)for(var i=o-1;i>=0;i--){if("total"===e[i].type){o=i+1;break}o=i}var s=this.virtualListeners.getDefault(e,(function(){return new Map}),o);return s.has(t)||s.set(t,new _r),s.get(t)},t.prototype.setupDOMListener=function(t,e){var n=this;if(this.origin){var r=zn(this.origin,t,!1,!1,e).subscribe({next:function(r){return n.onEvent(t,r,e)},error:function(){},complete:function(){}});this.domListeners.set(t,{sub:r,passive:e})}else this.domListenersToAdd.set(t,e)},t.prototype.setupNonBubblingListener=function(t){t[0];var e=t[1],n=t[2],r=t[3];if(this.origin){var o=n.call();if(o.length){var i=this;o.forEach((function(t){var n,o=t.subs;if(!o||!o[e]){var s=zn(t,e,!1,!1,r.passive).subscribe({next:function(t){return i.onEvent(e,t,!!r.passive,!1)},error:function(){},complete:function(){}});i.nonBubblingListeners.has(e)||i.nonBubblingListeners.set(e,new Map);var a=i.nonBubblingListeners.get(e);if(!a)return;a.set(t,{sub:s,destination:r}),t.subs=br({},o,((n={})[e]=s,n))}}))}}},t.prototype.resetEventListeners=function(){for(var t=this.domListeners.entries(),e=t.next();!e.done;){var n=e.value,r=n[0],o=n[1],i=o.sub,s=o.passive;i.unsubscribe(),this.setupDOMListener(r,s),e=t.next()}},t.prototype.putNonBubblingListener=function(t,e,n,r){var o=this.nonBubblingListeners.get(t);if(o){var i=o.get(e);i&&i.destination.passive===r&&i.destination.useCapture===n&&(this.virtualNonBubblingListener[0]=i.destination)}},t.prototype.onEvent=function(t,e,n,r){void 0===r&&(r=!0);var o=this.patchEvent(e),i=this.isolateModule.getRootElement(e.target);if(r){var s=this.isolateModule.getNamespace(e.target);if(!s)return;var a=this.getVirtualListeners(t,s);this.bubble(t,e.target,i,o,a,s,s.length-1,!0,n),this.bubble(t,e.target,i,o,a,s,s.length-1,!1,n)}else this.putNonBubblingListener(t,e.target,!0,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!0,n),this.putNonBubblingListener(t,e.target,!1,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!1,n),e.stopPropagation()},t.prototype.bubble=function(t,e,n,r,o,i,s,a,c){a||r.propagationHasBeenStopped||this.doBubbleStep(t,e,n,r,o,a,c);var u=n,l=s;if(e===n){if(!(s>=0&&"sibling"===i[s].type))return;u=this.isolateModule.getElement(i,s),l--}e.parentNode&&u&&this.bubble(t,e.parentNode,u,r,o,i,l,a,c),a&&!r.propagationHasBeenStopped&&this.doBubbleStep(t,e,n,r,o,a,c)},t.prototype.doBubbleStep=function(t,e,n,r,o,i,s){n&&(this.mutateEventCurrentTarget(r,e),o.forEach((function(t){if(t.passive===s&&t.useCapture===i){var o=Kn(t.scopeChecker.namespace);!r.propagationHasBeenStopped&&t.scopeChecker.isDirectlyInScope(e)&&(""!==o&&e.matches(o)||""===o&&e===n)&&(Jn(r,t.preventDefault),t.subject.shamefullySendNext(r))}})))},t.prototype.patchEvent=function(t){var e=t;e.propagationHasBeenStopped=!1;var n=e.stopPropagation;return e.stopPropagation=function(){n.call(this),this.propagationHasBeenStopped=!0},e},t.prototype.mutateEventCurrentTarget=function(t,e){try{Object.defineProperty(t,"currentTarget",{value:e,configurable:!0})}catch(t){console.log("please use event.ownerTarget")}t.ownerTarget=e},t}();function Ar(t){return oe.merge(t,oe.never())}function Or(t){return t.elm}function Er(t){(console.error||console.log)(t)}function $r(t,e){void 0===e&&(e={}),Zn(t);var n=e.modules||mr;!function(t){if(!Array.isArray(t))throw new Error("Optional modules option must be an array for snabbdom modules")}(n);var r,o,i=new gr,s=e&&e.snabbdomOptions||void 0,a=On([i.createModule()].concat(n),void 0,s),c=oe.create({start:function(t){"loading"===document.readyState?document.addEventListener("readystatechange",(function(){var e=document.readyState;"interactive"!==e&&"complete"!==e||(t.next(null),t.complete())})):(t.next(null),t.complete())},stop:function(){}}),u=oe.create({start:function(t){o=new MutationObserver((function(){return t.next(null)}))},stop:function(){o.disconnect()}});return function(n,s){void 0===s&&(s="DOM"),function(t){if(!t||"function"!=typeof t.addListener||"function"!=typeof t.fold)throw new Error("The DOM driver function expects as input a Stream of virtual DOM elements")}(n);var l=oe.create(),p=c.map((function(){var e=function(t){var e="string"==typeof t?document.querySelector(t):t;if("string"==typeof t&&null===e)throw new Error("Cannot render into unknown element `"+t+"`");return e}(t)||document.body;return r=new yr(e),e})),f=n.remember();f.addListener({}),u.addListener({});var h=p.map((function(t){return oe.merge(f.endWhen(l),l).map((function(t){return r.call(t)})).startWith(function(t){return t.data=t.data||{},t.data.isolate=[],t}(jn(t))).fold(a,jn(t)).drop(1).map(Or).startWith(t).map((function(t){return o.observe(t,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),t})).compose(Ar)})).flatten(),d=Me(c,u).endWhen(l).compose(fr(h)).map((function(t){return t[1]})).remember();d.addListener({error:e.reportSnabbdomError||Er});var y=new Sr(d,i);return new or(d,l,[],i,y,s)}}var jr="___",Cr=function(){function t(t){this._mockConfig=t,t.elements?this._elements=t.elements:this._elements=ae(oe.empty())}return t.prototype.elements=function(){var t=this._elements;return t._isCycleSource="MockedDOM",t},t.prototype.element=function(){var t=this.elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember(),e=ae(t);return e._isCycleSource="MockedDOM",e},t.prototype.events=function(t,e,n){var r=this._mockConfig[t],o=ae(r||oe.empty());return o._isCycleSource="MockedDOM",o},t.prototype.select=function(e){return new t(this._mockConfig[e]||{})},t.prototype.isolateSource=function(t,e){return t.select("."+jr+e)},t.prototype.isolateSink=function(t,e){return ae(oe.fromObservable(t).map((function(t){return t.sel&&-1!==t.sel.indexOf(jr+e)||(t.sel+="."+jr+e),t})))},t}();function Nr(t){return function(t){return"string"==typeof t&&t.length>0}(t)&&("."===t[0]||"#"===t[0])}function kr(t){return function(e,n,r){var o=void 0!==e,i=void 0!==n,s=void 0!==r;return Nr(e)?i&&s?$n(t+e,n,r):$n(t+e,i?n:{}):s?$n(t+e,n,r):i?$n(t,e,n):$n(t,o?e:{})}}var xr=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","colorProfile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotlight","feTile","feTurbulence","filter","font","fontFace","fontFaceFormat","fontFaceName","fontFaceSrc","fontFaceUri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missingGlyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],Ir=kr("svg");xr.forEach((function(t){Ir[t]=kr(t)}));var Pr=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dir","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","meta","nav","noscript","object","ol","optgroup","option","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","u","ul","video"],Mr={SVG_TAG_NAMES:xr,TAG_NAMES:Pr,svg:Ir,isSelector:Nr,createTagFunction:kr};Pr.forEach((function(t){Mr[t]=kr(t)}));var Tr=Mr.svg,Dr=Mr.a,Lr=Mr.abbr,Fr=Mr.address,Br=Mr.area,Rr=Mr.article,qr=Mr.aside,Ur=Mr.audio,Wr=Mr.b,Gr=Mr.base,Vr=Mr.bdi,zr=Mr.bdo,Hr=Mr.blockquote,Jr=Mr.body,Xr=Mr.br,Yr=Mr.button,Zr=Mr.canvas,Kr=Mr.caption,Qr=Mr.cite,to=Mr.code,eo=Mr.col,no=Mr.colgroup,ro=Mr.dd,oo=Mr.del,io=Mr.dfn,so=Mr.dir,ao=Mr.div,co=Mr.dl,uo=Mr.dt,lo=Mr.em,po=Mr.embed,fo=Mr.fieldset,ho=Mr.figcaption,yo=Mr.figure,mo=Mr.footer,vo=Mr.form,go=Mr.h1,_o=Mr.h2,bo=Mr.h3,wo=Mr.h4,So=Mr.h5,Ao=Mr.h6,Oo=Mr.head,Eo=Mr.header,$o=Mr.hgroup,jo=Mr.hr,Co=Mr.html,No=Mr.i,ko=Mr.iframe,xo=Mr.img,Io=Mr.input,Po=Mr.ins,Mo=Mr.kbd,To=Mr.keygen,Do=Mr.label,Lo=Mr.legend,Fo=Mr.li,Bo=Mr.link,Ro=Mr.main,qo=Mr.map,Uo=Mr.mark,Wo=Mr.menu,Go=Mr.meta,Vo=Mr.nav,zo=Mr.noscript,Ho=Mr.object,Jo=Mr.ol,Xo=Mr.optgroup,Yo=Mr.option,Zo=Mr.p,Ko=Mr.param,Qo=Mr.pre,ti=Mr.progress,ei=Mr.q,ni=Mr.rp,ri=Mr.rt,oi=Mr.ruby,ii=Mr.s,si=Mr.samp,ai=Mr.script,ci=Mr.section,ui=Mr.select,li=Mr.small,pi=Mr.source,fi=Mr.span,hi=Mr.strong,di=Mr.style,yi=Mr.sub,mi=Mr.sup,vi=Mr.table,gi=Mr.tbody,_i=Mr.td,bi=Mr.textarea,wi=Mr.tfoot,Si=Mr.th,Ai=Mr.thead,Oi=Mr.title,Ei=Mr.tr,$i=Mr.u,ji=Mr.ul,Ci=Mr.video;function Ni(t){const e=new EventTarget;return t.subscribe({next:t=>e.dispatchEvent(new CustomEvent("data",{detail:t}))}),{select:t=>{const n=!t,r=Array.isArray(t)?t:[t];let o;const i=oe.create({start:t=>{o=({detail:e})=>{const o=e&&e.data||null;(n||r.includes(e.type))&&t.next(o)},e.addEventListener("data",o)},stop:t=>e.removeEventListener("data",o)});return ae(i)}}}function ki(t){t.addListener({next:t=>{console.log(t)}})}function xi(t){return/^[a-zA-Z0-9-_]+$/.test(t)}function Ii(t){if("string"!=typeof t)throw new Error("Class name must be a string");return t.trim().split(" ").reduce(((t,e)=>{if(0===e.trim().length)return t;if(!xi(e))throw new Error(`${e} is not a valid CSS class name`);return t.push(e),t}),[])}var Pi={};Object.defineProperty(Pi,"__esModule",{value:!0});var Mi=n,Ti=function(){function t(t,e){this.dt=t,this.ins=e,this.type="throttle",this.out=null,this.id=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.id=null},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.id||(n._n(t),this.id=setInterval((function(){e.clearInterval()}),this.dt)))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),t._c())},t}();var Di=Pi.default=function(t){return function(e){return new Mi.Stream(new Ti(t,e))}};t.ABORT=Qe,t.MainDOMSource=or,t.MockedDOMSource=Cr,t.a=Dr,t.abbr=Lr,t.address=Fr,t.area=Br,t.article=Rr,t.aside=qr,t.audio=Ur,t.b=Wr,t.base=Gr,t.bdi=Vr,t.bdo=zr,t.blockquote=Hr,t.body=Jr,t.br=Xr,t.button=Yr,t.canvas=Zr,t.caption=Kr,t.cite=Qr,t.classes=function(...t){return t.reduce(((t,e)=>{var n,r;return"string"!=typeof e||t.includes(e)?Array.isArray(e)?t.push(...(r=e,r.map(Ii).flat())):"object"==typeof e&&t.push(...(n=e,Object.entries(n).filter((([t,e])=>"function"==typeof e?e():!!e)).map((([t,e])=>{const n=t.trim();if(!xi(n))throw new Error(`${n} is not a valid CSS class name`);return n})))):t.push(...Ii(e)),t}),[]).join(" ")},t.code=to,t.col=eo,t.colgroup=no,t.collection=Fe,t.component=function(t){const{name:e,sources:n,isolateOpts:r,stateSourceName:o="STATE"}=t;if(n&&"object"!=typeof n)throw new Error("Sources must be a Cycle.js sources object:",e);let i;i="string"==typeof r?{[o]:r}:!0===r?{}:r;const s=void 0===n;let a;if("object"==typeof i){const e=e=>{const n={...t,sources:e};return new tn(n).sinks};a=s?le(e,i):le(e,i)(n)}else a=s?e=>new tn({...t,sources:e}).sinks:new tn(t).sinks;return a.componentName=e,a.isSygnalComponent=!0,a},t.dd=ro,t.debounce=Je,t.del=oo,t.delay=Ge,t.dfn=io,t.dir=so,t.div=ao,t.dl=co,t.driverFromAsync=function(t,e={}){const{selector:n="category",args:r="value",return:o="value",pre:i=(t=>t),post:s=(t=>t)}=e,a=t.name||"[anonymous function]",c=typeof r;if(!("string"===c||"function"===c||Array.isArray(r)&&r.every((t=>"string"==typeof t))))throw new Error(`The 'args' option for driverFromAsync(${a}) must be a string, array of strings, or a function. Received ${c}`);if("string"!=typeof n)throw new Error(`The 'selector' option for driverFromAsync(${a}) must be a string. Received ${typeof n}`);return e=>{let c=null;const u=oe.create({start:t=>{c=t.next.bind(t)},stop:()=>{}});return e.addListener({next:e=>{const u=i(e);let l=[];if("object"==typeof u&&null!==u){if("function"==typeof r){const t=r(u);l=Array.isArray(t)?t:[t]}"string"==typeof r&&(l=[u[r]]),Array.isArray(r)&&(l=r.map((t=>u[t])))}const p=`Error in driver created using driverFromAsync(${a})`;t(...l).then((t=>{const r=t=>{let r;if(void 0===o)r=t,"object"==typeof r&&null!==r?r[n]=e[n]:console.warn(`The 'return' option for driverFromAsync(${a}) was not set, but the promise returned an non-object. The result will be returned as-is, but the '${n}' property will not be set, so will not be filtered by the 'select' method of the driver.`);else{if("string"!=typeof o)throw new Error(`The 'return' option for driverFromAsync(${a}) must be a string. Received ${typeof o}`);r={[o]:t,[n]:e[n]}}return r};if("function"==typeof t.then)t.then((t=>{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(rocessedOutgoing))})).catch((t=>console.error(`${p}: ${t}`)));else{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(n))}})).catch((t=>console.error(`${p}: ${t}`)))},error:t=>{console.error(`Error recieved from sink stream in driver created using driverFromAsync(${a}): ${t}`)},complete:()=>{console.warn(`Unexpected completion of sink stream to driver created using driverFromAsync(${a})`)}}),{select:t=>void 0===t?u:"function"==typeof t?u.filter(t):u.filter((e=>e?.[n]===t))}}},t.dropRepeats=ye,t.dt=uo,t.em=lo,t.embed=po,t.fieldset=fo,t.figcaption=ho,t.figure=yo,t.footer=mo,t.form=vo,t.h=$n,t.h1=go,t.h2=_o,t.h3=bo,t.h4=wo,t.h5=So,t.h6=Ao,t.head=Oo,t.header=Eo,t.hgroup=$o,t.hr=jo,t.html=Co,t.i=No,t.iframe=ko,t.img=xo,t.input=Io,t.ins=Po,t.kbd=Mo,t.keygen=To,t.label=Do,t.legend=Lo,t.li=Fo,t.link=Bo,t.main=Ro,t.makeDOMDriver=$r,t.map=qo,t.mark=Uo,t.menu=Wo,t.meta=Go,t.mockDOMSource=function(t){return new Cr(t)},t.nav=Vo,t.noscript=zo,t.object=Ho,t.ol=Jo,t.optgroup=Xo,t.option=Yo,t.p=Zo,t.param=Ko,t.pre=Qo,t.processForm=function(t,e={}){let{events:n=["input","submit"],preventDefault:r=!0}=e;"string"==typeof n&&(n=[n]);const o=n.map((e=>t.events(e)));return oe.merge(...o).map((t=>{r&&t.preventDefault();const e="submit"===t.type?t.srcElement:t.currentTarget,n=new FormData(e);let o={};o.event=t,o.eventType=t.type;const i=e.querySelector("input[type=submit]:focus");if(i){const{name:t,value:e}=i;o[t||"submit"]=e}for(let[t,e]of n.entries())o[t]=e;return o}))},t.progress=ti,t.q=ei,t.rp=ni,t.rt=ri,t.ruby=oi,t.run=function(t,e={},n={}){const{mountPoint:r="#root",fragments:o=!0}=n,i=function(t,e){return void 0===e&&(e="state"),function(n){var r=oe.create(),o=r.fold((function(t,e){return e(t)}),void 0).drop(1),i=n;i[e]=new we(o,e);var s=t(i);return s[e]&&Me(oe.fromObservable(s[e]),oe.never()).subscribe({next:function(t){return Le((function(){return r._n(t)}))},error:function(t){return Le((function(){return r._e(t)}))},complete:function(){return Le((function(){return r._c()}))}}),s}}(t,"STATE");return function(t,e){var n=un(t,e);return"undefined"!=typeof window&&window.CyclejsDevTool_startGraphSerializer&&window.CyclejsDevTool_startGraphSerializer(n.sinks),n.run()}(i,{...{EVENTS:Ni,DOM:$r(r,{snabbdomOptions:{experimental:{fragments:o}}}),LOG:ki},...e})},t.s=ii,t.samp=si,t.sampleCombine=fr,t.script=ai,t.section=ci,t.select=ui,t.small=li,t.source=pi,t.span=fi,t.strong=hi,t.style=di,t.sub=yi,t.sup=mi,t.svg=Tr,t.switchable=Be,t.table=vi,t.tbody=gi,t.td=_i,t.textarea=bi,t.tfoot=wi,t.th=Si,t.thead=Ai,t.throttle=Di,t.thunk=function(t,e,n,r){return void 0===r&&(r=n,n=e,e=void 0),$n(t,{key:e,hook:{init:Gn,prepatch:Vn},fn:n,args:r})},t.title=Oi,t.tr=Ei,t.u=$i,t.ul=ji,t.video=Ci,t.xs=oe}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Sygnal={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={},r={};!function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t){var e,n=t.Symbol;if("function"==typeof n)if(n.observable)e=n.observable;else{e=n.for("https://github.com/benlesh/symbol-observable");try{n.observable=e}catch(t){}}else e="@@observable";return e}}(r);var o,i,s=r,a=Object.prototype.toString,c=function(t){var e=a.call(t),n="[object Arguments]"===e;return n||(n="[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===a.call(t.callee)),n};var u=Array.prototype.slice,l=c,p=Object.keys,f=p?function(t){return p(t)}:function(){if(i)return o;var t;if(i=1,!Object.keys){var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=c,s=Object.prototype.propertyIsEnumerable,a=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(t){var e=t.constructor;return e&&e.prototype===t},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!f["$"+t]&&e.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{p(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();t=function(t){var o=null!==t&&"object"==typeof t,i="[object Function]"===n.call(t),s=r(t),c=o&&"[object String]"===n.call(t),f=[];if(!o&&!i&&!s)throw new TypeError("Object.keys called on a non-object");var d=u&&i;if(c&&t.length>0&&!e.call(t,0))for(var y=0;y<t.length;++y)f.push(String(y));if(s&&t.length>0)for(var m=0;m<t.length;++m)f.push(String(m));else for(var v in t)d&&"prototype"===v||!e.call(t,v)||f.push(String(v));if(a)for(var _=function(t){if("undefined"==typeof window||!h)return p(t);try{return p(t)}catch(t){return!1}}(t),g=0;g<l.length;++g)_&&"constructor"===l[g]||!e.call(t,l[g])||f.push(l[g]);return f}}return o=t}(),h=Object.keys;f.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return l(t)?h(u.call(t)):h(t)})}else Object.keys=f;return Object.keys||f};var d,y=f,m="undefined"!=typeof Symbol&&Symbol,v=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var r=Object.getOwnPropertySymbols(t);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0},_={foo:{}},g=Object,b=Array.prototype.slice,w=Object.prototype.toString,S=function(t){var e=this;if("function"!=typeof e||"[object Function]"!==w.call(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var n,r=b.call(arguments,1),o=Math.max(0,e.length-r.length),i=[],s=0;s<o;s++)i.push("$"+s);if(n=Function("binder","return function ("+i.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof n){var o=e.apply(this,r.concat(b.call(arguments)));return Object(o)===o?o:this}return e.apply(t,r.concat(b.call(arguments)))})),e.prototype){var a=function(){};a.prototype=e.prototype,n.prototype=new a,a.prototype=null}return n},A=Function.prototype.bind||S,O=A.call(Function.call,Object.prototype.hasOwnProperty),E=SyntaxError,$=Function,j=TypeError,C=function(t){try{return $('"use strict"; return ('+t+").constructor;")()}catch(t){}},x=Object.getOwnPropertyDescriptor;if(x)try{x({},"")}catch(t){x=null}var N=function(){throw new j},k=x?function(){try{return N}catch(t){try{return x(arguments,"callee").get}catch(t){return N}}}():N,I="function"==typeof m&&"function"==typeof Symbol&&"symbol"==typeof m("foo")&&"symbol"==typeof Symbol("bar")&&v(),P={__proto__:_}.foo===_.foo&&!({__proto__:null}instanceof g),M=Object.getPrototypeOf||(P?function(t){return t.__proto__}:null),T={},D="undefined"!=typeof Uint8Array&&M?M(Uint8Array):d,L={"%AggregateError%":"undefined"==typeof AggregateError?d:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?d:ArrayBuffer,"%ArrayIteratorPrototype%":I&&M?M([][Symbol.iterator]()):d,"%AsyncFromSyncIteratorPrototype%":d,"%AsyncFunction%":T,"%AsyncGenerator%":T,"%AsyncGeneratorFunction%":T,"%AsyncIteratorPrototype%":T,"%Atomics%":"undefined"==typeof Atomics?d:Atomics,"%BigInt%":"undefined"==typeof BigInt?d:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?d:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?d:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?d:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?d:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?d:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?d:FinalizationRegistry,"%Function%":$,"%GeneratorFunction%":T,"%Int8Array%":"undefined"==typeof Int8Array?d:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?d:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?d:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":I&&M?M(M([][Symbol.iterator]())):d,"%JSON%":"object"==typeof JSON?JSON:d,"%Map%":"undefined"==typeof Map?d:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&I&&M?M((new Map)[Symbol.iterator]()):d,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?d:Promise,"%Proxy%":"undefined"==typeof Proxy?d:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?d:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?d:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&I&&M?M((new Set)[Symbol.iterator]()):d,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?d:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":I&&M?M(""[Symbol.iterator]()):d,"%Symbol%":I?Symbol:d,"%SyntaxError%":E,"%ThrowTypeError%":k,"%TypedArray%":D,"%TypeError%":j,"%Uint8Array%":"undefined"==typeof Uint8Array?d:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?d:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?d:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?d:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?d:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?d:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?d:WeakSet};if(M)try{null.error}catch(t){var F=M(M(t));L["%Error.prototype%"]=F}var B=function t(e){var n;if("%AsyncFunction%"===e)n=C("async function () {}");else if("%GeneratorFunction%"===e)n=C("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=C("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&M&&(n=M(o.prototype))}return L[e]=n,n},R={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},q=A,U=O,W=q.call(Function.call,Array.prototype.concat),G=q.call(Function.apply,Array.prototype.splice),V=q.call(Function.call,String.prototype.replace),z=q.call(Function.call,String.prototype.slice),J=q.call(Function.call,RegExp.prototype.exec),H=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,X=/\\(\\)?/g,Y=function(t,e){var n,r=t;if(U(R,r)&&(r="%"+(n=R[r])[0]+"%"),U(L,r)){var o=L[r];if(o===T&&(o=B(r)),void 0===o&&!e)throw new j("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:o}}throw new E("intrinsic "+t+" does not exist!")},Z=function(t,e){if("string"!=typeof t||0===t.length)throw new j("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new j('"allowMissing" argument must be a boolean');if(null===J(/^%?[^%]*%?$/,t))throw new E("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(t){var e=z(t,0,1),n=z(t,-1);if("%"===e&&"%"!==n)throw new E("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new E("invalid intrinsic syntax, expected opening `%`");var r=[];return V(t,H,(function(t,e,n,o){r[r.length]=n?V(o,X,"$1"):e||t})),r}(t),r=n.length>0?n[0]:"",o=Y("%"+r+"%",e),i=o.name,s=o.value,a=!1,c=o.alias;c&&(r=c[0],G(n,W([0,1],c)));for(var u=1,l=!0;u<n.length;u+=1){var p=n[u],f=z(p,0,1),h=z(p,-1);if(('"'===f||"'"===f||"`"===f||'"'===h||"'"===h||"`"===h)&&f!==h)throw new E("property names with quotes must have matching quotes");if("constructor"!==p&&l||(a=!0),U(L,i="%"+(r+="."+p)+"%"))s=L[i];else if(null!=s){if(!(p in s)){if(!e)throw new j("base intrinsic for "+t+" exists, but the property is not available.");return}if(x&&u+1>=n.length){var d=x(s,p);s=(l=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:s[p]}else l=U(s,p),s=s[p];l&&!a&&(L[i]=s)}}return s},K=Z("%Object.defineProperty%",!0),Q=function(){if(K)try{return K({},"a",{value:1}),!0}catch(t){return!1}return!1};Q.hasArrayLengthDefineBug=function(){if(!Q())return null;try{return 1!==K([],"length",{value:1}).length}catch(t){return!0}};var tt=Q,et=y,nt="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),rt=Object.prototype.toString,ot=Array.prototype.concat,it=Object.defineProperty,st=tt(),at=it&&st,ct=function(t,e,n,r){if(e in t)if(!0===r){if(t[e]===n)return}else if("function"!=typeof(o=r)||"[object Function]"!==rt.call(o)||!r())return;var o;at?it(t,e,{configurable:!0,enumerable:!1,value:n,writable:!0}):t[e]=n},ut=function(t,e){var n=arguments.length>2?arguments[2]:{},r=et(e);nt&&(r=ot.call(r,Object.getOwnPropertySymbols(e)));for(var o=0;o<r.length;o+=1)ct(t,r[o],e[r[o]],n[r[o]])};ut.supportsDescriptors=!!at;var lt=e,pt=function(){return"object"==typeof e&&e&&e.Math===Math&&e.Array===Array?e:lt},ft=ut,ht=pt,dt=ut,yt=e,mt=pt,vt=function(){var t=ht();if(ft.supportsDescriptors){var e=Object.getOwnPropertyDescriptor(t,"globalThis");e&&(!e.configurable||!e.enumerable&&e.writable&&globalThis===t)||Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else"object"==typeof globalThis&&globalThis===t||(t.globalThis=t);return t},_t=mt(),gt=function(){return _t};dt(gt,{getPolyfill:mt,implementation:yt,shim:vt});var bt,wt=gt,St=e&&e.__extends||(bt=function(t,e){return bt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},bt(t,e)},function(t,e){function n(){this.constructor=t}bt(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(n,"__esModule",{value:!0}),n.NO_IL=n.NO=n.MemoryStream=ee=n.Stream=void 0;var At=s.default(wt.getPolyfill()),Ot={},Et=n.NO=Ot;function $t(){}function jt(t){for(var e=t.length,n=Array(e),r=0;r<e;++r)n[r]=t[r];return n}function Ct(t,e,n){try{return t.f(e)}catch(t){return n._e(t),Ot}}var xt={_n:$t,_e:$t,_c:$t};function Nt(t){t._start=function(t){t.next=t._n,t.error=t._e,t.complete=t._c,this.start(t)},t._stop=t.stop}n.NO_IL=xt;var kt=function(){function t(t,e){this._stream=t,this._listener=e}return t.prototype.unsubscribe=function(){this._stream._remove(this._listener)},t}(),It=function(){function t(t){this._listener=t}return t.prototype.next=function(t){this._listener._n(t)},t.prototype.error=function(t){this._listener._e(t)},t.prototype.complete=function(){this._listener._c()},t}(),Pt=function(){function t(t){this.type="fromObservable",this.ins=t,this.active=!1}return t.prototype._start=function(t){this.out=t,this.active=!0,this._sub=this.ins.subscribe(new It(t)),this.active||this._sub.unsubscribe()},t.prototype._stop=function(){this._sub&&this._sub.unsubscribe(),this.active=!1},t}(),Mt=function(){function t(t){this.type="merge",this.insArr=t,this.out=Ot,this.ac=0}return t.prototype._start=function(t){this.out=t;var e=this.insArr,n=e.length;this.ac=n;for(var r=0;r<n;r++)e[r]._add(this)},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=0;n<e;n++)t[n]._remove(this);this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){if(--this.ac<=0){var t=this.out;if(t===Ot)return;t._c()}},t}(),Tt=function(){function t(t,e,n){this.i=t,this.out=e,this.p=n,n.ils.push(this)}return t.prototype._n=function(t){var e=this.p,n=this.out;if(n!==Ot&&e.up(t,this.i)){var r=jt(e.vals);n._n(r)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.p;t.out!==Ot&&0==--t.Nc&&t.out._c()},t}(),Dt=function(){function t(t){this.type="combine",this.insArr=t,this.out=Ot,this.ils=[],this.Nc=this.Nn=0,this.vals=[]}return t.prototype.up=function(t,e){var n=this.vals[e],r=this.Nn?n===Ot?--this.Nn:this.Nn:0;return this.vals[e]=t,0===r},t.prototype._start=function(t){this.out=t;var e=this.insArr,n=this.Nc=this.Nn=e.length,r=this.vals=new Array(n);if(0===n)t._n([]),t._c();else for(var o=0;o<n;o++)r[o]=Ot,e[o]._add(new Tt(o,t,this))},t.prototype._stop=function(){for(var t=this.insArr,e=t.length,n=this.ils,r=0;r<e;r++)t[r]._remove(n[r]);this.out=Ot,this.ils=[],this.vals=[]},t}(),Lt=function(){function t(t){this.type="fromArray",this.a=t}return t.prototype._start=function(t){for(var e=this.a,n=0,r=e.length;n<r;n++)t._n(e[n]);t._c()},t.prototype._stop=function(){},t}(),Ft=function(){function t(t){this.type="fromPromise",this.on=!1,this.p=t}return t.prototype._start=function(t){var e=this;this.on=!0,this.p.then((function(n){e.on&&(t._n(n),t._c())}),(function(e){t._e(e)})).then($t,(function(t){setTimeout((function(){throw t}))}))},t.prototype._stop=function(){this.on=!1},t}(),Bt=function(){function t(t){this.type="periodic",this.period=t,this.intervalID=-1,this.i=0}return t.prototype._start=function(t){var e=this;this.intervalID=setInterval((function(){t._n(e.i++)}),this.period)},t.prototype._stop=function(){-1!==this.intervalID&&clearInterval(this.intervalID),this.intervalID=-1,this.i=0},t}(),Rt=function(){function t(t,e){this.type="debug",this.ins=t,this.out=Ot,this.s=$t,this.l="","string"==typeof e?this.l=e:"function"==typeof e&&(this.s=e)}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.s,r=this.l;if(n!==$t)try{n(t)}catch(t){e._e(t)}else r?console.log(r+":",t):console.log(t);e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),qt=function(){function t(t,e){this.type="drop",this.ins=e,this.out=Ot,this.max=t,this.dropped=0}return t.prototype._start=function(t){this.out=t,this.dropped=0,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&this.dropped++>=this.max&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Ut=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(){this.op.end()},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.end()},t}(),Wt=function(){function t(t,e){this.type="endWhen",this.ins=e,this.out=Ot,this.o=t,this.oil=xt}return t.prototype._start=function(t){this.out=t,this.o._add(this.oil=new Ut(t,this)),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.o._remove(this.oil),this.out=Ot,this.oil=xt},t.prototype.end=function(){var t=this.out;t!==Ot&&t._c()},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.end()},t}(),Gt=function(){function t(t,e){this.type="filter",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&n&&e._n(t)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Vt=function(){function t(t,e){this.out=t,this.op=e}return t.prototype._n=function(t){this.out._n(t)},t.prototype._e=function(t){this.out._e(t)},t.prototype._c=function(){this.op.inner=Ot,this.op.less()},t}(),zt=function(){function t(t){this.type="flatten",this.ins=t,this.out=Ot,this.open=!0,this.inner=Ot,this.il=xt}return t.prototype._start=function(t){this.out=t,this.open=!0,this.inner=Ot,this.il=xt,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.inner!==Ot&&this.inner._remove(this.il),this.out=Ot,this.open=!0,this.inner=Ot,this.il=xt},t.prototype.less=function(){var t=this.out;t!==Ot&&(this.open||this.inner!==Ot||t._c())},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=this.inner,r=this.il;n!==Ot&&r!==xt&&n._remove(r),(this.inner=t)._add(this.il=new Vt(e,this))}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){this.open=!1,this.less()},t}(),Jt=function(){function t(t,e,n){var r=this;this.type="fold",this.ins=n,this.out=Ot,this.f=function(e){return t(r.acc,e)},this.acc=this.seed=e}return t.prototype._start=function(t){this.out=t,this.acc=this.seed,t._n(this.acc),this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.acc=this.seed},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&e._n(this.acc=n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Ht=function(){function t(t){this.type="last",this.ins=t,this.out=Ot,this.has=!1,this.val=Ot}return t.prototype._start=function(t){this.out=t,this.has=!1,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot,this.val=Ot},t.prototype._n=function(t){this.has=!0,this.val=t},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&(this.has?(t._n(this.val),t._c()):t._e(new Error("last() failed because input stream completed")))},t}(),Xt=function(){function t(t,e){this.type="map",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=Ct(this,t,e);n!==Ot&&e._n(n)}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Yt=function(){function t(t){this.type="remember",this.ins=t,this.out=Ot}return t.prototype._start=function(t){this.out=t,this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Zt=function(){function t(t,e){this.type="replaceError",this.ins=e,this.out=Ot,this.f=t}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;e!==Ot&&e._n(t)},t.prototype._e=function(t){var e=this.out;if(e!==Ot)try{this.ins._remove(this),(this.ins=this.f(t))._add(this)}catch(t){e._e(t)}},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),Kt=function(){function t(t,e){this.type="startWith",this.ins=t,this.out=Ot,this.val=e}return t.prototype._start=function(t){this.out=t,this.out._n(this.val),this.ins._add(t)},t.prototype._stop=function(){this.ins._remove(this.out),this.out=Ot},t}(),Qt=function(){function t(t,e){this.type="take",this.ins=e,this.out=Ot,this.max=t,this.taken=0}return t.prototype._start=function(t){this.out=t,this.taken=0,this.max<=0?t._c():this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=Ot},t.prototype._n=function(t){var e=this.out;if(e!==Ot){var n=++this.taken;n<this.max?e._n(t):n===this.max&&(e._n(t),e._c())}},t.prototype._e=function(t){var e=this.out;e!==Ot&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==Ot&&t._c()},t}(),te=function(){function t(t){this._prod=t||Ot,this._ils=[],this._stopID=Ot,this._dl=Ot,this._d=!1,this._target=null,this._err=Ot}return t.prototype._n=function(t){var e=this._ils,n=e.length;if(this._d&&this._dl._n(t),1==n)e[0]._n(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._n(t)}},t.prototype._e=function(t){if(this._err===Ot){this._err=t;var e=this._ils,n=e.length;if(this._x(),this._d&&this._dl._e(t),1==n)e[0]._e(t);else{if(0==n)return;for(var r=jt(e),o=0;o<n;o++)r[o]._e(t)}if(!this._d&&0==n)throw this._err}},t.prototype._c=function(){var t=this._ils,e=t.length;if(this._x(),this._d&&this._dl._c(),1==e)t[0]._c();else{if(0==e)return;for(var n=jt(t),r=0;r<e;r++)n[r]._c()}},t.prototype._x=function(){0!==this._ils.length&&(this._prod!==Ot&&this._prod._stop(),this._err=Ot,this._ils=[])},t.prototype._stopNow=function(){this._prod._stop(),this._err=Ot,this._stopID=Ot},t.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),!(n.length>1))if(this._stopID!==Ot)clearTimeout(this._stopID),this._stopID=Ot;else{var r=this._prod;r!==Ot&&r._start(this)}},t.prototype._remove=function(t){var e=this,n=this._target;if(n)return n._remove(t);var r=this._ils,o=r.indexOf(t);o>-1&&(r.splice(o,1),this._prod!==Ot&&r.length<=0?(this._err=Ot,this._stopID=setTimeout((function(){return e._stopNow()}))):1===r.length&&this._pruneCycles())},t.prototype._pruneCycles=function(){this._hasNoSinks(this,[])&&this._remove(this._ils[0])},t.prototype._hasNoSinks=function(t,e){if(-1!==e.indexOf(t))return!0;if(t.out===this)return!0;if(t.out&&t.out!==Ot)return this._hasNoSinks(t.out,e.concat(t));if(t._ils){for(var n=0,r=t._ils.length;n<r;n++)if(!this._hasNoSinks(t._ils[n],e.concat(t)))return!1;return!0}return!1},t.prototype.ctor=function(){return this instanceof ne?ne:t},t.prototype.addListener=function(t){t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._add(t)},t.prototype.removeListener=function(t){this._remove(t)},t.prototype.subscribe=function(t){return this.addListener(t),new kt(this,t)},t.prototype[At]=function(){return this},t.create=function(e){if(e){if("function"!=typeof e.start||"function"!=typeof e.stop)throw new Error("producer requires both start and stop functions");Nt(e)}return new t(e)},t.createWithMemory=function(t){return t&&Nt(t),new ne(t)},t.never=function(){return new t({_start:$t,_stop:$t})},t.empty=function(){return new t({_start:function(t){t._c()},_stop:$t})},t.throw=function(e){return new t({_start:function(t){t._e(e)},_stop:$t})},t.from=function(e){if("function"==typeof e[At])return t.fromObservable(e);if("function"==typeof e.then)return t.fromPromise(e);if(Array.isArray(e))return t.fromArray(e);throw new TypeError("Type of input to from() must be an Array, Promise, or Observable")},t.of=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.fromArray(e)},t.fromArray=function(e){return new t(new Lt(e))},t.fromPromise=function(e){return new t(new Ft(e))},t.fromObservable=function(e){if(void 0!==e.endWhen)return e;var n="function"==typeof e[At]?e[At]():e;return new t(new Pt(n))},t.periodic=function(e){return new t(new Bt(e))},t.prototype._map=function(t){return new(this.ctor())(new Xt(t,this))},t.prototype.map=function(t){return this._map(t)},t.prototype.mapTo=function(t){var e=this.map((function(){return t}));return e._prod.type="mapTo",e},t.prototype.filter=function(e){var n,r,o=this._prod;return new t(o instanceof Gt?new Gt((n=o.f,r=e,function(t){return n(t)&&r(t)}),o.ins):new Gt(e,this))},t.prototype.take=function(t){return new(this.ctor())(new Qt(t,this))},t.prototype.drop=function(e){return new t(new qt(e,this))},t.prototype.last=function(){return new t(new Ht(this))},t.prototype.startWith=function(t){return new ne(new Kt(this,t))},t.prototype.endWhen=function(t){return new(this.ctor())(new Wt(t,this))},t.prototype.fold=function(t,e){return new ne(new Jt(t,e,this))},t.prototype.replaceError=function(t){return new(this.ctor())(new Zt(t,this))},t.prototype.flatten=function(){return new t(new zt(this))},t.prototype.compose=function(t){return t(this)},t.prototype.remember=function(){return new ne(new Yt(this))},t.prototype.debug=function(t){return new(this.ctor())(new Rt(this,t))},t.prototype.imitate=function(t){if(t instanceof ne)throw new Error("A MemoryStream was given to imitate(), but it only supports a Stream. Read more about this restriction here: https://github.com/staltz/xstream#faq");this._target=t;for(var e=this._ils,n=e.length,r=0;r<n;r++)t._add(e[r]);this._ils=[]},t.prototype.shamefullySendNext=function(t){this._n(t)},t.prototype.shamefullySendError=function(t){this._e(t)},t.prototype.shamefullySendComplete=function(){this._c()},t.prototype.setDebugListener=function(t){t?(this._d=!0,t._n=t.next||$t,t._e=t.error||$t,t._c=t.complete||$t,this._dl=t):(this._d=!1,this._dl=Ot)},t.merge=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Mt(e))},t.combine=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new t(new Dt(e))},t}(),ee=n.Stream=te,ne=function(t){function e(e){var n=t.call(this,e)||this;return n._has=!1,n}return St(e,t),e.prototype._n=function(e){this._v=e,this._has=!0,t.prototype._n.call(this,e)},e.prototype._add=function(t){var e=this._target;if(e)return e._add(t);var n=this._ils;if(n.push(t),n.length>1)this._has&&t._n(this._v);else if(this._stopID!==Ot)this._has&&t._n(this._v),clearTimeout(this._stopID),this._stopID=Ot;else if(this._has)t._n(this._v);else{var r=this._prod;r!==Ot&&r._start(this)}},e.prototype._stopNow=function(){this._has=!1,t.prototype._stopNow.call(this)},e.prototype._x=function(){this._has=!1,t.prototype._x.call(this)},e.prototype.map=function(t){return this._map(t)},e.prototype.mapTo=function(e){return t.prototype.mapTo.call(this,e)},e.prototype.take=function(e){return t.prototype.take.call(this,e)},e.prototype.endWhen=function(e){return t.prototype.endWhen.call(this,e)},e.prototype.replaceError=function(e){return t.prototype.replaceError.call(this,e)},e.prototype.remember=function(){return this},e.prototype.debug=function(e){return t.prototype.debug.call(this,e)},e}(te);n.MemoryStream=ne;var re=te,oe=n.default=re,ie={};function se(){var t;return(t="undefined"!=typeof window?window:void 0!==e?e:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}Object.defineProperty(ie,"__esModule",{value:!0}),ie.setAdapt=function(t){se().adaptStream=t};var ae=ie.adapt=function(t){return se().adaptStream(t)};var ce=0;function ue(){return"cycle"+ ++ce}function le(t,e){void 0===e&&(e=ue()),function(t,e){if("function"!=typeof t)throw new Error("First argument given to isolate() must be a 'dataflowComponent' function");if(null===e)throw new Error("Second argument given to isolate() must not be null")}(t,e);var n="object"==typeof e?ue():"",r="string"==typeof e||"object"==typeof e?e:e.toString();return function(e){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];var s=function(t,e,n){var r={};return Object.keys(t).forEach((function(t){if("string"!=typeof e){var o=e[t];if(void 0===o){var i=e["*"];r[t]=void 0===i?n:i}else r[t]=o}else r[t]=e})),r}(e,r,n),a=function(t,e){var n={};for(var r in t){var o=t[r];t.hasOwnProperty(r)&&o&&null!==e[r]&&"function"==typeof o.isolateSource?n[r]=o.isolateSource(o,e[r]):t.hasOwnProperty(r)&&(n[r]=t[r])}return n}(e,s),c=function(t,e,n){var r={};for(var o in e){var i=t[o],s=e[o];e.hasOwnProperty(o)&&i&&null!==n[o]&&"function"==typeof i.isolateSink?r[o]=ae(i.isolateSink(oe.fromObservable(s),n[o])):e.hasOwnProperty(o)&&(r[o]=e[o])}return r}(e,t.apply(void 0,[a].concat(o)),s);return c}}le.reset=function(){return ce=0};var pe={};Object.defineProperty(pe,"__esModule",{value:!0}),pe.DropRepeatsOperator=void 0;var fe=n,he={},de=function(){function t(t,e){this.ins=t,this.type="dropRepeats",this.out=null,this.v=he,this.isEq=e||function(t,e){return t===e}}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.v=he},t.prototype._n=function(t){var e=this.out;if(e){var n=this.v;n!==he&&this.isEq(t,n)||(this.v=t,e._n(t))}},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;t&&t._c()},t}();pe.DropRepeatsOperator=de;var ye=pe.default=function(t){return void 0===t&&(t=void 0),function(e){return new fe.Stream(new de(e,t))}},me=function(){return me=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},me.apply(this,arguments)};function ve(t){return"string"==typeof t||"number"==typeof t?function(e){return void 0===e?void 0:e[t]}:t.get}function _e(t){return"string"==typeof t||"number"==typeof t?function(e,n){var r,o;return Array.isArray(e)?function(t,e,n){if(n===t[e])return t;var r=parseInt(e);return void 0===n?t.filter((function(t,e){return e!==r})):t.map((function(t,e){return e===r?n:t}))}(e,t,n):void 0===e?((r={})[t]=n,r):me({},e,((o={})[t]=n,o))}:t.set}function ge(t,e){return t.select(e)}function be(t,e){var n=ve(e),r=_e(e);return t.map((function(t){return function(e){var o=n(e),i=t(o);return o===i?e:r(e,i)}}))}var we=function(){function t(t,e){this.isolateSource=ge,this.isolateSink=be,this._stream=t.filter((function(t){return void 0!==t})).compose(ye()).remember(),this._name=e,this.stream=ae(this._stream),this._stream._isCycleSource=e}return t.prototype.select=function(e){var n=ve(e);return new t(this._stream.map(n),this._name)},t}(),Se=function(){function t(t,e,n){this.ins=n,this.out=t,this.p=e}return t.prototype._n=function(t){this.p;var e=this.out;null!==e&&e._n(t)},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ae=function(){function t(t,e){this.type="pickMerge",this.ins=e,this.out=null,this.sel=t,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(e,n){e.ins._remove(e),e.ins=null,e.out=null,t.delete(n)})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype._n=function(t){this.inst=t;for(var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=e.length,s=0;s<i;++s){var a=e[s],c=a._key,u=oe.fromObservable(a[o]||oe.never());n.has(c)||(n.set(c,new Se(r,this,u)),u._add(n.get(c)))}n.forEach((function(e,r){t.dict.has(r)&&t.dict.get(r)||(e.ins._remove(e),e.ins=null,e.out=null,n.delete(r))}))},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var Oe=function(){function t(t,e,n,r){this.key=t,this.out=e,this.p=n,this.val=Et,this.ins=r}return t.prototype._n=function(t){this.p;var e=this.out;this.val=t,null!==e&&this.p.up()},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){},t}(),Ee=function(){function t(t,e){this.type="combine",this.ins=e,this.sel=t,this.out=null,this.ils=new Map,this.inst=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this);var t=this.ils;t.forEach((function(t){t.ins._remove(t),t.ins=null,t.out=null,t.val=null})),t.clear(),this.out=null,this.ils=new Map,this.inst=null},t.prototype.up=function(){for(var t=this.inst.arr,e=t.length,n=this.ils,r=Array(e),o=0;o<e;++o){var i=t[o]._key;if(!n.has(i))return;var s=n.get(i).val;if(s===Et)return;r[o]=s}this.out._n(r)},t.prototype._n=function(t){this.inst=t;var e=t.arr,n=this.ils,r=this.out,o=this.sel,i=t.dict,s=e.length,a=!1;if(n.forEach((function(t,e){i.has(e)||(t.ins._remove(t),t.ins=null,t.out=null,t.val=null,n.delete(e),a=!0)})),0!==s){for(var c=0;c<s;++c){var u=e[c],l=u._key;if(!u[o])throw new Error("pickCombine found an undefined child sink stream");var p=oe.fromObservable(u[o]);n.has(l)||(n.set(l,new Oe(l,r,this,p)),p._add(n.get(l)))}a&&this.up()}else r._n([])},t.prototype._e=function(t){var e=this.out;null!==e&&e._e(t)},t.prototype._c=function(){var t=this.out;null!==t&&t._c()},t}();var $e=function(){return $e=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},$e.apply(this,arguments)},je=function(){function t(t){this._instances$=t}return t.prototype.pickMerge=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ae(t,e))}}(t)))},t.prototype.pickCombine=function(t){return ae(this._instances$.compose(function(t){return function(e){return new ee(new Ee(t,e))}}(t)))},t}();function Ce(t){return{"*":null}}function xe(t,e){return{get:function(n){if(void 0!==n)for(var r=0,o=n.length;r<o;++r)if(""+t(n[r],r)===e)return n[r]},set:function(n,r){return void 0===n?[r]:void 0===r?n.filter((function(n,r){return""+t(n,r)!==e})):n.map((function(n,o){return""+t(n,o)===e?r:n}))}}}var Ne={get:function(t){return t},set:function(t,e){return e}};var ke={};Object.defineProperty(ke,"__esModule",{value:!0});var Ie=n,Pe=function(){function t(t){this.streams=t,this.type="concat",this.out=null,this.i=0}return t.prototype._start=function(t){this.out=t,this.streams[this.i]._add(this)},t.prototype._stop=function(){var t=this.streams;this.i<t.length&&t[this.i]._remove(this),this.i=0,this.out=null},t.prototype._n=function(t){var e=this.out;e&&e._n(t)},t.prototype._e=function(t){var e=this.out;e&&e._e(t)},t.prototype._c=function(){var t=this.out;if(t){var e=this.streams;e[this.i]._remove(this),++this.i<e.length?e[this.i]._add(this):t._c()}},t}();var Me=ke.default=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new Ie.Stream(new Pe(t))},Te={};Object.defineProperty(Te,"__esModule",{value:!0});var De=Te.default=function(){return"undefined"!=typeof queueMicrotask?queueMicrotask:"undefined"!=typeof setImmediate?setImmediate:"undefined"!=typeof process?process.nextTick:setTimeout},Le=De();function Fe(t,e,n={}){const{combineList:r=["DOM"],globalList:o=["EVENTS"],stateSourceName:i="STATE",domSourceName:s="DOM",container:a="div",containerClass:c}=n;return n=>{const u=Date.now(),l={item:t,itemKey:(t,e)=>void 0!==t.id?t.id:e,itemScope:t=>t,channel:i,collectSinks:t=>Object.entries(n).reduce(((e,[n,o])=>{if(r.includes(n)){const r=t.pickCombine(n);n===s&&a?e[s]=r.map((t=>({sel:a,data:c?{props:{className:c}}:{},children:t,key:u,text:void 0,elm:void 0}))):e[n]=r}else e[n]=t.pickMerge(n);return e}),{})},p={[i]:e};return o.forEach((t=>p[t]=null)),r.forEach((t=>p[t]=null)),function(t,e,n){return le(function(t){return function(e){var n=t.channel||"state",r=t.itemKey,o=t.itemScope||Ce,i=oe.fromObservable(e[n].stream).fold((function(i,s){var a,c,u,l,p,f=i.dict;if(Array.isArray(s)){for(var h=Array(s.length),d=new Set,y=0,m=s.length;y<m;++y){var v=""+(r?r(s[y],y):y);if(d.add(v),f.has(v))h[y]=f.get(v);else{var _=r?xe(r,v):""+y,g="string"==typeof(p=o(v))?((a={"*":p})[n]=_,a):$e({},p,((c={})[n]=_,c)),b=le(t.itemFactory?t.itemFactory(s[y],y):t.item,g)(e);f.set(v,b),h[y]=b}h[y]._key=v}return f.forEach((function(t,e){d.has(e)||f.delete(e)})),d.clear(),{dict:f,arr:h}}return f.clear(),v=""+(r?r(s,0):"this"),_=Ne,g="string"==typeof(p=o(v))?((u={"*":p})[n]=_,u):$e({},p,((l={})[n]=_,l)),b=le(t.itemFactory?t.itemFactory(s,0):t.item,g)(e),f.set(v,b),{dict:f,arr:[b]}}),{dict:new Map,arr:[]});return t.collectSinks(new je(i))}}(t),e)(n)}(l,p,n)}}function Be(t,e,n,r={}){const{switched:o=["DOM"],stateSourceName:i="STATE"}=r,s=typeof e;if(!e)throw new Error("Missing 'name$' parameter for switchable()");if(!("string"===s||"function"===s||e instanceof ee))throw new Error("Invalid 'name$' parameter for switchable(): expects Stream, String, or Function");if(e instanceof ee){const r=e.compose(ye()).startWith(n).remember();return e=>Re(t,e,r,o)}{const r="function"===s&&e||(t=>t[e]);return e=>{const s=e&&("string"==typeof i&&e[i]||e.STATE||e.state).stream;if(!s instanceof ee)throw new Error(`Could not find the state source: ${i}`);const a=s.map(r).filter((t=>"string"==typeof t)).compose(ye()).startWith(n).remember();return Re(t,e,a,o,i)}}}function Re(t,e,n,r=["DOM"],o="STATE"){"string"==typeof r&&(r=[r]);const i=Object.entries(t).map((([t,r])=>{if(e[o]){const i=e[o].stream,s=oe.combine(n,i).filter((([e,n])=>e==t)).map((([t,e])=>e)).remember(),a=new e[o].constructor(s,e[o]._name);return[t,r({...e,state:a})]}return[t,r(e)]}));return Object.keys(e).reduce(((t,e)=>{if(r.includes(e))t[e]=n.map((t=>{const n=i.find((([e,n])=>e===t));return n&&n[1][e]||oe.never()})).flatten().remember().startWith(void 0);else{const n=i.filter((([t,n])=>void 0!==n[e])).map((([t,n])=>n[e]));t[e]=oe.merge(...n)}return t}),{})}var qe={};Object.defineProperty(qe,"__esModule",{value:!0});var Ue=n,We=function(){function t(t,e){this.dt=t,this.ins=e,this.type="delay",this.out=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null},t.prototype._n=function(t){var e=this.out;if(e)var n=setInterval((function(){e._n(t),clearInterval(n)}),this.dt)},t.prototype._e=function(t){var e=this.out;if(e)var n=setInterval((function(){e._e(t),clearInterval(n)}),this.dt)},t.prototype._c=function(){var t=this.out;if(t)var e=setInterval((function(){t._c(),clearInterval(e)}),this.dt)},t}();var Ge=qe.default=function(t){return function(e){return new Ue.Stream(new We(t,e))}},Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});var ze=n,Je=function(){function t(t,e){this.dt=t,this.ins=e,this.type="debounce",this.out=null,this.id=null,this.t=ze.NO}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.clearInterval()},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.clearInterval(),this.t=t,this.id=setInterval((function(){e.clearInterval(),n._n(t),e.t=ze.NO}),this.dt))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),this.t!=ze.NO&&t._n(this.t),this.t=ze.NO,t._c())},t}();var He=Ve.default=function(t){return function(e){return new ze.Stream(new Je(t,e))}};const Xe="undefined"!=typeof window&&window||process&&process.env||{},Ye="request",Ze="INITIALIZE";let Ke=0;const Qe="~#~#~ABORT~#~#~";class tn{constructor({name:t="NO NAME",sources:e,intent:n,request:r,model:o,context:i,response:s,view:a,children:c={},components:u={},initialState:l,calculated:p,storeCalculatedInState:f=!0,DOMSourceName:h="DOM",stateSourceName:d="STATE",requestSourceName:y="HTTP",debug:m=!1}){if(!e||"object"!=typeof e)throw new Error("Missing or invalid sources");this.name=t,this.sources=e,this.intent=n,this.request=r,this.model=o,this.context=i,this.response=s,this.view=a,this.children=c,this.components=u,this.initialState=l,this.calculated=p,this.storeCalculatedInState=f,this.DOMSourceName=h,this.stateSourceName=d,this.requestSourceName=y,this.sourceNames=Object.keys(e),this._debug=m,this.isSubComponent=this.sourceNames.includes("props$");const v=e[d]&&e[d].stream;v&&(this.currentState=l||{},this.sources[d]=new we(v.map((t=>(this.currentState=t,t))))),this.isSubComponent||void 0!==this.intent||void 0!==this.model||(this.initialState=l||!0,this.intent=t=>({__NOOP_ACTION__:oe.never()}),this.model={__NOOP_ACTION__:t=>t}),this.addCalculated=this.createMemoizedAddCalculated(),this.log=function(t){return function(e){const n="function"==typeof e?e:t=>e;return e=>e.debug((e=>{this.debug&&console.log(`[${t}] ${n(e)}`)}))}}(t),this.initIntent$(),this.initAction$(),this.initResponse$(),this.initState(),this.initContext(),this.initModel$(),this.initSendResponse$(),this.initChildren$(),this.initSubComponentSink$(),this.initSubComponentsRendered$(),this.initVdom$(),this.initSinks(),this.sinks.__index=Ke++,m&&console.log(`[${this.name}] Instantiated (#${this.sinks.__index})`)}get debug(){return this._debug||"true"===Xe.DEBUG||!0===Xe.DEBUG}initIntent$(){if(this.intent){if("function"!=typeof this.intent)throw new Error("Intent must be a function");if(this.intent$=this.intent(this.sources),!(this.intent$ instanceof ee)&&"object"!=typeof this.intent$)throw new Error("Intent must return either an action$ stream or map of event streams")}}initAction$(){const t=this.sources&&this.sources[this.requestSourceName]||null;if(!this.intent$)return void(this.action$=oe.never());let e;if(this.intent$ instanceof ee)e=this.intent$;else{const t=Object.entries(this.intent$).map((([t,e])=>e.map((e=>({type:t,data:e})))));e=oe.merge(oe.never(),...t)}const n=e instanceof ee?e:e.apply&&e(this.sources)||oe.never(),r=oe.of({type:"BOOTSTRAP"}).compose(Ge(10)),o=Me(r,n);let i;i=t&&"function"==typeof t.select?t.select("initial").flatten():oe.never();const s=i.map((t=>({type:"HYDRATE",data:t})));this.action$=oe.merge(o,s).compose(this.log((({type:t})=>`Action triggered: <${t}>`)))}initResponse$(){if(void 0===this.request)return;if("object"!=typeof this.request)throw new Error("The request parameter must be an object");const t=this.sources[this.requestSourceName],e=Object.entries(this.request).reduce(((e,[n,r])=>{const o=n.toLowerCase();if("function"!=typeof t[o])throw new Error("Invalid method in request object:",n);const i=Object.entries(r).reduce(((e,[n,r])=>{const i=`[${o.toUpperCase()}]:${n||"none"}`,s=typeof r;if("undefined"===s)throw new Error(`Action for '${n}' route in request object not specified`);if("string"!==s&&"function"!==s)throw new Error(`Invalid action for '${n}' route: expecting string or function`);const a="function"===s?"[ FUNCTION ]":`< ${r} >`;console.log(`[${this.name}] Adding ${this.requestSourceName} route:`,o.toUpperCase(),`'${n}' <${a}>`);const c=t[o](n).compose(ye(((t,e)=>t.id==e.id))).map((t=>{if(!t||!t.id)throw new Error(`No id found in request: ${i}`);try{const e=t.id,n=(t.params,t.body),o=(t.cookies,"function"===s?"FUNCTION":r),i={type:o,data:n,req:t,_reqId:e,_action:o},a=(new Date).toISOString(),c=t.get?t.get("host"):"0.0.0.0";if(console.log(`${a} ${c} ${t.method} ${t.url}`),this.debug&&this.action$.setDebugListener({next:({type:t})=>console.log(`[${this.name}] Action from ${this.requestSourceName} request: <${t}>`)}),"function"===s){const e=this.addCalculated(this.currentState),n=r(e,t);return oe.of({...i,data:n})}{this.action$.shamefullySendNext(i);const t=Object.entries(this.sources).reduce(((t,[n,r])=>{if(!r||"function"!=typeof r[Ye])return t;const o=r[Ye](e);return[...t,o]}),[]);return oe.merge(...t)}}catch(t){console.error(t)}})).flatten();return[...e,c]}),[]);return[...e,oe.merge(...i)]}),[]);if(this.response$=oe.merge(...e).compose(this.log((t=>t._action?`[${this.requestSourceName}] response data received for Action: <${t._action}>`:`[${this.requestSourceName}] response data received from FUNCTION`))),void 0!==this.response&&void 0===this.response$)throw new Error("Cannot have a response parameter without a request parameter")}initState(){null!=this.model&&(void 0===this.model[Ze]?this.model[Ze]={[this.stateSourceName]:(t,e)=>({...this.addCalculated(e)})}:Object.keys(this.model[Ze]).forEach((t=>{t!==this.stateSourceName&&(console.warn(`${Ze} can only be used with the ${this.stateSourceName} source... disregarding ${t}`),delete this.model[Ze][t])})))}initContext(){if(!this.context&&!this.sources.__parentContext$)return void(this.context$=oe.of({}));const t=(t,e)=>{if(t===e)return!0;if("object"!=typeof t||"object"!=typeof e)return t===e;const n=Object.entries(t),r=Object.entries(e);return 0===n.length&&0===r.length||n.length===r.length&&n.every((([t,n])=>e[t]===n))},e=this.sources[this.stateSourceName]?.stream.startWith({}).compose(ye(t))||oe.never(),n=this.sources.__parentContext$.startWith({}).compose(ye(t))||oe.of({});this.context&&"object"!=typeof this.context&&console.error(`[${this.name}] Context must be an object mapping names to values of functions: ignoring provided ${typeof this.context}`),this.context$=oe.combine(e,n).map((([t,e])=>{const n="object"==typeof e?e:{},r="object"==typeof this.context?this.context:{},o=this.currentState,i={...n,...Object.entries(r).reduce(((t,e)=>{const[n,r]=e;let i;const s=typeof r;if("string"===s)i=o[r];else if("boolean"===s)i=o[n];else{if("function"!==s)return console.error(`[${this.name}] Invalid context entry '${n}': must be the name of a state property or a function returning a value to use`),t;i=r(o)}return t[n]=i,t}),{})};return this.currentContext=i,i})).compose(ye(t)).startWith({}),this.context$.subscribe({next:t=>t})}initModel$(){if(void 0===this.model)return void(this.model$=this.sourceNames.reduce(((t,e)=>(t[e]=oe.never(),t)),{}));const t={type:Ze,data:this.initialState};this.isSubComponent&&this.initialState&&console.warn(`[${this.name}] Initial state provided to sub-component. This will overwrite any state provided by the parent component.`);const e=this.initialState?Me(oe.of(t),this.action$).compose(Ge(0)):this.action$,n=()=>this.makeOnAction(e,!0,this.action$),r=()=>this.makeOnAction(this.action$,!1,this.action$),o=Object.entries(this.model),i={};o.forEach((t=>{let[e,o]=t;if("function"==typeof o&&(o={[this.stateSourceName]:o}),"object"!=typeof o)throw new Error(`Entry for each action must be an object: ${this.name} ${e}`);Object.entries(o).forEach((t=>{const[o,s]=t,a=o==this.stateSourceName,c=(a?n():r())(e,s).compose(this.log((t=>{if(a)return`State reducer added: <${e}>`;{const n=t&&(t.type||t.command||t.name||t.key||Array.isArray(t)&&"Array"||t);return`Data sent to [${o}]: <${e}> ${JSON.stringify(n)}`}})));Array.isArray(i[o])?i[o].push(c):i[o]=[c]}))}));const s=Object.entries(i).reduce(((t,e)=>{const[n,r]=e;return t[n]=oe.merge(oe.never(),...r),t}),{});this.model$=s}initSendResponse$(){const t=typeof this.response;if("function"!=t&&"undefined"!=t)throw new Error("The response parameter must be a function");if("undefined"==t)return this.response$&&this.response$.subscribe({next:this.log((({_reqId:t,_action:e})=>`Unhandled response for request: ${e} ${t}`))}),void(this.sendResponse$=oe.never());const e={select:t=>void 0===t?this.response$:(Array.isArray(t)||(t=[t]),this.response$.filter((({_action:e})=>!(t.length>0)||("FUNCTION"===e||t.includes(e)))))},n=this.response(e);if("object"!=typeof n)throw new Error("The response function must return an object");const r=Object.entries(n).reduce(((t,[e,n])=>[...t,n.map((({_reqId:t,_action:n,data:r})=>{if(!t)throw new Error(`No request id found for response for: ${e}`);return{_reqId:t,_action:n,command:e,data:r}}))]),[]);this.sendResponse$=oe.merge(...r).compose(this.log((({_reqId:t,_action:e})=>`[${this.requestSourceName}] response sent for: <${e}>`)))}initChildren$(){const t=this.sourceNames.reduce(((t,e)=>(e==this.DOMSourceName?t[e]={}:t[e]=[],t)),{});this.children$=Object.entries(this.children).reduce(((t,[e,n])=>{const r=n(this.sources);return this.sourceNames.forEach((n=>{n==this.DOMSourceName?t[n][e]=r[n]:t[n].push(r[n])})),t}),t)}initSubComponentSink$(){const t=oe.create({start:t=>{this.newSubComponentSinks=t.next.bind(t)},stop:t=>{}});t.subscribe({next:t=>t}),this.subComponentSink$=t.filter((t=>Object.keys(t).length>0))}initSubComponentsRendered$(){const t=oe.create({start:t=>{this.triggerSubComponentsRendered=t.next.bind(t)},stop:t=>{}});this.subComponentsRendered$=t.startWith(null)}initVdom$(){if("function"!=typeof this.view)return void(this.vdom$=oe.of(null));const t=this.collectRenderParameters();this.vdom$=t.map(this.view).map((t=>t||{sel:"div",data:{},children:[]})).compose(this.instantiateSubComponents.bind(this)).filter((t=>void 0!==t)).compose(this.renderVdom.bind(this))}initSinks(){this.sinks=this.sourceNames.reduce(((t,e)=>{if(e==this.DOMSourceName)return t;const n=this.subComponentSink$?this.subComponentSink$.map((t=>t[e])).filter((t=>!!t)).flatten():oe.never();return e===this.stateSourceName?t[e]=oe.merge(this.model$[e]||oe.never(),n,this.sources[this.stateSourceName].stream.filter((t=>!1)),...this.children$[e]):t[e]=oe.merge(this.model$[e]||oe.never(),n,...this.children$[e]),t}),{}),this.sinks[this.DOMSourceName]=this.vdom$,this.sinks[this.requestSourceName]=oe.merge(this.sendResponse$,this.sinks[this.requestSourceName])}makeOnAction(t,e=!0,n){return n=n||t,(r,o)=>{const i=t.filter((({type:t})=>t==r));let s;if("function"==typeof o)s=i.map((t=>{const i=(e,o,i=10)=>{if("number"!=typeof i)throw new Error(`[${this.name} ] Invalid delay value provided to next() function in model action '${r}'. Must be a number in ms.`);const s=t._reqId||t.req&&t.req.id,a=s?"object"==typeof o?{...o,_reqId:s,_action:r}:{data:o,_reqId:s,_action:r}:o;setTimeout((()=>{n.shamefullySendNext({type:e,data:a})}),i)};let s=t.data;if(s&&s.data&&s._reqId&&(s=s.data),e)return e=>{const n=this.isSubComponent?this.currentState:e,r=this.addCalculated(n),a=o(r,s,i,t.req);return a==Qe?n:this.cleanupCalculated(a)};{const e=this.addCalculated(this.currentState),n=o(e,s,i,t.req),a=typeof n,c=t._reqId||t.req&&t.req.id;if(["string","number","boolean","function"].includes(a))return n;if("object"==a)return{...n,_reqId:c,_action:r};if("undefined"==a)return console.warn(`'undefined' value sent to ${r}`),n;throw new Error(`Invalid reducer type for ${r} ${a}`)}})).filter((t=>t!=Qe));else if(void 0===o||!0===o)s=i.map((({data:t})=>t));else{const t=o;s=i.mapTo(t)}return s}}createMemoizedAddCalculated(){let t,e;return function(n){if(!this.calculated||"object"!=typeof n||n instanceof Array)return n;if(n===t)return e;if("object"!=typeof this.calculated)throw new Error("'calculated' parameter must be an object mapping calculated state field named to functions");const r=Object.entries(this.calculated);if(0===r.length)return t=n,e=n,n;const o=r.reduce(((t,[e,r])=>{if("function"!=typeof r)throw new Error(`Missing or invalid calculator function for calculated field '${e}`);try{t[e]=r(n)}catch(t){console.warn(`Calculated field '${e}' threw an error during calculation: ${t.message}`)}return t}),{}),i={...n,...o,__context:this.currentContext};return t=n,e=i,i}}cleanupCalculated(t){if(!t||"object"!=typeof t||t instanceof Array)return t;const e=this.storeCalculatedInState?this.addCalculated(t):t,{__props:n,__children:r,__context:o,...i}=e,s={...i};if(!this.calculated)return s;return Object.keys(this.calculated).forEach((t=>{this.initialState&&void 0!==this.initialState[t]?s[t]=this.initialState[t]:delete s[t]})),s}collectRenderParameters(){const t=this.sources[this.stateSourceName],e={...this.children$[this.DOMSourceName]},n=t&&t.isolateSource(t,{get:t=>this.addCalculated(t)}),r=n&&n.stream||oe.never(),o=(t,e)=>{const{state:n,sygnalFactory:r,__props:o,__children:i,__context:s,...a}=t,c=Object.keys(a);if(0===c.length){const{state:t,sygnalFactory:n,__props:r,__children:o,__context:i,...s}=e;return 0===Object.keys(s).length}return c.every((n=>t[n]===e[n]))},i=(t,e)=>{if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0};e.state=r.compose(ye(o)),this.sources.props$&&(e.__props=this.sources.props$.compose(ye(o))),this.sources.children$&&(e.__children=this.sources.children$.compose(ye(i))),this.context$&&(e.__context=this.context$.compose(ye(o)));const s=[],a=[];Object.entries(e).forEach((([t,e])=>{s.push(t),a.push(e)}));return oe.combine(...a).map((t=>s.reduce(((e,n,r)=>(e[n]=t[r],"state"===n&&(e[this.stateSourceName]=t[r]),e)),{})))}instantiateSubComponents(t){return t.fold(((t,e)=>{const n=en(e,Object.keys(this.components)),r=Object.entries(n),o={"::ROOT::":e};if(0===r.length)return o;const i={},s=r.reduce(((e,[n,r])=>{const o=r.data,s=o.props||{},a=r.children||[],c=o.isCollection||!1,u=o.isSwitchable||!1,l=t=>{Object.entries(t).map((([t,e])=>{i[t]||=[],t!==this.DOMSourceName&&i[t].push(e)}))};if(t[n]){const r=t[n];return e[n]=r,r.props$.shamefullySendNext(s),r.children$.shamefullySendNext(a),l(r.sink$),e}const p=oe.create().startWith(s),f=oe.create().startWith(a);let h;h=c?this.instantiateCollection.bind(this):u?this.instantiateSwitchable.bind(this):this.instantiateCustomComponent.bind(this);const d=h(r,p,f);return d[this.DOMSourceName]=d[this.DOMSourceName]?this.makeCoordinatedSubComponentDomSink(d[this.DOMSourceName]):oe.never(),e[n]={sink$:d,props$:p,children$:f},l(d),e}),o),a=Object.entries(i).reduce(((t,[e,n])=>(0===n.length||(t[e]=1===n.length?n[0]:oe.merge(...n)),t)),{});return this.newSubComponentSinks(a),s}),{})}makeCoordinatedSubComponentDomSink(t){const e=t.remember(),n=this.sources[this.stateSourceName].stream.compose(ye(((t,e)=>JSON.stringify(t)===JSON.stringify(e)))).map((t=>e)).compose(He(10)).flatten().debug((t=>this.triggerSubComponentsRendered())).remember();return n}instantiateCollection(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n,__context:this.currentContext}:{value:t,__props:e,__children:n,__context:this.currentContext})),i=new we(o),s=r.from;let a;const c="function"==typeof r.of?r.of:this.components[r.of],u=t=>{if("object"==typeof t){const{__props:e,__children:n,__context:r,...o}=t;return o}return t},l={get:t=>{const{__props:e,__children:n}=t;return Array.isArray(t[s])?t[s].map((t=>"object"==typeof t?{...t,__props:e,__children:n,__context:this.currentContext}:{value:t,__props:e,__children:n,__context:this.currentContext})):[]},set:(t,e)=>this.calculated&&s in this.calculated?(console.warn(`Collection sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t):{...t,[s]:e.map(u)}};void 0===s?a={get:t=>!(t instanceof Array)&&t.value&&t.value instanceof Array?t.value:t,set:(t,e)=>e}:"string"==typeof s?"object"==typeof this.currentState?this.currentState&&s in this.currentState||this.calculated&&s in this.calculated?(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection comopnent of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):(console.error(`Collection component in ${this.name} is attempting to use non-existent state property '${s}': To fix this error, specify a valid array property on the state. Attempting to use parent component state.`),a=void 0):(Array.isArray(this.currentState[s])||console.warn(`State property '${s}' in collection component of ${this.name} is not an array: No components will be instantiated in the collection.`),a=l):"object"==typeof s?"function"!=typeof s.get?(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0):a={get:t=>{const e=s.get(t);return Array.isArray(e)?e:(console.warn(`State getter function in collection component of ${this.name} did not return an array: No components will be instantiated in the collection. Returned value:`,e),[])},set:s.set}:(console.error(`Collection component in ${this.name} has an invalid 'from' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting child state from the current state. Attempting to use parent component state.`),a=void 0);const p={...this.sources,[this.stateSourceName]:i,props$:e,children$:n,__parentContext$:this.context$},f=Fe(c,a,{container:null})(p);if("object"!=typeof f)throw new Error("Invalid sinks returned from component factory of collection element");return f}instantiateSwitchable(t,e,n){const r=t.data.props||{};t.children;const o=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n,__context:this.currentContext}:{value:t,__props:e,__children:n,__context:this.currentContext})),i=new we(o),s=r.state;let a;const c={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,__context:o,...i}=e;return i}};void 0===s?a=c:"string"==typeof s?a={get:t=>{const{__props:e,__children:n}=t;return"object"!=typeof t[s]||t[s]instanceof Array?{value:t[s],__props:e,__children:n,__context:this.currentContext}:{...t[s],__props:e,__children:n,__context:this.currentContext}},set:(t,e)=>{if(this.calculated&&s in this.calculated)return console.warn(`Switchable sub-component of ${this.name} attempted to update state on a calculated field '${s}': Update ignored`),t;if("object"!=typeof e||e instanceof Array)return{...t,[s]:e};const{__props:n,__children:r,__context:o,...i}=e;return{...t,[s]:i}}}:"object"==typeof s?"function"!=typeof s.get?(console.error(`Switchable component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),a=c):a={get:s.get,set:s.set}:(console.error(`Invalid state provided to switchable sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof s}. Attempting to use parent component state.`),a=c);const u=r.of,l={...this.sources,[this.stateSourceName]:i,props$:e,children$:n,__parentContext$:this.context$},p=le(Be(u,e.map((t=>t.current))),{[this.stateSourceName]:a})(l);if("object"!=typeof p)throw new Error("Invalid sinks returned from component factory of switchable element");return p}instantiateCustomComponent(t,e,n){const r=t.sel,o=t.data.props||{};t.children;const i=oe.combine(this.sources[this.stateSourceName].stream.startWith(this.currentState),e,n).map((([t,e,n])=>"object"==typeof t?{...this.addCalculated(t),__props:e,__children:n,__context:this.currentContext}:{value:t,__props:e,__children:n,__context:this.currentContext})),s=new we(i),a=o.state,c="sygnal-factory"===r?o.sygnalFactory:this.components[r]||o.sygnalFactory;if(!c){if("sygnal-factory"===r)throw new Error("Component not found on element with Capitalized selector and nameless function: JSX transpilation replaces selectors starting with upper case letters with functions in-scope with the same name, Sygnal cannot see the name of the resulting component.");throw new Error(`Component not found: ${r}`)}let u;const l={get:t=>t,set:(t,e)=>{if("object"!=typeof e||e instanceof Array)return e;const{__props:n,__children:r,__context:o,...i}=e;return i}};void 0===a?u=l:"string"==typeof a?u={get:t=>{const{__props:e,__children:n}=t;return"object"==typeof t[a]?{...t[a],__props:e,__children:n,__context:this.currentContext}:{value:t[a],__props:e,__children:n,__context:this.currentContext}},set:(t,e)=>this.calculated&&a in this.calculated?(console.warn(`Sub-component of ${this.name} attempted to update state on a calculated field '${a}': Update ignored`),t):{...t,[a]:e}}:"object"==typeof a?"function"!=typeof a.get?(console.error(`Sub-component in ${this.name} has an invalid 'state' field: Expecting 'undefined', a string indicating an array property in the state, or an object with 'get' and 'set' functions for retrieving and setting sub-component state from the current state. Attempting to use parent component state.`),u=l):u={get:a.get,set:a.set}:(console.error(`Invalid state provided to sub-component of ${this.name}: Expecting string, object, or undefined, but found ${typeof a}. Attempting to use parent component state.`),u=l);const p={...this.sources,[this.stateSourceName]:s,props$:e,children$:n,__parentContext$:this.context$},f=le(c,{[this.stateSourceName]:u})(p);if("object"!=typeof f){throw new Error("Invalid sinks returned from component factory:","sygnal-factory"===r?"custom element":r)}return f}renderVdom(t){return oe.combine(this.subComponentsRendered$,t).compose(He(5)).map((([t,e])=>{const n=Object.keys(this.components),r=e["::ROOT::"],o=Object.entries(e).filter((([t])=>"::ROOT::"!==t));if(0===o.length)return oe.of(r);const i=[],s=o.map((([t,e])=>(i.push(t),e.sink$[this.DOMSourceName].startWith(void 0))));return 0===s.length?oe.of(r):oe.combine(...s).compose(He(10)).map((t=>{const e=t.reduce(((t,e,n)=>(t[i[n]]=e,t)),{});return nn(sn(r),e,n)}))})).flatten().filter((t=>!!t)).remember().compose(this.log("View Rendered"))}}function en(t,e,n=0,r=0){if(!t)return{};if(t.data?.componentsProcessed)return{};0===n&&(t.data.componentsProcessed=!0);const o=t.sel,i=o&&"collection"===o.toLowerCase(),s=o&&"switchable"===o.toLowerCase(),a=o&&["collection","switchable","sygnal-factory",...e].includes(o)||"function"==typeof t.data?.props?.sygnalFactory,c=t.data&&t.data.props||{};t.data&&t.data.attrs;const u=t.children||[];let l={};if(a){const o=on(t,n,r);if(i){if(!c.of)throw new Error("Collection element missing required 'component' property");if("string"!=typeof c.of&&"function"!=typeof c.of)throw new Error(`Invalid 'component' property of collection element: found ${typeof c.of} requires string or component factory function`);if("function"!=typeof c.of&&!e.includes(c.of))throw new Error(`Specified component for collection not found: ${c.of}`);void 0===c.from||"string"==typeof c.from||Array.isArray(c.from)||"function"==typeof c.from.get||console.warn(`No valid array found for collection ${"string"==typeof c.of?c.of:"function component"}: no collection components will be created`,c.from),t.data.isCollection=!0,t.data.props||={}}else if(s){if(!c.of)throw new Error("Switchable element missing required 'of' property");if("object"!=typeof c.of)throw new Error(`Invalid 'of' property of switchable element: found ${typeof c.of} requires object mapping names to component factories`);if(!Object.values(c.of).every((t=>"function"==typeof t)))throw new Error("One or more components provided to switchable element is not a valid component factory");if(!c.current||"string"!=typeof c.current&&"function"!=typeof c.current)throw new Error(`Missing or invalid 'current' property for switchable element: found '${typeof c.current}' requires string or function`);if(!Object.keys(c.of).includes(c.current))throw new Error(`Component '${c.current}' not found in switchable element`);t.data.isSwitchable=!0}void 0===c.key&&(t.data.props.key=o),l[o]=t}return u.length>0&&u.map(((t,o)=>en(t,e,n+1,r+o))).forEach((t=>{Object.entries(t).forEach((([t,e])=>l[t]=e))})),l}function nn(t,e,n,r=0,o=0){if(!t)return;if(t.data?.componentsInjected)return t;0===r&&t.data&&(t.data.componentsInjected=!0);const i=t.sel||"NO SELECTOR",s=["collection","switchable","sygnal-factory",...n].includes(i)||"function"==typeof t.data?.props?.sygnalFactory,a=t?.data?.isCollection;t.data&&t.data.props;const c=t.children||[];if(s){const n=on(t,r,o),i=e[n];return a?(t.sel="div",t.children=Array.isArray(i)?i:[i],t):i}return c.length>0?(t.children=c.map(((t,i)=>nn(t,e,n,r+1,o+i))).flat(),t):t}const rn=new Map;function on(t,e,n){const r=t.sel,o="string"==typeof r?r:"functionComponent";let i=rn.get(r);if(!i){i=`${Date.now()}-${Math.floor(1e4*Math.random())}`,rn.set(r,i)}const s=`${i}-${e}-${n}`,a=t.data&&t.data.props||{};return`${o}::${a.id&&JSON.stringify(a.id)||s}`}function sn(t){return void 0===t?t:{...t,children:Array.isArray(t.children)?t.children.map(sn):void 0,data:t.data&&{...t.data,componentsInjected:!1}}}function an(t){return function(){var t;return(t="undefined"!=typeof window?window:"undefined"!=typeof global?global:this).Cyclejs=t.Cyclejs||{},(t=t.Cyclejs).adaptStream=t.adaptStream||function(t){return t},t}().adaptStream(t)}function cn(t){return 0===Object.keys(t).length}function un(t,e){if("function"!=typeof t)throw new Error("First argument given to Cycle must be the 'main' function.");if("object"!=typeof e||null===e)throw new Error("Second argument given to Cycle must be an object with driver functions as properties.");if(cn(e))throw new Error("Second argument given to Cycle must be an object with at least one driver function declared as a property.");var n=function(t){if("object"!=typeof t||null===t)throw new Error("Argument given to setupReusable must be an object with driver functions as properties.");if(cn(t))throw new Error("Argument given to setupReusable must be an object with at least one driver function declared as a property.");var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=oe.create());return e}(t),n=function(t,e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r](e[r],r),n[r]&&"object"==typeof n[r]&&(n[r]._isCycleSource=r));return n}(t,e),r=function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&"function"==typeof t[e].shamefullySendNext&&(t[e]=an(t[e]));return t}(n);function o(t){return function(t,e){var n=De(),r=Object.keys(t).filter((function(t){return!!e[t]})),o={},i={};r.forEach((function(t){o[t]={_n:[],_e:[]},i[t]={next:function(e){return o[t]._n.push(e)},error:function(e){return o[t]._e.push(e)},complete:function(){}}}));var s=r.map((function(e){return oe.fromObservable(t[e]).subscribe(i[e])}));return r.forEach((function(t){var r=e[t],s=function(t){n((function(){return r._n(t)}))},a=function(t){n((function(){(console.error||console.log)(t),r._e(t)}))};o[t]._n.forEach(s),o[t]._e.forEach(a),i[t].next=s,i[t].error=a,i[t]._n=s,i[t]._e=a})),o=null,function(){s.forEach((function(t){return t.unsubscribe()}))}}(t,e)}function i(){!function(t){for(var e in t)t.hasOwnProperty(e)&&t[e]&&t[e].dispose&&t[e].dispose()}(r),function(t){Object.keys(t).forEach((function(e){return t[e]._c()}))}(e)}return{sources:r,run:o,dispose:i}}(e),r=t(n.sources);return"undefined"!=typeof window&&(window.Cyclejs=window.Cyclejs||{},window.Cyclejs.sinks=r),{sinks:r,sources:n.sources,run:function(){var t=n.run(r);return function(){t(),n.dispose()}}}}function ln(t){if(pn(t)){for(;t&&pn(t);){t=fn(t).parent}return null!=t?t:null}return t.parentNode}function pn(t){return 11===t.nodeType}function fn(t,e){var n,r,o;const i=t;return null!==(n=i.parent)&&void 0!==n||(i.parent=null!=e?e:null),null!==(r=i.firstChildNode)&&void 0!==r||(i.firstChildNode=t.firstChild),null!==(o=i.lastChildNode)&&void 0!==o||(i.lastChildNode=t.lastChild),i}const hn={createElement:function(t,e){return document.createElement(t,e)},createElementNS:function(t,e,n){return document.createElementNS(t,e,n)},createTextNode:function(t){return document.createTextNode(t)},createDocumentFragment:function(){return fn(document.createDocumentFragment())},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){if(pn(t)){let e=t;for(;e&&pn(e);){e=fn(e).parent}t=null!=e?e:t}pn(e)&&(e=fn(e,t)),n&&pn(n)&&(n=fn(n).firstChildNode),t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){pn(e)&&(e=fn(e,t)),t.appendChild(e)},parentNode:ln,nextSibling:function(t){var e;if(pn(t)){const n=fn(t),r=ln(n);if(r&&n.lastChildNode){const t=Array.from(r.childNodes),o=t.indexOf(n.lastChildNode);return null!==(e=t[o+1])&&void 0!==e?e:null}return null}return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},getTextContent:function(t){return t.textContent},isElement:function(t){return 1===t.nodeType},isText:function(t){return 3===t.nodeType},isComment:function(t){return 8===t.nodeType},isDocumentFragment:pn};function dn(t,e,n,r,o){return{sel:t,data:e,children:n,text:r,elm:o,key:void 0===e?void 0:e.key}}const yn=Array.isArray;function mn(t){return"string"==typeof t||"number"==typeof t||t instanceof String||t instanceof Number}function vn(t){return void 0===t}function _n(t){return void 0!==t}const gn=dn("",{},[],void 0,void 0);function bn(t,e){var n,r;const o=t.key===e.key,i=(null===(n=t.data)||void 0===n?void 0:n.is)===(null===(r=e.data)||void 0===r?void 0:r.is),s=t.sel===e.sel,a=!(!t.sel&&t.sel===e.sel)||typeof t.text==typeof e.text;return s&&o&&i&&a}function wn(){throw new Error("The document fragment is not supported on this platform.")}function Sn(t,e,n){var r;const o={};for(let i=e;i<=n;++i){const e=null===(r=t[i])||void 0===r?void 0:r.key;void 0!==e&&(o[e]=i)}return o}const An=["create","update","remove","destroy","pre","post"];function On(t,e,n){const r={create:[],update:[],remove:[],destroy:[],pre:[],post:[]},o=void 0!==e?e:hn;for(const e of An)for(const n of t){const t=n[e];void 0!==t&&r[e].push(t)}function i(t){const e=t.id?"#"+t.id:"",n=t.getAttribute("class"),r=n?"."+n.split(" ").join("."):"";return dn(o.tagName(t).toLowerCase()+e+r,{},[],void 0,t)}function s(t){return dn(void 0,{},[],void 0,t)}function a(t,e){return function(){if(0==--e){const e=o.parentNode(t);o.removeChild(e,t)}}}function c(t,e){var i,s,a,u;let l,p=t.data;if(void 0!==p){const e=null===(i=p.hook)||void 0===i?void 0:i.init;_n(e)&&(e(t),p=t.data)}const f=t.children,h=t.sel;if("!"===h)vn(t.text)&&(t.text=""),t.elm=o.createComment(t.text);else if(void 0!==h){const n=h.indexOf("#"),i=h.indexOf(".",n),a=n>0?n:h.length,u=i>0?i:h.length,d=-1!==n||-1!==i?h.slice(0,Math.min(a,u)):h,y=t.elm=_n(p)&&_n(l=p.ns)?o.createElementNS(l,d,p):o.createElement(d,p);for(a<u&&y.setAttribute("id",h.slice(a+1,u)),i>0&&y.setAttribute("class",h.slice(u+1).replace(/\./g," ")),l=0;l<r.create.length;++l)r.create[l](gn,t);if(yn(f))for(l=0;l<f.length;++l){const t=f[l];null!=t&&o.appendChild(y,c(t,e))}else mn(t.text)&&o.appendChild(y,o.createTextNode(t.text));const m=t.data.hook;_n(m)&&(null===(s=m.create)||void 0===s||s.call(m,gn,t),m.insert&&e.push(t))}else if((null===(a=null==n?void 0:n.experimental)||void 0===a?void 0:a.fragments)&&t.children){for(t.elm=(null!==(u=o.createDocumentFragment)&&void 0!==u?u:wn)(),l=0;l<r.create.length;++l)r.create[l](gn,t);for(l=0;l<t.children.length;++l){const n=t.children[l];null!=n&&o.appendChild(t.elm,c(n,e))}}else t.elm=o.createTextNode(t.text);return t.elm}function u(t,e,n,r,i,s){for(;r<=i;++r){const i=n[r];null!=i&&o.insertBefore(t,c(i,s),e)}}function l(t){var e,n;const o=t.data;if(void 0!==o){null===(n=null===(e=null==o?void 0:o.hook)||void 0===e?void 0:e.destroy)||void 0===n||n.call(e,t);for(let e=0;e<r.destroy.length;++e)r.destroy[e](t);if(void 0!==t.children)for(let e=0;e<t.children.length;++e){const n=t.children[e];null!=n&&"string"!=typeof n&&l(n)}}}function p(t,e,n,i){for(var s,c;n<=i;++n){let i,u;const f=e[n];if(null!=f)if(_n(f.sel)){l(f),i=r.remove.length+1,u=a(f.elm,i);for(let t=0;t<r.remove.length;++t)r.remove[t](f,u);const t=null===(c=null===(s=null==f?void 0:f.data)||void 0===s?void 0:s.hook)||void 0===c?void 0:c.remove;_n(t)?t(f,u):u()}else f.children?(l(f),p(t,f.children,0,f.children.length-1)):o.removeChild(t,f.elm)}}function f(t,e,n){var i,s,a,l,h,d,y,m;const v=null===(i=e.data)||void 0===i?void 0:i.hook;null===(s=null==v?void 0:v.prepatch)||void 0===s||s.call(v,t,e);const _=e.elm=t.elm;if(t===e)return;if(void 0!==e.data||_n(e.text)&&e.text!==t.text){null!==(a=e.data)&&void 0!==a||(e.data={}),null!==(l=t.data)&&void 0!==l||(t.data={});for(let n=0;n<r.update.length;++n)r.update[n](t,e);null===(y=null===(d=null===(h=e.data)||void 0===h?void 0:h.hook)||void 0===d?void 0:d.update)||void 0===y||y.call(d,t,e)}const g=t.children,b=e.children;vn(e.text)?_n(g)&&_n(b)?g!==b&&function(t,e,n,r){let i,s,a,l,h=0,d=0,y=e.length-1,m=e[0],v=e[y],_=n.length-1,g=n[0],b=n[_];for(;h<=y&&d<=_;)null==m?m=e[++h]:null==v?v=e[--y]:null==g?g=n[++d]:null==b?b=n[--_]:bn(m,g)?(f(m,g,r),m=e[++h],g=n[++d]):bn(v,b)?(f(v,b,r),v=e[--y],b=n[--_]):bn(m,b)?(f(m,b,r),o.insertBefore(t,m.elm,o.nextSibling(v.elm)),m=e[++h],b=n[--_]):bn(v,g)?(f(v,g,r),o.insertBefore(t,v.elm,m.elm),v=e[--y],g=n[++d]):(void 0===i&&(i=Sn(e,h,y)),s=i[g.key],vn(s)?o.insertBefore(t,c(g,r),m.elm):(a=e[s],a.sel!==g.sel?o.insertBefore(t,c(g,r),m.elm):(f(a,g,r),e[s]=void 0,o.insertBefore(t,a.elm,m.elm))),g=n[++d]);d<=_&&(l=null==n[_+1]?null:n[_+1].elm,u(t,l,n,d,_,r)),h<=y&&p(t,e,h,y)}(_,g,b,n):_n(b)?(_n(t.text)&&o.setTextContent(_,""),u(_,null,b,0,b.length-1,n)):_n(g)?p(_,g,0,g.length-1):_n(t.text)&&o.setTextContent(_,""):t.text!==e.text&&(_n(g)&&p(_,g,0,g.length-1),o.setTextContent(_,e.text)),null===(m=null==v?void 0:v.postpatch)||void 0===m||m.call(v,t,e)}return function(t,e){let n,a,u;const l=[];for(n=0;n<r.pre.length;++n)r.pre[n]();for(!function(t,e){return t.isElement(e)}(o,t)?function(t,e){return t.isDocumentFragment(e)}(o,t)&&(t=s(t)):t=i(t),bn(t,e)?f(t,e,l):(a=t.elm,u=o.parentNode(a),c(e,l),null!==u&&(o.insertBefore(u,e.elm,o.nextSibling(a)),p(u,[t],0,0))),n=0;n<l.length;++n)l[n].data.hook.insert(l[n]);for(n=0;n<r.post.length;++n)r.post[n]();return e}}function En(t,e,n){if(t.ns="http://www.w3.org/2000/svg","foreignObject"!==n&&void 0!==e)for(let t=0;t<e.length;++t){const n=e[t];if("string"==typeof n)continue;const r=n.data;void 0!==r&&En(r,n.children,n.sel)}}function $n(t,e,n){let r,o,i,s={};if(void 0!==n?(null!==e&&(s=e),yn(n)?r=n:mn(n)?o=n.toString():n&&n.sel&&(r=[n])):null!=e&&(yn(e)?r=e:mn(e)?o=e.toString():e&&e.sel?r=[e]:s=e),void 0!==r)for(i=0;i<r.length;++i)mn(r[i])&&(r[i]=dn(void 0,void 0,void 0,r[i],void 0));return"s"!==t[0]||"v"!==t[1]||"g"!==t[2]||3!==t.length&&"."!==t[3]&&"#"!==t[3]||En(s,r,t),dn(t,s,r,o,void 0)}function jn(t,e){const n=void 0!==e?e:hn;let r;if(n.isElement(t)){const r=t.id?"#"+t.id:"",o=t.getAttribute("class"),i=o?"."+o.split(" ").join("."):"",s=n.tagName(t).toLowerCase()+r+i,a={},c={},u={},l=[];let p,f,h;const d=t.attributes,y=t.childNodes;for(f=0,h=d.length;f<h;f++)p=d[f].nodeName,"d"===p[0]&&"a"===p[1]&&"t"===p[2]&&"a"===p[3]&&"-"===p[4]?c[p.slice(5)]=d[f].nodeValue||"":"id"!==p&&"class"!==p&&(a[p]=d[f].nodeValue);for(f=0,h=y.length;f<h;f++)l.push(jn(y[f],e));return Object.keys(a).length>0&&(u.attrs=a),Object.keys(c).length>0&&(u.dataset=c),"s"!==s[0]||"v"!==s[1]||"g"!==s[2]||3!==s.length&&"."!==s[3]&&"#"!==s[3]||En(u,l,s),dn(s,u,l,void 0,t)}return n.isText(t)?(r=n.getTextContent(t),dn(void 0,void 0,void 0,r,t)):n.isComment(t)?(r=n.getTextContent(t),dn("!",{},[],r,t)):dn("",{},[],void 0,t)}function Cn(t,e){let n;const r=e.elm;let o=t.data.attrs,i=e.data.attrs;if((o||i)&&o!==i){for(n in o=o||{},i=i||{},i){const t=i[n];o[n]!==t&&(!0===t?r.setAttribute(n,""):!1===t?r.removeAttribute(n):120!==n.charCodeAt(0)?r.setAttribute(n,t):58===n.charCodeAt(3)?r.setAttributeNS("http://www.w3.org/XML/1998/namespace",n,t):58===n.charCodeAt(5)?r.setAttributeNS("http://www.w3.org/1999/xlink",n,t):r.setAttribute(n,t))}for(n in o)n in i||r.removeAttribute(n)}}const xn={create:Cn,update:Cn};function Nn(t,e){let n,r;const o=e.elm;let i=t.data.class,s=e.data.class;if((i||s)&&i!==s){for(r in i=i||{},s=s||{},i)i[r]&&!Object.prototype.hasOwnProperty.call(s,r)&&o.classList.remove(r);for(r in s)n=s[r],n!==i[r]&&o.classList[n?"add":"remove"](r)}}const kn={create:Nn,update:Nn},In=/[A-Z]/g;function Pn(t,e){const n=e.elm;let r,o=t.data.dataset,i=e.data.dataset;if(!o&&!i)return;if(o===i)return;o=o||{},i=i||{};const s=n.dataset;for(r in o)i[r]||(s?r in s&&delete s[r]:n.removeAttribute("data-"+r.replace(In,"-$&").toLowerCase()));for(r in i)o[r]!==i[r]&&(s?s[r]=i[r]:n.setAttribute("data-"+r.replace(In,"-$&").toLowerCase(),i[r]))}const Mn={create:Pn,update:Pn};function Tn(t,e){let n,r,o;const i=e.elm;let s=t.data.props,a=e.data.props;if((s||a)&&s!==a)for(n in s=s||{},a=a||{},a)r=a[n],o=s[n],o===r||"value"===n&&i[n]===r||(i[n]=r)}const Dn={create:Tn,update:Tn},Ln="undefined"!=typeof window&&window.requestAnimationFrame.bind(window)||setTimeout,Fn=function(t){Ln((function(){Ln(t)}))};let Bn=!1;function Rn(t,e,n){Fn((function(){t[e]=n}))}function qn(t,e){let n,r;const o=e.elm;let i=t.data.style,s=e.data.style;if(!i&&!s)return;if(i===s)return;i=i||{},s=s||{};const a="delayed"in i;for(r in i)s[r]||("-"===r[0]&&"-"===r[1]?o.style.removeProperty(r):o.style[r]="");for(r in s)if(n=s[r],"delayed"===r&&s.delayed)for(const t in s.delayed)n=s.delayed[t],a&&n===i.delayed[t]||Rn(o.style,t,n);else"remove"!==r&&n!==i[r]&&("-"===r[0]&&"-"===r[1]?o.style.setProperty(r,n):o.style[r]=n)}const Un={pre:function(){Bn=!1},create:qn,update:qn,destroy:function(t){let e,n;const r=t.elm,o=t.data.style;if(o&&(e=o.destroy))for(n in e)r.style[n]=e[n]},remove:function(t,e){const n=t.data.style;if(!n||!n.remove)return void e();let r;Bn||(t.elm.offsetLeft,Bn=!0);const o=t.elm;let i=0;const s=n.remove;let a=0;const c=[];for(r in s)c.push(r),o.style[r]=s[r];const u=getComputedStyle(o)["transition-property"].split(", ");for(;i<u.length;++i)-1!==c.indexOf(u[i])&&a++;o.addEventListener("transitionend",(function(t){t.target===o&&--a,0===a&&e()}))}};function Wn(t,e){e.elm=t.elm,t.data.fn=e.data.fn,t.data.args=e.data.args,t.data.isolate=e.data.isolate,e.data=t.data,e.children=t.children,e.text=t.text,e.elm=t.elm}function Gn(t){var e=t.data;Wn(e.fn.apply(void 0,e.args),t)}function Vn(t,e){var n,r=t.data,o=e.data,i=r.args,s=o.args;for(r.fn===o.fn&&i.length===s.length||Wn(o.fn.apply(void 0,s),e),n=0;n<s.length;++n)if(i[n]!==s[n])return void Wn(o.fn.apply(void 0,s),e);Wn(t,e)}function zn(t,e,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=null;return ee.create({start:function(s){i=r?function(t){Hn(t,r),s.next(t)}:function(t){s.next(t)},t.addEventListener(e,i,{capture:n,passive:o})},stop:function(){t.removeEventListener(e,i,n),i=null}})}function Jn(t,e){for(var n=Object.keys(t),r=n.length,o=0;o<r;o++){var i=n[o];if("object"==typeof t[i]&&"object"==typeof e[i]){if(!Jn(t[i],e[i]))return!1}else if(t[i]!==e[i])return!1}return!0}function Hn(t,e){if(e)if("boolean"==typeof e)t.preventDefault();else if("function"==typeof e)e(t)&&t.preventDefault();else{if("object"!=typeof e)throw new Error("preventDefault has to be either a boolean, predicate function or object");Jn(e,t)&&t.preventDefault()}}var Xn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=zn(document,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}(),Yn=function(){function t(t){this._name=t}return t.prototype.select=function(t){return this},t.prototype.elements=function(){var t=ae(oe.of([document.body]));return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(oe.of(document.body));return t._isCycleSource=this._name,t},t.prototype.events=function(t,e,n){var r;void 0===e&&(e={}),r=zn(document.body,t,e.useCapture,e.preventDefault);var o=ae(r);return o._isCycleSource=this._name,o},t}();function Zn(t){if("string"!=typeof t&&(e=t,!("object"==typeof HTMLElement?e instanceof HTMLElement||e instanceof DocumentFragment:e&&"object"==typeof e&&null!==e&&(1===e.nodeType||11===e.nodeType)&&"string"==typeof e.nodeName)))throw new Error("Given container is not a DOM element neither a selector string.");var e}function Kn(t){for(var e="",n=t.length-1;n>=0&&"selector"===t[n].type;n--)e=t[n].scope+" "+e;return e.trim()}function Qn(t,e){if(!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n].type!==e[n].type||t[n].scope!==e[n].scope)return!1;return!0}var tr=function(){function t(t,e){this.namespace=t,this.isolateModule=e,this._namespace=t.filter((function(t){return"selector"!==t.type}))}return t.prototype.isDirectlyInScope=function(t){var e=this.isolateModule.getNamespace(t);if(!e)return!1;if(this._namespace.length>e.length||!Qn(this._namespace,e.slice(0,this._namespace.length)))return!1;for(var n=this._namespace.length;n<e.length;n++)if("total"===e[n].type)return!1;return!0},t}();var er=function(){function t(t,e){this.namespace=t,this.isolateModule=e}return t.prototype.call=function(){var t=this.namespace,e=Kn(t),n=new tr(t,this.isolateModule),r=this.isolateModule.getElement(t.filter((function(t){return"selector"!==t.type})));return void 0===r?[]:""===e?[r]:function(t){return Array.prototype.slice.call(t)}(r.querySelectorAll(e)).filter(n.isDirectlyInScope,n).concat(r.matches(e)?[r]:[])},t}(),nr=function(){return nr=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},nr.apply(this,arguments)};function rr(t){return{type:(e=t,e.length>1&&("."===e[0]||"#"===e[0])?"sibling":"total"),scope:t};var e}var or=function(){function t(e,n,r,o,i,s){var a;void 0===r&&(r=[]),this._rootElement$=e,this._sanitation$=n,this._namespace=r,this._isolateModule=o,this._eventDelegator=i,this._name=s,this.isolateSource=function(e,n){return new t(e._rootElement$,e._sanitation$,e._namespace.concat(rr(n)),e._isolateModule,e._eventDelegator,e._name)},this.isolateSink=(a=this._namespace,function(t,e){return":root"===e?t:t.map((function(t){if(!t)return t;var n=rr(e),r=nr({},t,{data:nr({},t.data,{isolate:t.data&&Array.isArray(t.data.isolate)?t.data.isolate:a.concat([n])})});return nr({},r,{key:void 0!==r.key?r.key:JSON.stringify(r.data.isolate)})}))})}return t.prototype._elements=function(){if(0===this._namespace.length)return this._rootElement$.map((function(t){return[t]}));var t=new er(this._namespace,this._isolateModule);return this._rootElement$.map((function(){return t.call()}))},t.prototype.elements=function(){var t=ae(this._elements().remember());return t._isCycleSource=this._name,t},t.prototype.element=function(){var t=ae(this._elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember());return t._isCycleSource=this._name,t},Object.defineProperty(t.prototype,"namespace",{get:function(){return this._namespace},enumerable:!0,configurable:!0}),t.prototype.select=function(e){if("string"!=typeof e)throw new Error("DOM driver's select() expects the argument to be a string as a CSS selector");if("document"===e)return new Xn(this._name);if("body"===e)return new Yn(this._name);var n=":root"===e?[]:this._namespace.concat({type:"selector",scope:e.trim()});return new t(this._rootElement$,this._sanitation$,n,this._isolateModule,this._eventDelegator,this._name)},t.prototype.events=function(t,e,n){if(void 0===e&&(e={}),"string"!=typeof t)throw new Error("DOM driver's events() expects argument to be a string representing the event type to listen for.");var r=this._eventDelegator.addEventListener(t,this._namespace,e,n),o=ae(r);return o._isCycleSource=this._name,o},t.prototype.dispose=function(){this._sanitation$.shamefullySendNext(null)},t}(),ir={},sr=e&&e.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var i=arguments[e],s=0,a=i.length;s<a;s++,o++)r[o]=i[s];return r};Object.defineProperty(ir,"__esModule",{value:!0}),ir.SampleCombineOperator=ir.SampleCombineListener=void 0;var ar=n,cr={},ur=function(){function t(t,e){this.i=t,this.p=e,e.ils[t]=this}return t.prototype._n=function(t){var e=this.p;e.out!==cr&&e.up(t,this.i)},t.prototype._e=function(t){this.p._e(t)},t.prototype._c=function(){this.p.down(this.i,this)},t}();ir.SampleCombineListener=ur;var lr,pr=function(){function t(t,e){this.type="sampleCombine",this.ins=t,this.others=e,this.out=cr,this.ils=[],this.Nn=0,this.vals=[]}return t.prototype._start=function(t){this.out=t;for(var e=this.others,n=this.Nn=e.length,r=this.vals=new Array(n),o=0;o<n;o++)r[o]=cr,e[o]._add(new ur(o,this));this.ins._add(this)},t.prototype._stop=function(){var t=this.others,e=t.length,n=this.ils;this.ins._remove(this);for(var r=0;r<e;r++)t[r]._remove(n[r]);this.out=cr,this.vals=[],this.ils=[]},t.prototype._n=function(t){var e=this.out;e!==cr&&(this.Nn>0||e._n(sr([t],this.vals)))},t.prototype._e=function(t){var e=this.out;e!==cr&&e._e(t)},t.prototype._c=function(){var t=this.out;t!==cr&&t._c()},t.prototype.up=function(t,e){var n=this.vals[e];this.Nn>0&&n===cr&&this.Nn--,this.vals[e]=t},t.prototype.down=function(t,e){this.others[t]._remove(e)},t}();ir.SampleCombineOperator=pr,lr=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return new ar.Stream(new pr(e,t))}};var fr=ir.default=lr;function hr(t){if(!t.sel)return{tagName:"",id:"",className:""};var e=t.sel,n=e.indexOf("#"),r=e.indexOf(".",n),o=n>0?n:e.length,i=r>0?r:e.length;return{tagName:-1!==n||-1!==r?e.slice(0,Math.min(o,i)):e,id:o<i?e.slice(o+1,i):void 0,className:r>0?e.slice(i+1).replace(/\./g," "):void 0}}Object.assign;var dr=("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:Function("return this")()).Symbol;"function"==typeof dr&&dr("parent");var yr=function(){function t(t){this.rootElement=t}return t.prototype.call=function(t){if(11===this.rootElement.nodeType)return this.wrapDocFrag(null===t?[]:[t]);if(null===t)return this.wrap([]);var e=hr(t),n=e.tagName,r=e.id,o=function(t){var e=hr(t).className,n=void 0===e?"":e;if(!t.data)return n;var r=t.data,o=r.class,i=r.props;return o&&(n+=" "+Object.keys(o).filter((function(t){return o[t]})).join(" ")),i&&i.className&&(n+=" "+i.className),n&&n.trim()}(t),i=((t.data||{}).props||{}).id,s=void 0===i?r:i;return"string"==typeof s&&s.toUpperCase()===this.rootElement.id.toUpperCase()&&n.toUpperCase()===this.rootElement.tagName.toUpperCase()&&o.toUpperCase()===this.rootElement.className.toUpperCase()?t:this.wrap([t])},t.prototype.wrapDocFrag=function(t){return dn("",{isolate:[]},t,void 0,this.rootElement)},t.prototype.wrap=function(t){var e=this.rootElement,n=e.tagName,r=e.id,o=e.className,i=r?"#"+r:"",s=o?"."+o.split(" ").join("."):"",a=$n(""+n.toLowerCase()+i+s,{},t);return a.data=a.data||{},a.data.isolate=a.data.isolate||[],a},t}(),mr=[Un,kn,Dn,xn,Mn],vr=function(){function t(t){this.mapper=t,this.tree=[void 0,{}]}return t.prototype.set=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];a||(a=[void 0,{}],r[1][s]=a),r=a}r[0]=e},t.prototype.getDefault=function(t,e,n){return this.get(t,e,n)},t.prototype.get=function(t,e,n){for(var r=this.tree,o=void 0!==n?n:t.length,i=0;i<o;i++){var s=this.mapper(t[i]),a=r[1][s];if(!a){if(!e)return;a=[void 0,{}],r[1][s]=a}r=a}return e&&!r[0]&&(r[0]=e()),r[0]},t.prototype.delete=function(t){for(var e=this.tree,n=0;n<t.length-1;n++){var r=e[1][this.mapper(t[n])];if(!r)return;e=r}delete e[1][this.mapper(t[t.length-1])]},t}(),_r=function(){function t(){this.namespaceTree=new vr((function(t){return t.scope})),this.namespaceByElement=new Map,this.vnodesBeingRemoved=[]}return t.prototype.setEventDelegator=function(t){this.eventDelegator=t},t.prototype.insertElement=function(t,e){this.namespaceByElement.set(e,t),this.namespaceTree.set(t,e)},t.prototype.removeElement=function(t){this.namespaceByElement.delete(t);var e=this.getNamespace(t);e&&this.namespaceTree.delete(e)},t.prototype.getElement=function(t,e){return this.namespaceTree.get(t,void 0,e)},t.prototype.getRootElement=function(t){if(this.namespaceByElement.has(t))return t;for(var e=t;!this.namespaceByElement.has(e);){if(!(e=e.parentNode))return;if("HTML"===e.tagName)throw new Error("No root element found, this should not happen at all")}return e},t.prototype.getNamespace=function(t){var e=this.getRootElement(t);if(e)return this.namespaceByElement.get(e)},t.prototype.createModule=function(){var t=this;return{create:function(e,n){var r=n.elm,o=n.data,i=(void 0===o?{}:o).isolate;Array.isArray(i)&&t.insertElement(i,r)},update:function(e,n){var r=e.elm,o=e.data,i=void 0===o?{}:o,s=n.elm,a=n.data,c=void 0===a?{}:a,u=i.isolate,l=c.isolate;Qn(u,l)||Array.isArray(u)&&t.removeElement(r),Array.isArray(l)&&t.insertElement(l,s)},destroy:function(e){t.vnodesBeingRemoved.push(e)},remove:function(e,n){t.vnodesBeingRemoved.push(e),n()},post:function(){for(var e=t.vnodesBeingRemoved,n=e.length-1;n>=0;n--){var r=e[n],o=void 0!==r.data?r.data.isolation:void 0;void 0!==o&&t.removeElement(o),t.eventDelegator.removeElement(r.elm,o)}t.vnodesBeingRemoved=[]}}},t}(),gr=function(){function t(){this.arr=[],this.prios=[]}return t.prototype.add=function(t,e){for(var n=0;n<this.arr.length;n++)if(this.prios[n]<e)return this.arr.splice(n,0,t),void this.prios.splice(n,0,e);this.arr.push(t),this.prios.push(e)},t.prototype.forEach=function(t){for(var e=0;e<this.arr.length;e++)t(this.arr[e],e,this.arr)},t.prototype.delete=function(t){for(var e=0;e<this.arr.length;e++)if(this.arr[e]===t)return this.arr.splice(e,1),void this.prios.splice(e,1)},t}(),br=function(){return br=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},br.apply(this,arguments)},wr=["blur","canplay","canplaythrough","durationchange","emptied","ended","focus","load","loadeddata","loadedmetadata","mouseenter","mouseleave","pause","play","playing","ratechange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeupdate","unload","volumechange","waiting"],Sr=function(){function t(t,e){var n=this;this.rootElement$=t,this.isolateModule=e,this.virtualListeners=new vr((function(t){return t.scope})),this.nonBubblingListenersToAdd=new Set,this.virtualNonBubblingListener=[],this.isolateModule.setEventDelegator(this),this.domListeners=new Map,this.domListenersToAdd=new Map,this.nonBubblingListeners=new Map,t.addListener({next:function(t){n.origin!==t&&(n.origin=t,n.resetEventListeners(),n.domListenersToAdd.forEach((function(t,e){return n.setupDOMListener(e,t)})),n.domListenersToAdd.clear()),n.nonBubblingListenersToAdd.forEach((function(t){n.setupNonBubblingListener(t)}))}})}return t.prototype.addEventListener=function(t,e,n,r){var o,i=oe.never(),s=new tr(e,this.isolateModule);if(void 0===r?-1===wr.indexOf(t):r)return this.domListeners.has(t)||this.setupDOMListener(t,!!n.passive),o=this.insertListener(i,s,t,n),i;var a=[];this.nonBubblingListenersToAdd.forEach((function(t){return a.push(t)}));for(var c=void 0,u=0,l=a.length,p=function(n){n[0];var r=n[1],o=n[2];return n[3],t===r&&Qn(o.namespace,e)};!c&&u<l;){var f=a[u];c=p(f)?f:c,u++}var h,d=c;if(d){var y=d[0];h=y}else{var m=new er(e,this.isolateModule);o=this.insertListener(i,s,t,n),d=[i,t,m,o],h=i,this.nonBubblingListenersToAdd.add(d),this.setupNonBubblingListener(d)}var v=this,_=null;return oe.create({start:function(t){_=h.subscribe(t)},stop:function(){d[0];var t=d[1],e=d[2];d[3],e.call().forEach((function(e){var n=e.subs;n&&n[t]&&(n[t].unsubscribe(),delete n[t])})),v.nonBubblingListenersToAdd.delete(d),_.unsubscribe()}})},t.prototype.removeElement=function(t,e){void 0!==e&&this.virtualListeners.delete(e);var n=[];this.nonBubblingListeners.forEach((function(e,r){if(e.has(t)){n.push([r,t]);var o=t.subs;o&&Object.keys(o).forEach((function(t){o[t].unsubscribe()}))}}));for(var r=0;r<n.length;r++){var o=this.nonBubblingListeners.get(n[r][0]);o&&(o.delete(n[r][1]),0===o.size?this.nonBubblingListeners.delete(n[r][0]):this.nonBubblingListeners.set(n[r][0],o))}},t.prototype.insertListener=function(t,e,n,r){var o=[],i=e._namespace,s=i.length;do{o.push(this.getVirtualListeners(n,i,!0,s)),s--}while(s>=0&&"total"!==i[s].type);for(var a=br({},r,{scopeChecker:e,subject:t,bubbles:!!r.bubbles,useCapture:!!r.useCapture,passive:!!r.passive}),c=0;c<o.length;c++)o[c].add(a,i.length);return a},t.prototype.getVirtualListeners=function(t,e,n,r){void 0===n&&(n=!1);var o=void 0!==r?r:e.length;if(!n)for(var i=o-1;i>=0;i--){if("total"===e[i].type){o=i+1;break}o=i}var s=this.virtualListeners.getDefault(e,(function(){return new Map}),o);return s.has(t)||s.set(t,new gr),s.get(t)},t.prototype.setupDOMListener=function(t,e){var n=this;if(this.origin){var r=zn(this.origin,t,!1,!1,e).subscribe({next:function(r){return n.onEvent(t,r,e)},error:function(){},complete:function(){}});this.domListeners.set(t,{sub:r,passive:e})}else this.domListenersToAdd.set(t,e)},t.prototype.setupNonBubblingListener=function(t){t[0];var e=t[1],n=t[2],r=t[3];if(this.origin){var o=n.call();if(o.length){var i=this;o.forEach((function(t){var n,o=t.subs;if(!o||!o[e]){var s=zn(t,e,!1,!1,r.passive).subscribe({next:function(t){return i.onEvent(e,t,!!r.passive,!1)},error:function(){},complete:function(){}});i.nonBubblingListeners.has(e)||i.nonBubblingListeners.set(e,new Map);var a=i.nonBubblingListeners.get(e);if(!a)return;a.set(t,{sub:s,destination:r}),t.subs=br({},o,((n={})[e]=s,n))}}))}}},t.prototype.resetEventListeners=function(){for(var t=this.domListeners.entries(),e=t.next();!e.done;){var n=e.value,r=n[0],o=n[1],i=o.sub,s=o.passive;i.unsubscribe(),this.setupDOMListener(r,s),e=t.next()}},t.prototype.putNonBubblingListener=function(t,e,n,r){var o=this.nonBubblingListeners.get(t);if(o){var i=o.get(e);i&&i.destination.passive===r&&i.destination.useCapture===n&&(this.virtualNonBubblingListener[0]=i.destination)}},t.prototype.onEvent=function(t,e,n,r){void 0===r&&(r=!0);var o=this.patchEvent(e),i=this.isolateModule.getRootElement(e.target);if(r){var s=this.isolateModule.getNamespace(e.target);if(!s)return;var a=this.getVirtualListeners(t,s);this.bubble(t,e.target,i,o,a,s,s.length-1,!0,n),this.bubble(t,e.target,i,o,a,s,s.length-1,!1,n)}else this.putNonBubblingListener(t,e.target,!0,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!0,n),this.putNonBubblingListener(t,e.target,!1,n),this.doBubbleStep(t,e.target,i,o,this.virtualNonBubblingListener,!1,n),e.stopPropagation()},t.prototype.bubble=function(t,e,n,r,o,i,s,a,c){a||r.propagationHasBeenStopped||this.doBubbleStep(t,e,n,r,o,a,c);var u=n,l=s;if(e===n){if(!(s>=0&&"sibling"===i[s].type))return;u=this.isolateModule.getElement(i,s),l--}e.parentNode&&u&&this.bubble(t,e.parentNode,u,r,o,i,l,a,c),a&&!r.propagationHasBeenStopped&&this.doBubbleStep(t,e,n,r,o,a,c)},t.prototype.doBubbleStep=function(t,e,n,r,o,i,s){n&&(this.mutateEventCurrentTarget(r,e),o.forEach((function(t){if(t.passive===s&&t.useCapture===i){var o=Kn(t.scopeChecker.namespace);!r.propagationHasBeenStopped&&t.scopeChecker.isDirectlyInScope(e)&&(""!==o&&e.matches(o)||""===o&&e===n)&&(Hn(r,t.preventDefault),t.subject.shamefullySendNext(r))}})))},t.prototype.patchEvent=function(t){var e=t;e.propagationHasBeenStopped=!1;var n=e.stopPropagation;return e.stopPropagation=function(){n.call(this),this.propagationHasBeenStopped=!0},e},t.prototype.mutateEventCurrentTarget=function(t,e){try{Object.defineProperty(t,"currentTarget",{value:e,configurable:!0})}catch(t){console.log("please use event.ownerTarget")}t.ownerTarget=e},t}();function Ar(t){return oe.merge(t,oe.never())}function Or(t){return t.elm}function Er(t){(console.error||console.log)(t)}function $r(t,e){void 0===e&&(e={}),Zn(t);var n=e.modules||mr;!function(t){if(!Array.isArray(t))throw new Error("Optional modules option must be an array for snabbdom modules")}(n);var r,o,i=new _r,s=e&&e.snabbdomOptions||void 0,a=On([i.createModule()].concat(n),void 0,s),c=oe.create({start:function(t){"loading"===document.readyState?document.addEventListener("readystatechange",(function(){var e=document.readyState;"interactive"!==e&&"complete"!==e||(t.next(null),t.complete())})):(t.next(null),t.complete())},stop:function(){}}),u=oe.create({start:function(t){o=new MutationObserver((function(){return t.next(null)}))},stop:function(){o.disconnect()}});return function(n,s){void 0===s&&(s="DOM"),function(t){if(!t||"function"!=typeof t.addListener||"function"!=typeof t.fold)throw new Error("The DOM driver function expects as input a Stream of virtual DOM elements")}(n);var l=oe.create(),p=c.map((function(){var e=function(t){var e="string"==typeof t?document.querySelector(t):t;if("string"==typeof t&&null===e)throw new Error("Cannot render into unknown element `"+t+"`");return e}(t)||document.body;return r=new yr(e),e})),f=n.remember();f.addListener({}),u.addListener({});var h=p.map((function(t){return oe.merge(f.endWhen(l),l).map((function(t){return r.call(t)})).startWith(function(t){return t.data=t.data||{},t.data.isolate=[],t}(jn(t))).fold(a,jn(t)).drop(1).map(Or).startWith(t).map((function(t){return o.observe(t,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0}),t})).compose(Ar)})).flatten(),d=Me(c,u).endWhen(l).compose(fr(h)).map((function(t){return t[1]})).remember();d.addListener({error:e.reportSnabbdomError||Er});var y=new Sr(d,i);return new or(d,l,[],i,y,s)}}var jr="___",Cr=function(){function t(t){this._mockConfig=t,t.elements?this._elements=t.elements:this._elements=ae(oe.empty())}return t.prototype.elements=function(){var t=this._elements;return t._isCycleSource="MockedDOM",t},t.prototype.element=function(){var t=this.elements().filter((function(t){return t.length>0})).map((function(t){return t[0]})).remember(),e=ae(t);return e._isCycleSource="MockedDOM",e},t.prototype.events=function(t,e,n){var r=this._mockConfig[t],o=ae(r||oe.empty());return o._isCycleSource="MockedDOM",o},t.prototype.select=function(e){return new t(this._mockConfig[e]||{})},t.prototype.isolateSource=function(t,e){return t.select("."+jr+e)},t.prototype.isolateSink=function(t,e){return ae(oe.fromObservable(t).map((function(t){return t.sel&&-1!==t.sel.indexOf(jr+e)||(t.sel+="."+jr+e),t})))},t}();function xr(t){return function(t){return"string"==typeof t&&t.length>0}(t)&&("."===t[0]||"#"===t[0])}function Nr(t){return function(e,n,r){var o=void 0!==e,i=void 0!==n,s=void 0!==r;return xr(e)?i&&s?$n(t+e,n,r):$n(t+e,i?n:{}):s?$n(t+e,n,r):i?$n(t,e,n):$n(t,o?e:{})}}var kr=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","colorProfile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotlight","feTile","feTurbulence","filter","font","fontFace","fontFaceFormat","fontFaceName","fontFaceSrc","fontFaceUri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missingGlyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],Ir=Nr("svg");kr.forEach((function(t){Ir[t]=Nr(t)}));var Pr=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dir","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","meta","nav","noscript","object","ol","optgroup","option","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","u","ul","video"],Mr={SVG_TAG_NAMES:kr,TAG_NAMES:Pr,svg:Ir,isSelector:xr,createTagFunction:Nr};Pr.forEach((function(t){Mr[t]=Nr(t)}));var Tr=Mr.svg,Dr=Mr.a,Lr=Mr.abbr,Fr=Mr.address,Br=Mr.area,Rr=Mr.article,qr=Mr.aside,Ur=Mr.audio,Wr=Mr.b,Gr=Mr.base,Vr=Mr.bdi,zr=Mr.bdo,Jr=Mr.blockquote,Hr=Mr.body,Xr=Mr.br,Yr=Mr.button,Zr=Mr.canvas,Kr=Mr.caption,Qr=Mr.cite,to=Mr.code,eo=Mr.col,no=Mr.colgroup,ro=Mr.dd,oo=Mr.del,io=Mr.dfn,so=Mr.dir,ao=Mr.div,co=Mr.dl,uo=Mr.dt,lo=Mr.em,po=Mr.embed,fo=Mr.fieldset,ho=Mr.figcaption,yo=Mr.figure,mo=Mr.footer,vo=Mr.form,_o=Mr.h1,go=Mr.h2,bo=Mr.h3,wo=Mr.h4,So=Mr.h5,Ao=Mr.h6,Oo=Mr.head,Eo=Mr.header,$o=Mr.hgroup,jo=Mr.hr,Co=Mr.html,xo=Mr.i,No=Mr.iframe,ko=Mr.img,Io=Mr.input,Po=Mr.ins,Mo=Mr.kbd,To=Mr.keygen,Do=Mr.label,Lo=Mr.legend,Fo=Mr.li,Bo=Mr.link,Ro=Mr.main,qo=Mr.map,Uo=Mr.mark,Wo=Mr.menu,Go=Mr.meta,Vo=Mr.nav,zo=Mr.noscript,Jo=Mr.object,Ho=Mr.ol,Xo=Mr.optgroup,Yo=Mr.option,Zo=Mr.p,Ko=Mr.param,Qo=Mr.pre,ti=Mr.progress,ei=Mr.q,ni=Mr.rp,ri=Mr.rt,oi=Mr.ruby,ii=Mr.s,si=Mr.samp,ai=Mr.script,ci=Mr.section,ui=Mr.select,li=Mr.small,pi=Mr.source,fi=Mr.span,hi=Mr.strong,di=Mr.style,yi=Mr.sub,mi=Mr.sup,vi=Mr.table,_i=Mr.tbody,gi=Mr.td,bi=Mr.textarea,wi=Mr.tfoot,Si=Mr.th,Ai=Mr.thead,Oi=Mr.title,Ei=Mr.tr,$i=Mr.u,ji=Mr.ul,Ci=Mr.video;function xi(t){const e=new EventTarget;return t.subscribe({next:t=>e.dispatchEvent(new CustomEvent("data",{detail:t}))}),{select:t=>{const n=!t,r=Array.isArray(t)?t:[t];let o;const i=oe.create({start:t=>{o=({detail:e})=>{const o=e&&e.data||null;(n||r.includes(e.type))&&t.next(o)},e.addEventListener("data",o)},stop:t=>e.removeEventListener("data",o)});return ae(i)}}}function Ni(t){t.addListener({next:t=>{console.log(t)}})}function ki(t){return/^[a-zA-Z0-9-_]+$/.test(t)}function Ii(t){if("string"!=typeof t)throw new Error("Class name must be a string");return t.trim().split(" ").reduce(((t,e)=>{if(0===e.trim().length)return t;if(!ki(e))throw new Error(`${e} is not a valid CSS class name`);return t.push(e),t}),[])}var Pi={};Object.defineProperty(Pi,"__esModule",{value:!0});var Mi=n,Ti=function(){function t(t,e){this.dt=t,this.ins=e,this.type="throttle",this.out=null,this.id=null}return t.prototype._start=function(t){this.out=t,this.ins._add(this)},t.prototype._stop=function(){this.ins._remove(this),this.out=null,this.id=null},t.prototype.clearInterval=function(){var t=this.id;null!==t&&clearInterval(t),this.id=null},t.prototype._n=function(t){var e=this,n=this.out;n&&(this.id||(n._n(t),this.id=setInterval((function(){e.clearInterval()}),this.dt)))},t.prototype._e=function(t){var e=this.out;e&&(this.clearInterval(),e._e(t))},t.prototype._c=function(){var t=this.out;t&&(this.clearInterval(),t._c())},t}();var Di=Pi.default=function(t){return function(e){return new Mi.Stream(new Ti(t,e))}};t.ABORT=Qe,t.MainDOMSource=or,t.MockedDOMSource=Cr,t.a=Dr,t.abbr=Lr,t.address=Fr,t.area=Br,t.article=Rr,t.aside=qr,t.audio=Ur,t.b=Wr,t.base=Gr,t.bdi=Vr,t.bdo=zr,t.blockquote=Jr,t.body=Hr,t.br=Xr,t.button=Yr,t.canvas=Zr,t.caption=Kr,t.cite=Qr,t.classes=function(...t){return t.reduce(((t,e)=>{var n,r;return"string"!=typeof e||t.includes(e)?Array.isArray(e)?t.push(...(r=e,r.map(Ii).flat())):"object"==typeof e&&t.push(...(n=e,Object.entries(n).filter((([t,e])=>"function"==typeof e?e():!!e)).map((([t,e])=>{const n=t.trim();if(!ki(n))throw new Error(`${n} is not a valid CSS class name`);return n})))):t.push(...Ii(e)),t}),[]).join(" ")},t.code=to,t.col=eo,t.colgroup=no,t.collection=Fe,t.component=function(t){const{name:e,sources:n,isolateOpts:r,stateSourceName:o="STATE"}=t;if(n&&"object"!=typeof n)throw new Error("Sources must be a Cycle.js sources object:",e);let i;i="string"==typeof r?{[o]:r}:!0===r?{}:r;const s=void 0===n;let a;if("object"==typeof i){const e=e=>{const n={...t,sources:e};return new tn(n).sinks};a=s?le(e,i):le(e,i)(n)}else a=s?e=>new tn({...t,sources:e}).sinks:new tn(t).sinks;return a.componentName=e,a.isSygnalComponent=!0,a},t.dd=ro,t.debounce=He,t.del=oo,t.delay=Ge,t.dfn=io,t.dir=so,t.div=ao,t.dl=co,t.driverFromAsync=function(t,e={}){const{selector:n="category",args:r="value",return:o="value",pre:i=(t=>t),post:s=(t=>t)}=e,a=t.name||"[anonymous function]",c=typeof r;if(!("string"===c||"function"===c||Array.isArray(r)&&r.every((t=>"string"==typeof t))))throw new Error(`The 'args' option for driverFromAsync(${a}) must be a string, array of strings, or a function. Received ${c}`);if("string"!=typeof n)throw new Error(`The 'selector' option for driverFromAsync(${a}) must be a string. Received ${typeof n}`);return e=>{let c=null;const u=oe.create({start:t=>{c=t.next.bind(t)},stop:()=>{}});return e.addListener({next:e=>{const u=i(e);let l=[];if("object"==typeof u&&null!==u){if("function"==typeof r){const t=r(u);l=Array.isArray(t)?t:[t]}"string"==typeof r&&(l=[u[r]]),Array.isArray(r)&&(l=r.map((t=>u[t])))}const p=`Error in driver created using driverFromAsync(${a})`;t(...l).then((t=>{const r=t=>{let r;if(void 0===o)r=t,"object"==typeof r&&null!==r?r[n]=e[n]:console.warn(`The 'return' option for driverFromAsync(${a}) was not set, but the promise returned an non-object. The result will be returned as-is, but the '${n}' property will not be set, so will not be filtered by the 'select' method of the driver.`);else{if("string"!=typeof o)throw new Error(`The 'return' option for driverFromAsync(${a}) must be a string. Received ${typeof o}`);r={[o]:t,[n]:e[n]}}return r};if("function"==typeof t.then)t.then((t=>{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(rocessedOutgoing))})).catch((t=>console.error(`${p}: ${t}`)));else{const n=s(t,e);"function"==typeof n.then?n.then((t=>{c(r(t))})).catch((t=>console.error(`${p}: ${t}`))):c(r(n))}})).catch((t=>console.error(`${p}: ${t}`)))},error:t=>{console.error(`Error recieved from sink stream in driver created using driverFromAsync(${a}): ${t}`)},complete:()=>{console.warn(`Unexpected completion of sink stream to driver created using driverFromAsync(${a})`)}}),{select:t=>void 0===t?u:"function"==typeof t?u.filter(t):u.filter((e=>e?.[n]===t))}}},t.dropRepeats=ye,t.dt=uo,t.em=lo,t.embed=po,t.fieldset=fo,t.figcaption=ho,t.figure=yo,t.footer=mo,t.form=vo,t.h=$n,t.h1=_o,t.h2=go,t.h3=bo,t.h4=wo,t.h5=So,t.h6=Ao,t.head=Oo,t.header=Eo,t.hgroup=$o,t.hr=jo,t.html=Co,t.i=xo,t.iframe=No,t.img=ko,t.input=Io,t.ins=Po,t.kbd=Mo,t.keygen=To,t.label=Do,t.legend=Lo,t.li=Fo,t.link=Bo,t.main=Ro,t.makeDOMDriver=$r,t.map=qo,t.mark=Uo,t.menu=Wo,t.meta=Go,t.mockDOMSource=function(t){return new Cr(t)},t.nav=Vo,t.noscript=zo,t.object=Jo,t.ol=Ho,t.optgroup=Xo,t.option=Yo,t.p=Zo,t.param=Ko,t.pre=Qo,t.processForm=function(t,e={}){let{events:n=["input","submit"],preventDefault:r=!0}=e;"string"==typeof n&&(n=[n]);const o=n.map((e=>t.events(e)));return oe.merge(...o).map((t=>{r&&t.preventDefault();const e="submit"===t.type?t.srcElement:t.currentTarget,n=new FormData(e);let o={};o.event=t,o.eventType=t.type;const i=e.querySelector("input[type=submit]:focus");if(i){const{name:t,value:e}=i;o[t||"submit"]=e}for(let[t,e]of n.entries())o[t]=e;return o}))},t.progress=ti,t.q=ei,t.rp=ni,t.rt=ri,t.ruby=oi,t.run=function(t,e={},n={}){const{mountPoint:r="#root",fragments:o=!0}=n,i=function(t,e){return void 0===e&&(e="state"),function(n){var r=oe.create(),o=r.fold((function(t,e){return e(t)}),void 0).drop(1),i=n;i[e]=new we(o,e);var s=t(i);return s[e]&&Me(oe.fromObservable(s[e]),oe.never()).subscribe({next:function(t){return Le((function(){return r._n(t)}))},error:function(t){return Le((function(){return r._e(t)}))},complete:function(){return Le((function(){return r._c()}))}}),s}}(t,"STATE");return function(t,e){var n=un(t,e);return"undefined"!=typeof window&&window.CyclejsDevTool_startGraphSerializer&&window.CyclejsDevTool_startGraphSerializer(n.sinks),n.run()}(i,{...{EVENTS:xi,DOM:$r(r,{snabbdomOptions:{experimental:{fragments:o}}}),LOG:Ni},...e})},t.s=ii,t.samp=si,t.sampleCombine=fr,t.script=ai,t.section=ci,t.select=ui,t.small=li,t.source=pi,t.span=fi,t.strong=hi,t.style=di,t.sub=yi,t.sup=mi,t.svg=Tr,t.switchable=Be,t.table=vi,t.tbody=_i,t.td=gi,t.textarea=bi,t.tfoot=wi,t.th=Si,t.thead=Ai,t.throttle=Di,t.thunk=function(t,e,n,r){return void 0===r&&(r=n,n=e,e=void 0),$n(t,{key:e,hook:{init:Gn,prepatch:Vn},fn:n,args:r})},t.title=Oi,t.tr=Ei,t.u=$i,t.ul=ji,t.video=Ci,t.xs=oe}));
|
package/package.json
CHANGED