sygnal 2.6.9 → 2.7.1

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 CHANGED
@@ -3186,6 +3186,9 @@ function component (opts) {
3186
3186
  returnFunction = currySources ? (sources) => (new Component({ ...opts, sources })).sinks : (new Component(opts)).sinks;
3187
3187
  }
3188
3188
 
3189
+ returnFunction.componentName = name;
3190
+ returnFunction.isSygnalComponent = true;
3191
+
3189
3192
  return returnFunction
3190
3193
  }
3191
3194
 
@@ -3210,6 +3213,7 @@ class Component {
3210
3213
  // DOMSourceName
3211
3214
  // stateSourceName
3212
3215
  // requestSourceName
3216
+ // debug
3213
3217
 
3214
3218
  // [ PRIVATE / CALCULATED VALUES ]
3215
3219
  // sourceNames
@@ -3223,6 +3227,7 @@ class Component {
3223
3227
  // subComponentSink$
3224
3228
  // unmountRequest$
3225
3229
  // unmount()
3230
+ // _debug
3226
3231
 
3227
3232
  // [ INSTANTIATED STREAM OPERATOR ]
3228
3233
  // log
@@ -3230,7 +3235,7 @@ class Component {
3230
3235
  // [ OUTPUT ]
3231
3236
  // sinks
3232
3237
 
3233
- constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP' }) {
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 }) {
3234
3239
  if (!sources || typeof sources != 'object') throw new Error('Missing or invalid sources')
3235
3240
 
3236
3241
  this.name = name;
@@ -3249,6 +3254,7 @@ class Component {
3249
3254
  this.stateSourceName = stateSourceName;
3250
3255
  this.requestSourceName = requestSourceName;
3251
3256
  this.sourceNames = Object.keys(sources);
3257
+ this._debug = debug;
3252
3258
 
3253
3259
  this.isSubComponent = this.sourceNames.includes('props$');
3254
3260
 
@@ -3272,6 +3278,7 @@ class Component {
3272
3278
  };
3273
3279
  }
3274
3280
 
3281
+ this.addCalculated = this.createMemoizedAddCalculated();
3275
3282
  this.log = makeLog(name);
3276
3283
 
3277
3284
  this.initIntent$();
@@ -3288,11 +3295,15 @@ class Component {
3288
3295
 
3289
3296
  this.sinks.__index = COMPONENT_COUNT++;
3290
3297
 
3291
- if (ENVIRONMENT.DEBUG === true) {
3298
+ if (debug) {
3292
3299
  console.log(`[${ this.name }] Instantiated (#${ this.sinks.__index })`);
3293
3300
  }
3294
3301
  }
3295
3302
 
3303
+ get debug() {
3304
+ return this._debug || (ENVIRONMENT.DEBUG === 'true' || ENVIRONMENT.DEBUG === true)
3305
+ }
3306
+
3296
3307
  initIntent$() {
3297
3308
  if (!this.intent) {
3298
3309
  return
@@ -3390,7 +3401,7 @@ class Component {
3390
3401
 
3391
3402
  console.log(`${ timestamp } ${ ip } ${ req.method } ${ req.url }`);
3392
3403
 
3393
- if (ENVIRONMENT.DEBUG) {
3404
+ if (this.debug) {
3394
3405
  this.action$.setDebugListener({next: ({ type }) => console.log(`[${ this.name }] Action from ${ this.requestSourceName } request: <${ type }>`)});
3395
3406
  }
3396
3407
 
@@ -3696,20 +3707,39 @@ class Component {
3696
3707
  }
3697
3708
  }
3698
3709
 
3699
- addCalculated(state) {
3700
- if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3701
- if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3702
- const entries = Object.entries(this.calculated);
3703
- const calculated = entries.reduce((acc, [field, fn]) => {
3704
- if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3705
- try {
3706
- acc[field] = fn(state);
3707
- } catch(e) {
3708
- console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3710
+ createMemoizedAddCalculated() {
3711
+ let lastState;
3712
+ let lastResult;
3713
+
3714
+ return function(state) {
3715
+ if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3716
+ if (state === lastState) {
3717
+ return lastResult
3709
3718
  }
3710
- return acc
3711
- }, {});
3712
- return { ...state, ...calculated }
3719
+ if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3720
+ const entries = Object.entries(this.calculated);
3721
+ if (entries.length === 0) {
3722
+ lastState = state;
3723
+ lastResult = state;
3724
+ return state
3725
+ }
3726
+ const calculated = entries.reduce((acc, [field, fn]) => {
3727
+ if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3728
+ try {
3729
+ acc[field] = fn(state);
3730
+ } catch(e) {
3731
+ console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3732
+ }
3733
+ return acc
3734
+ }, {});
3735
+
3736
+ const newState = { ...state, ...calculated };
3737
+
3738
+ lastState = state;
3739
+ lastResult = newState;
3740
+
3741
+ return newState
3742
+ }
3713
3743
  }
3714
3744
 
3715
3745
  cleanupCalculated(incomingState) {
@@ -3736,15 +3766,33 @@ class Component {
3736
3766
  const enhancedState = state && state.isolateSource(state, { get: state => this.addCalculated(state) });
3737
3767
  const stateStream = (enhancedState && enhancedState.stream) || xs$1.never();
3738
3768
 
3739
- renderParams.state = stateStream;
3740
- renderParams[this.stateSourceName] = stateStream;
3769
+ const objRepeatChecker = (a, b) => {
3770
+ const { state, sygnalFactory, __props, __children, ...sanitized } = a;
3771
+ const keys = Object.keys(sanitized);
3772
+ if (keys.length === 0) {
3773
+ const { state, sygnalFactory, __props, __children, ...sanitizedB } = b;
3774
+ return Object.keys(sanitizedB).length === 0
3775
+ }
3776
+ return keys.every(key => a[key] === b[key])
3777
+ };
3778
+
3779
+ const arrRepeatChecker = (a, b) => {
3780
+ if (a === b) return true
3781
+ if (a.length !== b.length) return false
3782
+ for (let i=0; i < a.length; i++) {
3783
+ if (a[i] !== b[i]) return false
3784
+ }
3785
+ return true
3786
+ };
3787
+
3788
+ renderParams.state = stateStream.compose(_default$5(objRepeatChecker));
3741
3789
 
3742
3790
  if (this.sources.props$) {
3743
- renderParams.__props = this.sources.props$;
3791
+ renderParams.__props = this.sources.props$.compose(_default$5(objRepeatChecker));
3744
3792
  }
3745
3793
 
3746
3794
  if (this.sources.children$) {
3747
- renderParams.__children = this.sources.children$;
3795
+ renderParams.__children = this.sources.children$.compose(_default$5(arrRepeatChecker));
3748
3796
  }
3749
3797
 
3750
3798
  const names = [];
@@ -3760,6 +3808,7 @@ class Component {
3760
3808
  .map(arr => {
3761
3809
  return names.reduce((acc, name, index) => {
3762
3810
  acc[name] = arr[index];
3811
+ if (name === 'state') acc[this.stateSourceName] = arr[index];
3763
3812
  return acc
3764
3813
  }, {})
3765
3814
  });
@@ -4162,7 +4211,7 @@ class Component {
4162
4211
  const fixedMsg = (typeof msg === 'function') ? msg : _ => msg;
4163
4212
  return stream => {
4164
4213
  return stream.debug(msg => {
4165
- if (ENVIRONMENT.DEBUG == 'true' || ENVIRONMENT.DEBUG === true) {
4214
+ if (this.debug) {
4166
4215
  console.log(`[${context}] ${fixedMsg(msg)}`);
4167
4216
  }
4168
4217
  })
@@ -4181,7 +4230,7 @@ function getComponents(currentElement, componentNames, depth=0, index=0) {
4181
4230
  const sel = currentElement.sel;
4182
4231
  const isCollection = sel && sel.toLowerCase() === 'collection';
4183
4232
  const isSwitchable = sel && sel.toLowerCase() === 'switchable';
4184
- const isComponent = sel && (['collection', 'switchable', 'sygnal-factory', ...componentNames].includes(currentElement.sel)) || typeof currentElement.data?.props?.sygnalFactory === 'function';
4233
+ const isComponent = sel && (['collection', 'switchable', 'sygnal-factory', ...componentNames].includes(sel)) || typeof currentElement.data?.props?.sygnalFactory === 'function';
4185
4234
  const props = (currentElement.data && currentElement.data.props) || {};
4186
4235
  (currentElement.data && currentElement.data.attrs) || {};
4187
4236
  const children = currentElement.children || [];
@@ -4265,9 +4314,9 @@ function getComponentIdFromElement(el, depth, index) {
4265
4314
  base = `${date}-${rand}`;
4266
4315
  selMap.set(sel, base);
4267
4316
  }
4268
- const uid = `${base}-${depth}-${index}`;
4269
- const props = (el.data && el.data.props) || {};
4270
- const id = (props.id && JSON.stringify(props.id)) || uid;
4317
+ const uid = `${base}-${depth}-${index}`;
4318
+ const props = (el.data && el.data.props) || {};
4319
+ const id = (props.id && JSON.stringify(props.id)) || uid;
4271
4320
  const fullId = `${ name }::${ id }`;
4272
4321
  return fullId
4273
4322
  }
package/dist/index.esm.js CHANGED
@@ -3186,6 +3186,9 @@ function component (opts) {
3186
3186
  returnFunction = currySources ? (sources) => (new Component({ ...opts, sources })).sinks : (new Component(opts)).sinks;
3187
3187
  }
3188
3188
 
3189
+ returnFunction.componentName = name;
3190
+ returnFunction.isSygnalComponent = true;
3191
+
3189
3192
  return returnFunction
3190
3193
  }
3191
3194
 
@@ -3210,6 +3213,7 @@ class Component {
3210
3213
  // DOMSourceName
3211
3214
  // stateSourceName
3212
3215
  // requestSourceName
3216
+ // debug
3213
3217
 
3214
3218
  // [ PRIVATE / CALCULATED VALUES ]
3215
3219
  // sourceNames
@@ -3223,6 +3227,7 @@ class Component {
3223
3227
  // subComponentSink$
3224
3228
  // unmountRequest$
3225
3229
  // unmount()
3230
+ // _debug
3226
3231
 
3227
3232
  // [ INSTANTIATED STREAM OPERATOR ]
3228
3233
  // log
@@ -3230,7 +3235,7 @@ class Component {
3230
3235
  // [ OUTPUT ]
3231
3236
  // sinks
3232
3237
 
3233
- constructor({ name='NO NAME', sources, intent, request, model, response, view, children={}, components={}, initialState, calculated, storeCalculatedInState=true, DOMSourceName='DOM', stateSourceName='STATE', requestSourceName='HTTP' }) {
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 }) {
3234
3239
  if (!sources || typeof sources != 'object') throw new Error('Missing or invalid sources')
3235
3240
 
3236
3241
  this.name = name;
@@ -3249,6 +3254,7 @@ class Component {
3249
3254
  this.stateSourceName = stateSourceName;
3250
3255
  this.requestSourceName = requestSourceName;
3251
3256
  this.sourceNames = Object.keys(sources);
3257
+ this._debug = debug;
3252
3258
 
3253
3259
  this.isSubComponent = this.sourceNames.includes('props$');
3254
3260
 
@@ -3272,6 +3278,7 @@ class Component {
3272
3278
  };
3273
3279
  }
3274
3280
 
3281
+ this.addCalculated = this.createMemoizedAddCalculated();
3275
3282
  this.log = makeLog(name);
3276
3283
 
3277
3284
  this.initIntent$();
@@ -3288,11 +3295,15 @@ class Component {
3288
3295
 
3289
3296
  this.sinks.__index = COMPONENT_COUNT++;
3290
3297
 
3291
- if (ENVIRONMENT.DEBUG === true) {
3298
+ if (debug) {
3292
3299
  console.log(`[${ this.name }] Instantiated (#${ this.sinks.__index })`);
3293
3300
  }
3294
3301
  }
3295
3302
 
3303
+ get debug() {
3304
+ return this._debug || (ENVIRONMENT.DEBUG === 'true' || ENVIRONMENT.DEBUG === true)
3305
+ }
3306
+
3296
3307
  initIntent$() {
3297
3308
  if (!this.intent) {
3298
3309
  return
@@ -3390,7 +3401,7 @@ class Component {
3390
3401
 
3391
3402
  console.log(`${ timestamp } ${ ip } ${ req.method } ${ req.url }`);
3392
3403
 
3393
- if (ENVIRONMENT.DEBUG) {
3404
+ if (this.debug) {
3394
3405
  this.action$.setDebugListener({next: ({ type }) => console.log(`[${ this.name }] Action from ${ this.requestSourceName } request: <${ type }>`)});
3395
3406
  }
3396
3407
 
@@ -3696,20 +3707,39 @@ class Component {
3696
3707
  }
3697
3708
  }
3698
3709
 
3699
- addCalculated(state) {
3700
- if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3701
- if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3702
- const entries = Object.entries(this.calculated);
3703
- const calculated = entries.reduce((acc, [field, fn]) => {
3704
- if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3705
- try {
3706
- acc[field] = fn(state);
3707
- } catch(e) {
3708
- console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3710
+ createMemoizedAddCalculated() {
3711
+ let lastState;
3712
+ let lastResult;
3713
+
3714
+ return function(state) {
3715
+ if (!this.calculated || typeof state !== 'object' || state instanceof Array) return state
3716
+ if (state === lastState) {
3717
+ return lastResult
3709
3718
  }
3710
- return acc
3711
- }, {});
3712
- return { ...state, ...calculated }
3719
+ if (typeof this.calculated !== 'object') throw new Error(`'calculated' parameter must be an object mapping calculated state field named to functions`)
3720
+ const entries = Object.entries(this.calculated);
3721
+ if (entries.length === 0) {
3722
+ lastState = state;
3723
+ lastResult = state;
3724
+ return state
3725
+ }
3726
+ const calculated = entries.reduce((acc, [field, fn]) => {
3727
+ if (typeof fn !== 'function') throw new Error(`Missing or invalid calculator function for calculated field '${ field }`)
3728
+ try {
3729
+ acc[field] = fn(state);
3730
+ } catch(e) {
3731
+ console.warn(`Calculated field '${ field }' threw an error during calculation: ${ e.message }`);
3732
+ }
3733
+ return acc
3734
+ }, {});
3735
+
3736
+ const newState = { ...state, ...calculated };
3737
+
3738
+ lastState = state;
3739
+ lastResult = newState;
3740
+
3741
+ return newState
3742
+ }
3713
3743
  }
3714
3744
 
3715
3745
  cleanupCalculated(incomingState) {
@@ -3736,15 +3766,33 @@ class Component {
3736
3766
  const enhancedState = state && state.isolateSource(state, { get: state => this.addCalculated(state) });
3737
3767
  const stateStream = (enhancedState && enhancedState.stream) || xs$1.never();
3738
3768
 
3739
- renderParams.state = stateStream;
3740
- renderParams[this.stateSourceName] = stateStream;
3769
+ const objRepeatChecker = (a, b) => {
3770
+ const { state, sygnalFactory, __props, __children, ...sanitized } = a;
3771
+ const keys = Object.keys(sanitized);
3772
+ if (keys.length === 0) {
3773
+ const { state, sygnalFactory, __props, __children, ...sanitizedB } = b;
3774
+ return Object.keys(sanitizedB).length === 0
3775
+ }
3776
+ return keys.every(key => a[key] === b[key])
3777
+ };
3778
+
3779
+ const arrRepeatChecker = (a, b) => {
3780
+ if (a === b) return true
3781
+ if (a.length !== b.length) return false
3782
+ for (let i=0; i < a.length; i++) {
3783
+ if (a[i] !== b[i]) return false
3784
+ }
3785
+ return true
3786
+ };
3787
+
3788
+ renderParams.state = stateStream.compose(_default$5(objRepeatChecker));
3741
3789
 
3742
3790
  if (this.sources.props$) {
3743
- renderParams.__props = this.sources.props$;
3791
+ renderParams.__props = this.sources.props$.compose(_default$5(objRepeatChecker));
3744
3792
  }
3745
3793
 
3746
3794
  if (this.sources.children$) {
3747
- renderParams.__children = this.sources.children$;
3795
+ renderParams.__children = this.sources.children$.compose(_default$5(arrRepeatChecker));
3748
3796
  }
3749
3797
 
3750
3798
  const names = [];
@@ -3760,6 +3808,7 @@ class Component {
3760
3808
  .map(arr => {
3761
3809
  return names.reduce((acc, name, index) => {
3762
3810
  acc[name] = arr[index];
3811
+ if (name === 'state') acc[this.stateSourceName] = arr[index];
3763
3812
  return acc
3764
3813
  }, {})
3765
3814
  });
@@ -4162,7 +4211,7 @@ class Component {
4162
4211
  const fixedMsg = (typeof msg === 'function') ? msg : _ => msg;
4163
4212
  return stream => {
4164
4213
  return stream.debug(msg => {
4165
- if (ENVIRONMENT.DEBUG == 'true' || ENVIRONMENT.DEBUG === true) {
4214
+ if (this.debug) {
4166
4215
  console.log(`[${context}] ${fixedMsg(msg)}`);
4167
4216
  }
4168
4217
  })
@@ -4181,7 +4230,7 @@ function getComponents(currentElement, componentNames, depth=0, index=0) {
4181
4230
  const sel = currentElement.sel;
4182
4231
  const isCollection = sel && sel.toLowerCase() === 'collection';
4183
4232
  const isSwitchable = sel && sel.toLowerCase() === 'switchable';
4184
- const isComponent = sel && (['collection', 'switchable', 'sygnal-factory', ...componentNames].includes(currentElement.sel)) || typeof currentElement.data?.props?.sygnalFactory === 'function';
4233
+ const isComponent = sel && (['collection', 'switchable', 'sygnal-factory', ...componentNames].includes(sel)) || typeof currentElement.data?.props?.sygnalFactory === 'function';
4185
4234
  const props = (currentElement.data && currentElement.data.props) || {};
4186
4235
  (currentElement.data && currentElement.data.attrs) || {};
4187
4236
  const children = currentElement.children || [];
@@ -4265,9 +4314,9 @@ function getComponentIdFromElement(el, depth, index) {
4265
4314
  base = `${date}-${rand}`;
4266
4315
  selMap.set(sel, base);
4267
4316
  }
4268
- const uid = `${base}-${depth}-${index}`;
4269
- const props = (el.data && el.data.props) || {};
4270
- const id = (props.id && JSON.stringify(props.id)) || uid;
4317
+ const uid = `${base}-${depth}-${index}`;
4318
+ const props = (el.data && el.data.props) || {};
4319
+ const id = (props.id && JSON.stringify(props.id)) || uid;
4271
4320
  const fullId = `${ name }::${ id }`;
4272
4321
  return fullId
4273
4322
  }
package/dist/jsx.cjs.js CHANGED
@@ -155,7 +155,7 @@ const createElementWithModules = (modules) => {
155
155
  return sel(data || {}, children)
156
156
  }
157
157
  const factory = sel;
158
- sel = sel.name || 'sygnal-factory';
158
+ sel = sel.name || sel.componentName || 'sygnal-factory';
159
159
  data ||= {};
160
160
  data.sygnalFactory = factory;
161
161
  }
package/dist/jsx.esm.js CHANGED
@@ -153,7 +153,7 @@ const createElementWithModules = (modules) => {
153
153
  return sel(data || {}, children)
154
154
  }
155
155
  const factory = sel;
156
- sel = sel.name || 'sygnal-factory';
156
+ sel = sel.name || sel.componentName || 'sygnal-factory';
157
157
  data ||= {};
158
158
  data.sygnalFactory = factory;
159
159
  }
@@ -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 _=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,N=function(t){try{return $('"use strict"; return ('+t+").constructor;")()}catch(t){}},C=Object.getOwnPropertyDescriptor;if(C)try{C({},"")}catch(t){C=null}var k=function(){throw new j},x=C?function(){try{return k}catch(t){try{return C(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__:_}.foo===_.foo&&!({__proto__:null}instanceof g),T=Object.getPrototypeOf||(P?function(t){return t.__proto__}:null),M={},D="undefined"!=typeof Uint8Array&&T?T(Uint8Array):d,L={"%AggregateError%":"undefined"==typeof AggregateError?d:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?d:ArrayBuffer,"%ArrayIteratorPrototype%":I&&T?T([][Symbol.iterator]()):d,"%AsyncFromSyncIteratorPrototype%":d,"%AsyncFunction%":M,"%AsyncGenerator%":M,"%AsyncGeneratorFunction%":M,"%AsyncIteratorPrototype%":M,"%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%":M,"%Int8Array%":"undefined"==typeof Int8Array?d:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?d:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?d:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":I&&T?T(T([][Symbol.iterator]())):d,"%JSON%":"object"==typeof JSON?JSON:d,"%Map%":"undefined"==typeof Map?d:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&I&&T?T((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&&T?T((new Set)[Symbol.iterator]()):d,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?d:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":I&&T?T(""[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(T)try{null.error}catch(t){var F=T(T(t));L["%Error.prototype%"]=F}var B=function t(e){var n;if("%AsyncFunction%"===e)n=N("async function () {}");else if("%GeneratorFunction%"===e)n=N("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=N("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&T&&(n=T(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),H=q.call(Function.call,String.prototype.slice),J=q.call(Function.call,RegExp.prototype.exec),z=/[^%.[\]]+|\[(?:(-?\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===M&&(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=H(t,0,1),n=H(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,z,(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=H(p,0,1),h=H(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(C&&u+1>=n.length){var d=C(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 Nt(t,e,n){try{return t.f(e)}catch(t){return n._e(t),Ot}}var Ct={_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=Ct;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}(),Tt=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}(),Mt=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 Mt(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=Ct}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=Ct},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=Nt(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}(),Ht=function(){function t(t){this.type="flatten",this.ins=t,this.out=Ot,this.open=!0,this.inner=Ot,this.il=Ct}return t.prototype._start=function(t){this.out=t,this.open=!0,this.inner=Ot,this.il=Ct,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=Ct},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!==Ct&&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=Nt(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}(),zt=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=Nt(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 zt(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 Ht(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 Tt(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 Ne(t){return{"*":null}}function Ce(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 Te=xe.default=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return new Ie.Stream(new Pe(t))},Me={};Object.defineProperty(Me,"__esModule",{value:!0});var De=Me.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||Ne,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?Ce(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"),_=ke,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 He=n,Je=function(){function t(t,e){this.dt=t,this.ins=e,this.type="debounce",this.out=null,this.id=null,this.t=He.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=He.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!=He.NO&&t._n(this.t),this.t=He.NO,t._c())},t}();var ze=Ve.default=function(t){return function(e){return new He.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,response:i,view:s,children:a={},components:c={},initialState:u,calculated:l,storeCalculatedInState:p=!0,DOMSourceName:f="DOM",stateSourceName:h="STATE",requestSourceName:d="HTTP"}){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.isSubComponent=this.sourceNames.includes("props$");const y=e[h]&&e[h].stream;var m;y&&(this.currentState=u||{},this.sources[this.stateSourceName]=new we(y.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.log=(m=t,function(t){const e="function"==typeof t?t:e=>t;return t=>t.debug((t=>{"true"!=Xe.DEBUG&&!0!==Xe.DEBUG||console.log(`[${m}] ${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++,!0===Xe.DEBUG&&console.log(`[${this.name}] Instantiated (#${this.sinks.__index})`)}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=Te(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}`),Xe.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?Te(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}}addCalculated(t){if(!this.calculated||"object"!=typeof t||t instanceof Array)return t;if("object"!=typeof this.calculated)throw new Error("'calculated' parameter must be an object mapping calculated state field named to functions");const e=Object.entries(this.calculated).reduce(((e,[n,r])=>{if("function"!=typeof r)throw new Error(`Missing or invalid calculator function for calculated field '${n}`);try{e[n]=r(t)}catch(t){console.warn(`Calculated field '${n}' threw an error during calculation: ${t.message}`)}return e}),{});return{...t,...e}}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();e.state=r,e[this.stateSourceName]=r,this.sources.props$&&(e.__props=this.sources.props$),this.sources.children$&&(e.__children=this.sources.children$);const o=[],i=[];Object.entries(e).forEach((([t,e])=>{o.push(t),i.push(e)}));return oe.combine(...i).map((t=>o.reduce(((e,n,r)=>(e[n]=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(ze(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(ze(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(ze(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(t.sel)||"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 Nn(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 Cn={create:Nn,update:Nn};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 Tn={create:Pn,update:Pn};function Mn(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:Mn,update:Mn},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 Hn(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){zn(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 zn(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=Hn(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=Hn(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,Cn,Tn],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=Hn(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=Hn(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)&&(zn(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=Te(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="___",Nr=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 Cr(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 Cr(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"],Tr={SVG_TAG_NAMES:xr,TAG_NAMES:Pr,svg:Ir,isSelector:Cr,createTagFunction:kr};Pr.forEach((function(t){Tr[t]=kr(t)}));var Mr=Tr.svg,Dr=Tr.a,Lr=Tr.abbr,Fr=Tr.address,Br=Tr.area,Rr=Tr.article,qr=Tr.aside,Ur=Tr.audio,Wr=Tr.b,Gr=Tr.base,Vr=Tr.bdi,Hr=Tr.bdo,Jr=Tr.blockquote,zr=Tr.body,Xr=Tr.br,Yr=Tr.button,Zr=Tr.canvas,Kr=Tr.caption,Qr=Tr.cite,to=Tr.code,eo=Tr.col,no=Tr.colgroup,ro=Tr.dd,oo=Tr.del,io=Tr.dfn,so=Tr.dir,ao=Tr.div,co=Tr.dl,uo=Tr.dt,lo=Tr.em,po=Tr.embed,fo=Tr.fieldset,ho=Tr.figcaption,yo=Tr.figure,mo=Tr.footer,vo=Tr.form,_o=Tr.h1,go=Tr.h2,bo=Tr.h3,wo=Tr.h4,So=Tr.h5,Ao=Tr.h6,Oo=Tr.head,Eo=Tr.header,$o=Tr.hgroup,jo=Tr.hr,No=Tr.html,Co=Tr.i,ko=Tr.iframe,xo=Tr.img,Io=Tr.input,Po=Tr.ins,To=Tr.kbd,Mo=Tr.keygen,Do=Tr.label,Lo=Tr.legend,Fo=Tr.li,Bo=Tr.link,Ro=Tr.main,qo=Tr.map,Uo=Tr.mark,Wo=Tr.menu,Go=Tr.meta,Vo=Tr.nav,Ho=Tr.noscript,Jo=Tr.object,zo=Tr.ol,Xo=Tr.optgroup,Yo=Tr.option,Zo=Tr.p,Ko=Tr.param,Qo=Tr.pre,ti=Tr.progress,ei=Tr.q,ni=Tr.rp,ri=Tr.rt,oi=Tr.ruby,ii=Tr.s,si=Tr.samp,ai=Tr.script,ci=Tr.section,ui=Tr.select,li=Tr.small,pi=Tr.source,fi=Tr.span,hi=Tr.strong,di=Tr.style,yi=Tr.sub,mi=Tr.sup,vi=Tr.table,_i=Tr.tbody,gi=Tr.td,bi=Tr.textarea,wi=Tr.tfoot,Si=Tr.th,Ai=Tr.thead,Oi=Tr.title,Ei=Tr.tr,$i=Tr.u,ji=Tr.ul,Ni=Tr.video;function Ci(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 Ti=n,Mi=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 Ti.Stream(new Mi(t,e))}};t.ABORT=Qe,t.MainDOMSource=or,t.MockedDOMSource=Nr,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=Hr,t.blockquote=Jr,t.body=zr,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},t.dd=ro,t.debounce=ze,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=No,t.i=Co,t.iframe=ko,t.img=xo,t.input=Io,t.ins=Po,t.kbd=To,t.keygen=Mo,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 Nr(t)},t.nav=Vo,t.noscript=Ho,t.object=Jo,t.ol=zo,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]&&Te(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:Ci,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=Mr,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=Ni,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 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}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sygnal",
3
- "version": "2.6.9",
3
+ "version": "2.7.1",
4
4
  "description": "An intuitive framework for building fast and small components or applications based on Cycle.js",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",