tinybase 7.3.5 → 8.0.0-beta.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.
Files changed (59) hide show
  1. package/@types/index.d.ts +1 -0
  2. package/@types/middleware/index.d.ts +1064 -0
  3. package/@types/middleware/with-schemas/index.d.ts +1355 -0
  4. package/@types/omni/index.d.ts +1 -0
  5. package/@types/omni/with-schemas/index.d.ts +1 -0
  6. package/@types/store/index.d.ts +0 -1
  7. package/@types/with-schemas/index.d.ts +1 -0
  8. package/agents.md +33 -11
  9. package/checkpoints/index.js +8 -9
  10. package/checkpoints/with-schemas/index.js +8 -9
  11. package/index.js +484 -153
  12. package/mergeable-store/index.js +371 -135
  13. package/mergeable-store/with-schemas/index.js +371 -135
  14. package/middleware/index.js +130 -0
  15. package/middleware/with-schemas/index.js +130 -0
  16. package/min/checkpoints/index.js +1 -1
  17. package/min/checkpoints/index.js.gz +0 -0
  18. package/min/checkpoints/with-schemas/index.js +1 -1
  19. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  20. package/min/index.js +1 -1
  21. package/min/index.js.gz +0 -0
  22. package/min/mergeable-store/index.js +1 -1
  23. package/min/mergeable-store/index.js.gz +0 -0
  24. package/min/mergeable-store/with-schemas/index.js +1 -1
  25. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  26. package/min/middleware/index.js +1 -0
  27. package/min/middleware/index.js.gz +0 -0
  28. package/min/middleware/with-schemas/index.js +1 -0
  29. package/min/middleware/with-schemas/index.js.gz +0 -0
  30. package/min/omni/index.js +1 -1
  31. package/min/omni/index.js.gz +0 -0
  32. package/min/omni/with-schemas/index.js +1 -1
  33. package/min/omni/with-schemas/index.js.gz +0 -0
  34. package/min/queries/index.js +1 -1
  35. package/min/queries/index.js.gz +0 -0
  36. package/min/queries/with-schemas/index.js +1 -1
  37. package/min/queries/with-schemas/index.js.gz +0 -0
  38. package/min/store/index.js +1 -1
  39. package/min/store/index.js.gz +0 -0
  40. package/min/store/with-schemas/index.js +1 -1
  41. package/min/store/with-schemas/index.js.gz +0 -0
  42. package/min/ui-react-inspector/index.js +1 -1
  43. package/min/ui-react-inspector/index.js.gz +0 -0
  44. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  45. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  46. package/min/with-schemas/index.js +1 -1
  47. package/min/with-schemas/index.js.gz +0 -0
  48. package/omni/index.js +492 -161
  49. package/omni/with-schemas/index.js +492 -161
  50. package/package.json +37 -1
  51. package/queries/index.js +1 -6
  52. package/queries/with-schemas/index.js +1 -6
  53. package/readme.md +14 -14
  54. package/releases.md +41 -41
  55. package/store/index.js +370 -134
  56. package/store/with-schemas/index.js +370 -134
  57. package/ui-react-inspector/index.js +349 -134
  58. package/ui-react-inspector/with-schemas/index.js +349 -134
  59. package/with-schemas/index.js +484 -153
@@ -0,0 +1,130 @@
1
+ const isUndefined = (thing) => thing === void 0;
2
+
3
+ const arrayEvery = (array, cb) => array.every(cb);
4
+ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
5
+ const arrayPush = (array, ...values) => array.push(...values);
6
+
7
+ const object = Object;
8
+ const objFreeze = object.freeze;
9
+
10
+ const getCreateFunction = (getFunction, initFunction) => {
11
+ const thingsByStore = /* @__PURE__ */ new WeakMap();
12
+ return (store) => {
13
+ if (!thingsByStore.has(store)) {
14
+ thingsByStore.set(store, getFunction(store));
15
+ }
16
+ const thing = thingsByStore.get(store);
17
+ return thing;
18
+ };
19
+ };
20
+
21
+ const reduceCallbacks = (callbacks, thing, ...ids) =>
22
+ arrayReduce(
23
+ callbacks,
24
+ (current, callback) =>
25
+ isUndefined(current) ? current : callback(...ids, current),
26
+ thing,
27
+ );
28
+ const everyCallback = (callbacks, ...ids) =>
29
+ arrayEvery(callbacks, (callback) => callback(...ids));
30
+ const createMiddleware = getCreateFunction((store) => {
31
+ const fluent = (actions) => {
32
+ actions();
33
+ return middleware;
34
+ };
35
+ const addCallback = (callbacks) => (callback) =>
36
+ fluent(() => arrayPush(callbacks, callback));
37
+ const willSetContentCallbacks = [];
38
+ const willSetTablesCallbacks = [];
39
+ const willSetTableCallbacks = [];
40
+ const willSetRowCallbacks = [];
41
+ const willSetCellCallbacks = [];
42
+ const willSetValuesCallbacks = [];
43
+ const willSetValueCallbacks = [];
44
+ const willDelTablesCallbacks = [];
45
+ const willDelTableCallbacks = [];
46
+ const willDelRowCallbacks = [];
47
+ const willDelCellCallbacks = [];
48
+ const willDelValuesCallbacks = [];
49
+ const willDelValueCallbacks = [];
50
+ const willApplyChangesCallbacks = [];
51
+ const willSetContent = (content) =>
52
+ reduceCallbacks(willSetContentCallbacks, content);
53
+ const willSetTables = (tables) =>
54
+ reduceCallbacks(willSetTablesCallbacks, tables);
55
+ const willSetTable = (tableId, table) =>
56
+ reduceCallbacks(willSetTableCallbacks, table, tableId);
57
+ const willSetRow = (tableId, rowId, row) =>
58
+ reduceCallbacks(willSetRowCallbacks, row, tableId, rowId);
59
+ const willSetCell = (tableId, rowId, cellId, cell) =>
60
+ reduceCallbacks(willSetCellCallbacks, cell, tableId, rowId, cellId);
61
+ const willSetValues = (values) =>
62
+ reduceCallbacks(willSetValuesCallbacks, values);
63
+ const willSetValue = (valueId, value) =>
64
+ reduceCallbacks(willSetValueCallbacks, value, valueId);
65
+ const willDelTables = () => everyCallback(willDelTablesCallbacks);
66
+ const willDelTable = (tableId) =>
67
+ everyCallback(willDelTableCallbacks, tableId);
68
+ const willDelRow = (tableId, rowId) =>
69
+ everyCallback(willDelRowCallbacks, tableId, rowId);
70
+ const willDelCell = (tableId, rowId, cellId) =>
71
+ everyCallback(willDelCellCallbacks, tableId, rowId, cellId);
72
+ const willDelValues = () => everyCallback(willDelValuesCallbacks);
73
+ const willDelValue = (valueId) =>
74
+ everyCallback(willDelValueCallbacks, valueId);
75
+ const willApplyChanges = (changes) =>
76
+ reduceCallbacks(willApplyChangesCallbacks, changes);
77
+ const getStore = () => store;
78
+ const addWillSetContentCallback = addCallback(willSetContentCallbacks);
79
+ const addWillSetTablesCallback = addCallback(willSetTablesCallbacks);
80
+ const addWillSetTableCallback = addCallback(willSetTableCallbacks);
81
+ const addWillSetRowCallback = addCallback(willSetRowCallbacks);
82
+ const addWillSetCellCallback = addCallback(willSetCellCallbacks);
83
+ const addWillSetValuesCallback = addCallback(willSetValuesCallbacks);
84
+ const addWillSetValueCallback = addCallback(willSetValueCallbacks);
85
+ const addWillDelTablesCallback = addCallback(willDelTablesCallbacks);
86
+ const addWillDelTableCallback = addCallback(willDelTableCallbacks);
87
+ const addWillDelRowCallback = addCallback(willDelRowCallbacks);
88
+ const addWillDelCellCallback = addCallback(willDelCellCallbacks);
89
+ const addWillDelValuesCallback = addCallback(willDelValuesCallbacks);
90
+ const addWillDelValueCallback = addCallback(willDelValueCallbacks);
91
+ const addWillApplyChangesCallback = addCallback(willApplyChangesCallbacks);
92
+ const destroy = () => {};
93
+ const middleware = objFreeze({
94
+ getStore,
95
+ addWillSetContentCallback,
96
+ addWillSetTablesCallback,
97
+ addWillSetTableCallback,
98
+ addWillSetRowCallback,
99
+ addWillSetCellCallback,
100
+ addWillSetValuesCallback,
101
+ addWillSetValueCallback,
102
+ addWillDelTablesCallback,
103
+ addWillDelTableCallback,
104
+ addWillDelRowCallback,
105
+ addWillDelCellCallback,
106
+ addWillDelValuesCallback,
107
+ addWillDelValueCallback,
108
+ addWillApplyChangesCallback,
109
+ destroy,
110
+ });
111
+ store.setMiddleware(
112
+ willSetContent,
113
+ willSetTables,
114
+ willSetTable,
115
+ willSetRow,
116
+ willSetCell,
117
+ willSetValues,
118
+ willSetValue,
119
+ willDelTables,
120
+ willDelTable,
121
+ willDelRow,
122
+ willDelCell,
123
+ willDelValues,
124
+ willDelValue,
125
+ willApplyChanges,
126
+ );
127
+ return middleware;
128
+ });
129
+
130
+ export {createMiddleware};
@@ -0,0 +1,130 @@
1
+ const isUndefined = (thing) => thing === void 0;
2
+
3
+ const arrayEvery = (array, cb) => array.every(cb);
4
+ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
5
+ const arrayPush = (array, ...values) => array.push(...values);
6
+
7
+ const object = Object;
8
+ const objFreeze = object.freeze;
9
+
10
+ const getCreateFunction = (getFunction, initFunction) => {
11
+ const thingsByStore = /* @__PURE__ */ new WeakMap();
12
+ return (store) => {
13
+ if (!thingsByStore.has(store)) {
14
+ thingsByStore.set(store, getFunction(store));
15
+ }
16
+ const thing = thingsByStore.get(store);
17
+ return thing;
18
+ };
19
+ };
20
+
21
+ const reduceCallbacks = (callbacks, thing, ...ids) =>
22
+ arrayReduce(
23
+ callbacks,
24
+ (current, callback) =>
25
+ isUndefined(current) ? current : callback(...ids, current),
26
+ thing,
27
+ );
28
+ const everyCallback = (callbacks, ...ids) =>
29
+ arrayEvery(callbacks, (callback) => callback(...ids));
30
+ const createMiddleware = getCreateFunction((store) => {
31
+ const fluent = (actions) => {
32
+ actions();
33
+ return middleware;
34
+ };
35
+ const addCallback = (callbacks) => (callback) =>
36
+ fluent(() => arrayPush(callbacks, callback));
37
+ const willSetContentCallbacks = [];
38
+ const willSetTablesCallbacks = [];
39
+ const willSetTableCallbacks = [];
40
+ const willSetRowCallbacks = [];
41
+ const willSetCellCallbacks = [];
42
+ const willSetValuesCallbacks = [];
43
+ const willSetValueCallbacks = [];
44
+ const willDelTablesCallbacks = [];
45
+ const willDelTableCallbacks = [];
46
+ const willDelRowCallbacks = [];
47
+ const willDelCellCallbacks = [];
48
+ const willDelValuesCallbacks = [];
49
+ const willDelValueCallbacks = [];
50
+ const willApplyChangesCallbacks = [];
51
+ const willSetContent = (content) =>
52
+ reduceCallbacks(willSetContentCallbacks, content);
53
+ const willSetTables = (tables) =>
54
+ reduceCallbacks(willSetTablesCallbacks, tables);
55
+ const willSetTable = (tableId, table) =>
56
+ reduceCallbacks(willSetTableCallbacks, table, tableId);
57
+ const willSetRow = (tableId, rowId, row) =>
58
+ reduceCallbacks(willSetRowCallbacks, row, tableId, rowId);
59
+ const willSetCell = (tableId, rowId, cellId, cell) =>
60
+ reduceCallbacks(willSetCellCallbacks, cell, tableId, rowId, cellId);
61
+ const willSetValues = (values) =>
62
+ reduceCallbacks(willSetValuesCallbacks, values);
63
+ const willSetValue = (valueId, value) =>
64
+ reduceCallbacks(willSetValueCallbacks, value, valueId);
65
+ const willDelTables = () => everyCallback(willDelTablesCallbacks);
66
+ const willDelTable = (tableId) =>
67
+ everyCallback(willDelTableCallbacks, tableId);
68
+ const willDelRow = (tableId, rowId) =>
69
+ everyCallback(willDelRowCallbacks, tableId, rowId);
70
+ const willDelCell = (tableId, rowId, cellId) =>
71
+ everyCallback(willDelCellCallbacks, tableId, rowId, cellId);
72
+ const willDelValues = () => everyCallback(willDelValuesCallbacks);
73
+ const willDelValue = (valueId) =>
74
+ everyCallback(willDelValueCallbacks, valueId);
75
+ const willApplyChanges = (changes) =>
76
+ reduceCallbacks(willApplyChangesCallbacks, changes);
77
+ const getStore = () => store;
78
+ const addWillSetContentCallback = addCallback(willSetContentCallbacks);
79
+ const addWillSetTablesCallback = addCallback(willSetTablesCallbacks);
80
+ const addWillSetTableCallback = addCallback(willSetTableCallbacks);
81
+ const addWillSetRowCallback = addCallback(willSetRowCallbacks);
82
+ const addWillSetCellCallback = addCallback(willSetCellCallbacks);
83
+ const addWillSetValuesCallback = addCallback(willSetValuesCallbacks);
84
+ const addWillSetValueCallback = addCallback(willSetValueCallbacks);
85
+ const addWillDelTablesCallback = addCallback(willDelTablesCallbacks);
86
+ const addWillDelTableCallback = addCallback(willDelTableCallbacks);
87
+ const addWillDelRowCallback = addCallback(willDelRowCallbacks);
88
+ const addWillDelCellCallback = addCallback(willDelCellCallbacks);
89
+ const addWillDelValuesCallback = addCallback(willDelValuesCallbacks);
90
+ const addWillDelValueCallback = addCallback(willDelValueCallbacks);
91
+ const addWillApplyChangesCallback = addCallback(willApplyChangesCallbacks);
92
+ const destroy = () => {};
93
+ const middleware = objFreeze({
94
+ getStore,
95
+ addWillSetContentCallback,
96
+ addWillSetTablesCallback,
97
+ addWillSetTableCallback,
98
+ addWillSetRowCallback,
99
+ addWillSetCellCallback,
100
+ addWillSetValuesCallback,
101
+ addWillSetValueCallback,
102
+ addWillDelTablesCallback,
103
+ addWillDelTableCallback,
104
+ addWillDelRowCallback,
105
+ addWillDelCellCallback,
106
+ addWillDelValuesCallback,
107
+ addWillDelValueCallback,
108
+ addWillApplyChangesCallback,
109
+ destroy,
110
+ });
111
+ store.setMiddleware(
112
+ willSetContent,
113
+ willSetTables,
114
+ willSetTable,
115
+ willSetRow,
116
+ willSetCell,
117
+ willSetValues,
118
+ willSetValue,
119
+ willDelTables,
120
+ willDelTable,
121
+ willDelRow,
122
+ willDelCell,
123
+ willDelValues,
124
+ willDelValue,
125
+ willApplyChanges,
126
+ );
127
+ return middleware;
128
+ });
129
+
130
+ export {createMiddleware};
@@ -1 +1 @@
1
- const e=e=>void 0===e,t=e=>null===e,n=(r=e,(e,t,n)=>r(e)?n?.():t(e));var r;const s=e=>e.length,o=(e,t)=>e.includes(t),c=(e,t)=>e.forEach(t),i=e=>0==s(e),l=(e,...t)=>e.push(...t),a=e=>e.pop(),d=e=>e.shift(),u=e=>e?.size??0,h=(p=u,e=>{return t=(e,t)=>e+p(t),k(e).reduce(t,0);var t});var p;const v=(e,t)=>e?.has(t)??!1,g=t=>e(t)||0==u(t),k=e=>[...e?.values()??[]],C=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),L=Object.freeze,w=Map,S=e=>new w(e),y=(e,t)=>e?.get(t),z=(t,n,r)=>e(r)?(f(t,n),t):t?.set(n,r),E=(e,t,n,r)=>(v(e,t)?r?.(y(e,t)):z(e,t,n()),y(e,t)),I=(e,t,r,o,c=0)=>n((r?E:y)(e,t[c],c>s(t)-2?r:S),n=>{if(c>s(t)-2)return o?.(n)&&z(e,t[c]),n;const i=I(n,t,r,o,c+1);return g(n)&&z(e,t[c]),i}),V=t=>new Set(Array.isArray(t)||e(t)?t:[t]),A=/^\d+$/,F=(()=>{const r=new WeakMap;return u=>{r.has(u)||r.set(u,(r=>{let u,p,k,w=100,F=S(),M=S(),_=1;const b=S(),j=S(),[x,B,O]=(()=>{let e;const[r,o]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{A.test(t)&&s(e)<1e3&&l(e,t)}]})(),i=S();return[(t,n,s,o=[],c=()=>[])=>{e??=te;const l=r(1);var a,d;return z(i,l,[t,n,s,o,c]),a=I(n,s??[""],V),d=l,a?.add(d),l},(n,r,...o)=>c(((e,n=[""])=>{const r=[],o=(e,i)=>i==s(n)?l(r,e):t(n[i])?C(e,e=>o(e,i+1)):c([n[i],null],t=>o(y(e,t),i+1));return o(e,0),r})(n,r),t=>C(t,t=>y(i,t)[0](e,...r??[],...o))),e=>n(y(i,e),([,t,n])=>(I(t,n??[""],void 0,t=>(f(t,e),g(t)?1:0)),z(i,e),o(e),n)),r=>n(y(i,r),([n,,r=[],o,i])=>{const l=(...a)=>{const d=s(a);d==s(r)?n(e,...a,...i(a)):t(r[d])?c(o[d]?.(...a)??[],e=>l(...a,e)):l(...a,r[d])};l()})]})(),T=S(),W=S(),$=[],m=[],q=(t,n)=>{_=0,r.transaction(()=>{const[s,o]=y(T,n);C(s,(n,s)=>C(n,(n,o)=>C(n,(n,c)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(r,s,o,c,n[t])))),C(o,(n,s)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(r,s,n[t]))}),_=1},D=e=>{z(T,e),z(W,e),B(j,[e])},G=(e,t)=>c(((e,t)=>e.splice(0,t))(e,t??s(e)),D),H=()=>G($,s($)-w),J=()=>n(u,()=>{l($,u),H(),G(m),u=void 0,k=1}),K=()=>{u=a($),k=1};let N,P;const Q=(t="")=>(e(u)&&(u=""+p++,z(T,u,[F,M]),Z(u,t),F=S(),M=S(),k=1),u),R=()=>{i($)||(((e,...t)=>{e.unshift(...t)})(m,Q()),q(0,u),u=a($),k=1)},U=()=>{i(m)||(l($,u),u=d(m),q(1,u),k=1)},X=()=>{k&&(B(b),k=0)},Y=e=>{const t=Q(e);return X(),t},Z=(e,t)=>(ee(e)&&y(W,e)!==t&&(z(W,e,t),B(j,[e])),te),ee=e=>v(T,e),te={setSize:e=>(w=e,H(),te),addCheckpoint:Y,setCheckpoint:Z,getStore:()=>r,getCheckpointIds:()=>[[...$],u,[...m]],forEachCheckpoint:e=>{return t=e,C(W,(e,n)=>t(n,e));var t},hasCheckpoint:ee,getCheckpoint:e=>y(W,e),goBackward:()=>(R(),X(),te),goForward:()=>(U(),X(),te),goTo:t=>{const n=o($,t)?R:o(m,t)?U:void 0;for(;!e(n)&&t!=u;)n();return X(),te},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,t)=>x(t,j,[e]),delListener:e=>(O(e),te),clear:()=>(G($),G(m),e(u)||D(u),u=void 0,p=0,Y(),te),clearForward:()=>(i(m)||(G(m),B(b)),te),destroy:()=>{r.delListener(N),r.delListener(P)},getListenerStats:()=>({checkpointIds:h(b),checkpoint:h(j)}),_registerListeners:()=>{N=r.addCellListener(null,null,null,(e,t,n,r,s,o)=>{if(_){J();const e=E(F,t,S),c=E(e,n,S),i=E(c,r,()=>[o,void 0]);i[1]=s,i[0]===s&&g(z(c,r))&&g(z(e,n))&&g(z(F,t))&&K(),X()}}),P=r.addValueListener(null,(e,t,n,r)=>{if(_){J();const e=E(M,t,()=>[r,void 0]);e[1]=n,e[0]===n&&g(z(M,t))&&K(),X()}})}};return L(te.clear())})(u));const p=r.get(u);return p._registerListeners(),p}})();export{F as createCheckpoints};
1
+ const e=e=>void 0===e,t=e=>null===e,r=(n=e,(e,t,r)=>n(e)?r?.():t(e));var n;const s=e=>e.length,o=(e,t)=>e.includes(t),c=(e,t)=>e.forEach(t),i=e=>0==s(e),l=(e,...t)=>e.push(...t),a=e=>e.pop(),d=e=>e.shift(),u=e=>e?.size??0,h=(p=u,e=>{return t=(e,t)=>e+p(t),k(e).reduce(t,0);var t});var p;const v=(e,t)=>e?.has(t)??!1,g=t=>e(t)||0==u(t),k=e=>[...e?.values()??[]],f=(e,t)=>e?.forEach(t),C=(e,t)=>e?.delete(t),L=Object.freeze,w=Map,S=e=>new w(e),y=(e,t)=>e?.get(t),z=(t,r,n)=>e(n)?(C(t,r),t):t?.set(r,n),E=(e,t,r,n)=>(v(e,t)?n?.(y(e,t)):z(e,t,r()),y(e,t)),I=(e,t,n,o,c=0)=>r((n?E:y)(e,t[c],c>s(t)-2?n:S),r=>{if(c>s(t)-2)return o?.(r)&&z(e,t[c]),r;const i=I(r,t,n,o,c+1);return g(r)&&z(e,t[c]),i}),O=t=>new Set(Array.isArray(t)||e(t)?t:[t]),A=/^\d+$/,D=(()=>{const n=new WeakMap;return u=>{n.has(u)||n.set(u,(n=>{let u,p,k,w=100,D=S(),F=S(),M=1;const V=S(),_=S(),[b,j,x]=(()=>{let e;const[n,o]=(()=>{const e=[];let t=0;return[r=>(r?d(e):null)??""+t++,t=>{A.test(t)&&s(e)<1e3&&l(e,t)}]})(),i=S();return[(t,r,s,o=[],c=()=>[])=>{e??=te;const l=n(1);var a,d;return z(i,l,[t,r,s,o,c]),a=I(r,s??[""],O),d=l,a?.add(d),l},(r,n,...o)=>c(((e,r=[""])=>{const n=[],o=(e,i)=>i==s(r)?l(n,e):t(r[i])?f(e,e=>o(e,i+1)):c([r[i],null],t=>o(y(e,t),i+1));return o(e,0),n})(r,n),t=>f(t,t=>y(i,t)[0](e,...n??[],...o))),e=>r(y(i,e),([,t,r])=>(I(t,r??[""],void 0,t=>(C(t,e),g(t)?1:0)),z(i,e),o(e),r)),n=>r(y(i,n),([r,,n=[],o,i])=>{const l=(...a)=>{const d=s(a);d==s(n)?r(e,...a,...i(a)):t(n[d])?c(o[d]?.(...a)??[],e=>l(...a,e)):l(...a,n[d])};l()})]})(),B=S(),T=S(),W=[],$=[],m=(e,t)=>{M=0,n.transaction(()=>{const[r,s]=y(B,t);f(r,(t,r)=>f(t,(t,s)=>f(t,(t,o)=>n.setOrDelCell(r,s,o,t[e],!0)))),f(s,(t,r)=>n.setOrDelValue(r,t[e],!0))}),M=1},q=e=>{z(B,e),z(T,e),j(_,[e])},G=(e,t)=>c(((e,t)=>e.splice(0,t))(e,t??s(e)),q),H=()=>G(W,s(W)-w),J=()=>r(u,()=>{l(W,u),H(),G($),u=void 0,k=1}),K=()=>{u=a(W),k=1};let N,P;const Q=(t="")=>(e(u)&&(u=""+p++,z(B,u,[D,F]),Z(u,t),D=S(),F=S(),k=1),u),R=()=>{i(W)||(((e,...t)=>{e.unshift(...t)})($,Q()),m(0,u),u=a(W),k=1)},U=()=>{i($)||(l(W,u),u=d($),m(1,u),k=1)},X=()=>{k&&(j(V),k=0)},Y=e=>{const t=Q(e);return X(),t},Z=(e,t)=>(ee(e)&&y(T,e)!==t&&(z(T,e,t),j(_,[e])),te),ee=e=>v(B,e),te={setSize:e=>(w=e,H(),te),addCheckpoint:Y,setCheckpoint:Z,getStore:()=>n,getCheckpointIds:()=>[[...W],u,[...$]],forEachCheckpoint:e=>{return t=e,f(T,(e,r)=>t(r,e));var t},hasCheckpoint:ee,getCheckpoint:e=>y(T,e),goBackward:()=>(R(),X(),te),goForward:()=>(U(),X(),te),goTo:t=>{const r=o(W,t)?R:o($,t)?U:void 0;for(;!e(r)&&t!=u;)r();return X(),te},addCheckpointIdsListener:e=>b(e,V),addCheckpointListener:(e,t)=>b(t,_,[e]),delListener:e=>(x(e),te),clear:()=>(G(W),G($),e(u)||q(u),u=void 0,p=0,Y(),te),clearForward:()=>(i($)||(G($),j(V)),te),destroy:()=>{n.delListener(N),n.delListener(P)},getListenerStats:()=>({checkpointIds:h(V),checkpoint:h(_)}),_registerListeners:()=>{N=n.addCellListener(null,null,null,(e,t,r,n,s,o)=>{if(M){J();const e=E(D,t,S),c=E(e,r,S),i=E(c,n,()=>[o,void 0]);i[1]=s,i[0]===s&&g(z(c,n))&&g(z(e,r))&&g(z(D,t))&&K(),X()}}),P=n.addValueListener(null,(e,t,r,n)=>{if(M){J();const e=E(F,t,()=>[n,void 0]);e[1]=r,e[0]===r&&g(z(F,t))&&K(),X()}})}};return L(te.clear())})(u));const p=n.get(u);return p._registerListeners(),p}})();export{D as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- const e=e=>void 0===e,t=e=>null===e,n=(r=e,(e,t,n)=>r(e)?n?.():t(e));var r;const s=e=>e.length,o=(e,t)=>e.includes(t),c=(e,t)=>e.forEach(t),i=e=>0==s(e),l=(e,...t)=>e.push(...t),a=e=>e.pop(),d=e=>e.shift(),u=e=>e?.size??0,h=(p=u,e=>{return t=(e,t)=>e+p(t),k(e).reduce(t,0);var t});var p;const v=(e,t)=>e?.has(t)??!1,g=t=>e(t)||0==u(t),k=e=>[...e?.values()??[]],C=(e,t)=>e?.forEach(t),f=(e,t)=>e?.delete(t),L=Object.freeze,w=Map,S=e=>new w(e),y=(e,t)=>e?.get(t),z=(t,n,r)=>e(r)?(f(t,n),t):t?.set(n,r),E=(e,t,n,r)=>(v(e,t)?r?.(y(e,t)):z(e,t,n()),y(e,t)),I=(e,t,r,o,c=0)=>n((r?E:y)(e,t[c],c>s(t)-2?r:S),n=>{if(c>s(t)-2)return o?.(n)&&z(e,t[c]),n;const i=I(n,t,r,o,c+1);return g(n)&&z(e,t[c]),i}),V=t=>new Set(Array.isArray(t)||e(t)?t:[t]),A=/^\d+$/,F=(()=>{const r=new WeakMap;return u=>{r.has(u)||r.set(u,(r=>{let u,p,k,w=100,F=S(),M=S(),_=1;const b=S(),j=S(),[x,B,O]=(()=>{let e;const[r,o]=(()=>{const e=[];let t=0;return[n=>(n?d(e):null)??""+t++,t=>{A.test(t)&&s(e)<1e3&&l(e,t)}]})(),i=S();return[(t,n,s,o=[],c=()=>[])=>{e??=te;const l=r(1);var a,d;return z(i,l,[t,n,s,o,c]),a=I(n,s??[""],V),d=l,a?.add(d),l},(n,r,...o)=>c(((e,n=[""])=>{const r=[],o=(e,i)=>i==s(n)?l(r,e):t(n[i])?C(e,e=>o(e,i+1)):c([n[i],null],t=>o(y(e,t),i+1));return o(e,0),r})(n,r),t=>C(t,t=>y(i,t)[0](e,...r??[],...o))),e=>n(y(i,e),([,t,n])=>(I(t,n??[""],void 0,t=>(f(t,e),g(t)?1:0)),z(i,e),o(e),n)),r=>n(y(i,r),([n,,r=[],o,i])=>{const l=(...a)=>{const d=s(a);d==s(r)?n(e,...a,...i(a)):t(r[d])?c(o[d]?.(...a)??[],e=>l(...a,e)):l(...a,r[d])};l()})]})(),T=S(),W=S(),$=[],m=[],q=(t,n)=>{_=0,r.transaction(()=>{const[s,o]=y(T,n);C(s,(n,s)=>C(n,(n,o)=>C(n,(n,c)=>((t,n,r,s,o)=>e(o)?t.delCell(n,r,s,!0):t.setCell(n,r,s,o))(r,s,o,c,n[t])))),C(o,(n,s)=>((t,n,r)=>e(r)?t.delValue(n):t.setValue(n,r))(r,s,n[t]))}),_=1},D=e=>{z(T,e),z(W,e),B(j,[e])},G=(e,t)=>c(((e,t)=>e.splice(0,t))(e,t??s(e)),D),H=()=>G($,s($)-w),J=()=>n(u,()=>{l($,u),H(),G(m),u=void 0,k=1}),K=()=>{u=a($),k=1};let N,P;const Q=(t="")=>(e(u)&&(u=""+p++,z(T,u,[F,M]),Z(u,t),F=S(),M=S(),k=1),u),R=()=>{i($)||(((e,...t)=>{e.unshift(...t)})(m,Q()),q(0,u),u=a($),k=1)},U=()=>{i(m)||(l($,u),u=d(m),q(1,u),k=1)},X=()=>{k&&(B(b),k=0)},Y=e=>{const t=Q(e);return X(),t},Z=(e,t)=>(ee(e)&&y(W,e)!==t&&(z(W,e,t),B(j,[e])),te),ee=e=>v(T,e),te={setSize:e=>(w=e,H(),te),addCheckpoint:Y,setCheckpoint:Z,getStore:()=>r,getCheckpointIds:()=>[[...$],u,[...m]],forEachCheckpoint:e=>{return t=e,C(W,(e,n)=>t(n,e));var t},hasCheckpoint:ee,getCheckpoint:e=>y(W,e),goBackward:()=>(R(),X(),te),goForward:()=>(U(),X(),te),goTo:t=>{const n=o($,t)?R:o(m,t)?U:void 0;for(;!e(n)&&t!=u;)n();return X(),te},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,t)=>x(t,j,[e]),delListener:e=>(O(e),te),clear:()=>(G($),G(m),e(u)||D(u),u=void 0,p=0,Y(),te),clearForward:()=>(i(m)||(G(m),B(b)),te),destroy:()=>{r.delListener(N),r.delListener(P)},getListenerStats:()=>({checkpointIds:h(b),checkpoint:h(j)}),_registerListeners:()=>{N=r.addCellListener(null,null,null,(e,t,n,r,s,o)=>{if(_){J();const e=E(F,t,S),c=E(e,n,S),i=E(c,r,()=>[o,void 0]);i[1]=s,i[0]===s&&g(z(c,r))&&g(z(e,n))&&g(z(F,t))&&K(),X()}}),P=r.addValueListener(null,(e,t,n,r)=>{if(_){J();const e=E(M,t,()=>[r,void 0]);e[1]=n,e[0]===n&&g(z(M,t))&&K(),X()}})}};return L(te.clear())})(u));const p=r.get(u);return p._registerListeners(),p}})();export{F as createCheckpoints};
1
+ const e=e=>void 0===e,t=e=>null===e,r=(n=e,(e,t,r)=>n(e)?r?.():t(e));var n;const s=e=>e.length,o=(e,t)=>e.includes(t),c=(e,t)=>e.forEach(t),i=e=>0==s(e),l=(e,...t)=>e.push(...t),a=e=>e.pop(),d=e=>e.shift(),u=e=>e?.size??0,h=(p=u,e=>{return t=(e,t)=>e+p(t),k(e).reduce(t,0);var t});var p;const v=(e,t)=>e?.has(t)??!1,g=t=>e(t)||0==u(t),k=e=>[...e?.values()??[]],f=(e,t)=>e?.forEach(t),C=(e,t)=>e?.delete(t),L=Object.freeze,w=Map,S=e=>new w(e),y=(e,t)=>e?.get(t),z=(t,r,n)=>e(n)?(C(t,r),t):t?.set(r,n),E=(e,t,r,n)=>(v(e,t)?n?.(y(e,t)):z(e,t,r()),y(e,t)),I=(e,t,n,o,c=0)=>r((n?E:y)(e,t[c],c>s(t)-2?n:S),r=>{if(c>s(t)-2)return o?.(r)&&z(e,t[c]),r;const i=I(r,t,n,o,c+1);return g(r)&&z(e,t[c]),i}),O=t=>new Set(Array.isArray(t)||e(t)?t:[t]),A=/^\d+$/,D=(()=>{const n=new WeakMap;return u=>{n.has(u)||n.set(u,(n=>{let u,p,k,w=100,D=S(),F=S(),M=1;const V=S(),_=S(),[b,j,x]=(()=>{let e;const[n,o]=(()=>{const e=[];let t=0;return[r=>(r?d(e):null)??""+t++,t=>{A.test(t)&&s(e)<1e3&&l(e,t)}]})(),i=S();return[(t,r,s,o=[],c=()=>[])=>{e??=te;const l=n(1);var a,d;return z(i,l,[t,r,s,o,c]),a=I(r,s??[""],O),d=l,a?.add(d),l},(r,n,...o)=>c(((e,r=[""])=>{const n=[],o=(e,i)=>i==s(r)?l(n,e):t(r[i])?f(e,e=>o(e,i+1)):c([r[i],null],t=>o(y(e,t),i+1));return o(e,0),n})(r,n),t=>f(t,t=>y(i,t)[0](e,...n??[],...o))),e=>r(y(i,e),([,t,r])=>(I(t,r??[""],void 0,t=>(C(t,e),g(t)?1:0)),z(i,e),o(e),r)),n=>r(y(i,n),([r,,n=[],o,i])=>{const l=(...a)=>{const d=s(a);d==s(n)?r(e,...a,...i(a)):t(n[d])?c(o[d]?.(...a)??[],e=>l(...a,e)):l(...a,n[d])};l()})]})(),B=S(),T=S(),W=[],$=[],m=(e,t)=>{M=0,n.transaction(()=>{const[r,s]=y(B,t);f(r,(t,r)=>f(t,(t,s)=>f(t,(t,o)=>n.setOrDelCell(r,s,o,t[e],!0)))),f(s,(t,r)=>n.setOrDelValue(r,t[e],!0))}),M=1},q=e=>{z(B,e),z(T,e),j(_,[e])},G=(e,t)=>c(((e,t)=>e.splice(0,t))(e,t??s(e)),q),H=()=>G(W,s(W)-w),J=()=>r(u,()=>{l(W,u),H(),G($),u=void 0,k=1}),K=()=>{u=a(W),k=1};let N,P;const Q=(t="")=>(e(u)&&(u=""+p++,z(B,u,[D,F]),Z(u,t),D=S(),F=S(),k=1),u),R=()=>{i(W)||(((e,...t)=>{e.unshift(...t)})($,Q()),m(0,u),u=a(W),k=1)},U=()=>{i($)||(l(W,u),u=d($),m(1,u),k=1)},X=()=>{k&&(j(V),k=0)},Y=e=>{const t=Q(e);return X(),t},Z=(e,t)=>(ee(e)&&y(T,e)!==t&&(z(T,e,t),j(_,[e])),te),ee=e=>v(B,e),te={setSize:e=>(w=e,H(),te),addCheckpoint:Y,setCheckpoint:Z,getStore:()=>n,getCheckpointIds:()=>[[...W],u,[...$]],forEachCheckpoint:e=>{return t=e,f(T,(e,r)=>t(r,e));var t},hasCheckpoint:ee,getCheckpoint:e=>y(T,e),goBackward:()=>(R(),X(),te),goForward:()=>(U(),X(),te),goTo:t=>{const r=o(W,t)?R:o($,t)?U:void 0;for(;!e(r)&&t!=u;)r();return X(),te},addCheckpointIdsListener:e=>b(e,V),addCheckpointListener:(e,t)=>b(t,_,[e]),delListener:e=>(x(e),te),clear:()=>(G(W),G($),e(u)||q(u),u=void 0,p=0,Y(),te),clearForward:()=>(i($)||(G($),j(V)),te),destroy:()=>{n.delListener(N),n.delListener(P)},getListenerStats:()=>({checkpointIds:h(V),checkpoint:h(_)}),_registerListeners:()=>{N=n.addCellListener(null,null,null,(e,t,r,n,s,o)=>{if(M){J();const e=E(D,t,S),c=E(e,r,S),i=E(c,n,()=>[o,void 0]);i[1]=s,i[0]===s&&g(z(c,n))&&g(z(e,r))&&g(z(D,t))&&K(),X()}}),P=n.addValueListener(null,(e,t,r,n)=>{if(M){J();const e=E(F,t,()=>[n,void 0]);e[1]=r,e[0]===r&&g(z(F,t))&&K(),X()}})}};return L(te.clear())})(u));const p=n.get(u);return p._registerListeners(),p}})();export{D as createCheckpoints};
package/min/index.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="allowNull",d="Listener",c="Result",u="add",g="Has",h="Ids",f="Table",I=f+"s",b=f+h,w="Row",L=w+"Count",v=w+h,C="Sorted"+w+h,R="Cell",T=R+h,p="Value",S=p+"s",V=p+h,m=e=>t+e,y=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),E=(e,s=t,n)=>e.split(s,n),k=e=>(t,s,n)=>e(t)?n?.():s(t),D=globalThis,H=Math,J=H.max,x=H.min,P=H.floor,F=isFinite,Q=e=>null==e,N=e=>void 0===e,z=e=>null===e,O=k(Q),W=k(N),A=e=>e==s||e==n,j=t=>e(t)==s,_=t=>e(t)==o,B=e=>Array.isArray(e),U=(e,t,s)=>e.slice(t,s),q=e=>e.length,G=()=>{},K=()=>{},X=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},Y=(e,t)=>e.includes(t),Z=(e,t)=>e.every(t),$=(e,t)=>q(e)===q(t)&&Z(e,(e,s)=>t[s]===e),ee=(e,t)=>B(e)&&B(t)?$(e,t):e===t,te=(e,t)=>Z(e,(s,n)=>0==n||t(e[n-1],s)<=0),se=(e,t)=>e.sort(t),ne=(e,t)=>e.forEach(t),ae=(e,t)=>e.map(t),oe=e=>le(e,(e,t)=>e+t,0),re=e=>0==q(e),le=(e,t,s)=>e.reduce(t,s),ie=(e,...t)=>e.push(...t),de=e=>e.pop(),ce=e=>e.shift(),ue=t=>{if(z(t))return"null";const s=e(t);return A(s)||s==a&&F(t)?s:void 0},ge=e=>N(e)||!N(ue(e)),he=(e,t,s,n,a)=>N(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),fe=(e,t,s)=>N(s)?e.delValue(t):e.setValue(t,s),Ie=e=>t=>le(Te(t),(t,s)=>t+e(s),0),be=e=>e?.size??0,we=Ie(be),Le=Ie(we),ve=Ie(Le),Ce=(e,t)=>e?.has(t)??!1,Re=e=>N(e)||0==be(e),Te=e=>[...e?.values()??[]],pe=e=>e.clear(),Se=(e,t)=>e?.forEach(t),Ve=(e,t)=>e?.delete(t),me=Object,ye=e=>me.getPrototypeOf(e),Me=me.isFrozen,Ee=me.entries,ke=e=>!Q(e)&&O(ye(e),e=>e==me.prototype||Q(ye(e)),()=>!0),De=me.keys,He=me.freeze,Je=(e=[])=>me.fromEntries(e),xe=(e,t)=>W(e,e=>e[t]),Pe=(e,t)=>t in e,Fe=(e,t)=>(delete e[t],e),Qe=(e,t)=>ne(Ee(e),([e,s])=>t(s,e)),Ne=(e,t)=>Je(((e,t)=>ae(Ee(e),([e,s])=>t(s,e)))(e,(e,s)=>[s,t(e,s)])),ze=e=>q(De(e)),Oe=e=>ke(e)&&0==ze(e),We=(e,t,s=(e,t)=>e===t)=>{const n=Ee(e);return q(n)===ze(t)&&Z(n,([e,n])=>ke(n)?!!ke(t[e])&&We(t[e],n):s(n,t[e]))},Ae=(e,t,s)=>(Pe(e,t)||(e[t]=s()),e[t]),je=(e,t,s,n=0)=>Q(e)||!ke(e)||!n&&Oe(e)||Me(e)?(s?.(),!1):(Qe(e,(s,n)=>{t(s,n)||Fe(e,n)}),!!n||!Oe(e)),_e=Map,Be=e=>new _e(e),Ue=e=>[...e?.keys()??[]],qe=(e,t)=>e?.get(t),Ge=(e,t)=>Se(e,(e,s)=>t(s,e)),Ke=(e,t,s)=>N(s)?(Ve(e,t),e):e?.set(t,s),Xe=(e,t,s,n)=>(Ce(e,t)?n?.(qe(e,t)):Ke(e,t,s()),qe(e,t)),Ye=(e,t,s,n=Ke)=>(Ne(t,(t,n)=>s(e,n,t)),Ge(e,s=>Pe(t,s)?0:n(e,s)),e),Ze=(e,t,s,n)=>{const a={};return Se(e,(e,o)=>{if(!s?.(e,o)){const s=t?t(e,o):e;n?.(s)||(a[o]=s)}}),a},$e=(e,t,s)=>Ze(e,e=>Ze(e,t,s),Re,Oe),et=(e,t,s)=>Ze(e,e=>$e(e,t,s),Re,Oe),tt=(e,t)=>{const s=Be();return Se(e,(e,n)=>s.set(n,t?.(e)??e)),s},st=e=>tt(e,tt),nt=e=>tt(e,st),at=(e,t,s,n,a=0)=>W((s?Xe:qe)(e,t[a],a>q(t)-2?s:Be),o=>{if(a>q(t)-2)return n?.(o)&&Ke(e,t[a]),o;const r=at(o,t,s,n,a+1);return Re(o)&&Ke(e,t[a]),r}),ot=e=>new Set(B(e)||N(e)?e:[e]),rt=(e,t)=>e?.add(t),lt=(e,t,s,n,a)=>{const o=e.hasRow,r=Be(),l=Be(),i=Be(),d=Be(),c=Be(),u=Be(),g=(t,s,...n)=>{const a=Xe(u,t,ot);return ne(n,t=>rt(a,t)&&s&&e.callListener(t)),n},h=(t,...s)=>W(qe(u,t),n=>{ne(re(s)?Te(n):s,t=>{e.delListener(t),Ve(n,t)}),Re(n)&&Ke(u,t)}),f=(e,s)=>{Ke(r,e,s),Ce(l,e)||(Ke(l,e,t()),Ke(d,e,Be()),Ke(c,e,Be()),a(i))},I=e=>{Ke(r,e),Ke(l,e),Ke(d,e),Ke(c,e),h(e),a(i)};return[()=>e,()=>Ue(r),e=>Ge(l,e),e=>Ce(l,e),e=>qe(r,e),e=>qe(l,e),(e,t)=>Ke(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Be(),u=Be(),I=qe(d,t),b=qe(c,t),w=t=>{const a=s=>e.getCell(n,t,s),d=qe(I,t),c=o(n,t)?s(r(a,t)):void 0;if(d===c||B(d)&&B(c)&&$(d,c)||Ke(i,t,[d,c]),!N(l)){const e=qe(b,t),s=o(n,t)?l(a,t):void 0;e!=s&&Ke(u,t,s)}},L=e=>{a(()=>{Se(i,([,e],t)=>Ke(I,t,e)),Se(u,(e,t)=>Ke(b,t,e))},i,u,I,b,e),pe(i),pe(u)};Ge(I,w),e.hasTable(n)&&ne(e.getRowIds(n),e=>{Ce(I,e)||w(e)}),L(!0),h(t),g(t,0,e.addRowListener(n,null,(e,t,s)=>w(s)),e.addTableListener(n,()=>L()))},I,e=>n(e,i),()=>Ge(u,I),g,h]},it=(e,s)=>j(e)?t=>t(e):e??(()=>s??t),dt=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},ct=/^\d+$/,ut=()=>{const e=[];let s=0;return[n=>(n?ce(e):null)??t+s++,t=>{ct.test(t)&&q(e)<1e3&&ie(e,t)}]},gt=e=>{let s;const[n,a]=ut(),o=Be();return[(a,r,l,i=[],d=()=>[])=>{s??=e();const c=n(1);return Ke(o,c,[a,r,l,i,d]),rt(at(r,l??[t],ot),c),c},(e,n,...a)=>ne(((e,s=[t])=>{const n=[],a=(e,t)=>t==q(s)?ie(n,e):z(s[t])?Se(e,e=>a(e,t+1)):ne([s[t],null],s=>a(qe(e,s),t+1));return a(e,0),n})(e,n),e=>Se(e,e=>qe(o,e)[0](s,...n??[],...a))),e=>W(qe(o,e),([,s,n])=>(at(s,n??[t],void 0,t=>(Ve(t,e),Re(t)?1:0)),Ke(o,e),a(e),n)),e=>W(qe(o,e),([e,,t=[],n,a])=>{const o=(...r)=>{const l=q(r);l==q(t)?e(s,...r,...a(r)):z(t[l])?ne(n[l]?.(...r)??[],e=>o(...r,e)):o(...r,t[l])};o()})]},ht=dt(e=>{let s,n,a,o=100,r=Be(),l=Be(),i=1;const d=Be(),c=Be(),[u,g,h]=gt(()=>J),f=Be(),I=Be(),b=[],w=[],L=(t,s)=>{i=0,e.transaction(()=>{const[n,a]=qe(f,s);Se(n,(s,n)=>Se(s,(s,a)=>Se(s,(s,o)=>he(e,n,a,o,s[t])))),Se(a,(s,n)=>fe(e,n,s[t]))}),i=1},v=e=>{Ke(f,e),Ke(I,e),g(c,[e])},C=(e,t)=>ne(((e,t)=>e.splice(0,t))(e,t??q(e)),v),R=()=>C(b,q(b)-o),T=()=>W(s,()=>{ie(b,s),R(),C(w),s=void 0,a=1}),p=()=>{s=de(b),a=1};let S,V;const m=(e=t)=>(N(s)&&(s=t+n++,Ke(f,s,[r,l]),D(s,e),r=Be(),l=Be(),a=1),s),y=()=>{re(b)||(((e,...t)=>{e.unshift(...t)})(w,m()),L(0,s),s=de(b),a=1)},M=()=>{re(w)||(ie(b,s),s=ce(w),L(1,s),a=1)},E=()=>{a&&(g(d),a=0)},k=e=>{const t=m(e);return E(),t},D=(e,t)=>(H(e)&&qe(I,e)!==t&&(Ke(I,e,t),g(c,[e])),J),H=e=>Ce(f,e),J={setSize:e=>(o=e,R(),J),addCheckpoint:k,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...b],s,[...w]],forEachCheckpoint:e=>Ge(I,e),hasCheckpoint:H,getCheckpoint:e=>qe(I,e),goBackward:()=>(y(),E(),J),goForward:()=>(M(),E(),J),goTo:e=>{const t=Y(b,e)?y:Y(w,e)?M:void 0;for(;!N(t)&&e!=s;)t();return E(),J},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),J),clear:()=>(C(b),C(w),N(s)||v(s),s=void 0,n=0,k(),J),clearForward:()=>(re(w)||(C(w),g(d)),J),destroy:()=>{e.delListener(S),e.delListener(V)},getListenerStats:()=>({checkpointIds:we(d),checkpoint:we(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,(e,t,s,n,a,o)=>{if(i){T();const e=Xe(r,t,Be),l=Xe(e,s,Be),i=Xe(l,n,()=>[o,void 0]);i[1]=a,i[0]===a&&Re(Ke(l,n))&&Re(Ke(e,s))&&Re(Ke(r,t))&&p(),E()}}),V=e.addValueListener(null,(e,t,s,n)=>{if(i){T();const e=Xe(l,t,()=>[n,void 0]);e[1]=s,e[0]===s&&Re(Ke(l,t))&&p(),E()}})}};return He(J.clear())},e=>e._registerListeners()),ft=E("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),It=Be(ae(ft,(e,t)=>[e,t])),bt=e=>ft[63&e],wt=(e,t)=>qe(It,e[t])??0,Lt=D.crypto?e=>D.crypto.getRandomValues(e):e=>ae(e,()=>P(256*H.random())),vt=(e=16)=>le(Lt(new Uint8Array(e)),(e,t)=>e+bt(t),t),Ct=JSON.stringify,Rt=JSON.parse,Tt=e=>Ct(e,(e,t)=>t instanceof Map?me.fromEntries([...t]):t),pt=new D.TextEncoder,St=e=>{let t=2166136261;return ne(pt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Vt=(e,t)=>(e^t)>>>0,mt=e=>le(Ee(e),(e,[t,s])=>Vt(e,yt(t,s)^yt(t,0)),0),yt=(e,t)=>St(e+":"+t),Mt=(e,t)=>St(Tt(e??null)+":"+t),Et=Mt,kt=yt,Dt=mt,Ht=yt,Jt=e=>le(Ee(e),(e,[t,s])=>Vt(e,yt(t,s)),0),xt=yt,Pt=Jt,Ft=2**36,Qt=2**30,Nt=2**24,zt=2**18,Ot=4096,Wt=e=>{const t=St(e);return bt(t/Nt)+bt(t/zt)+bt(t/Ot)+bt(t/64)+bt(t)},At=(e,t=Date.now)=>{let s=0,n=-1;const a=W(e,Wt,()=>vt(5)),o=e=>{const a=s,[o,r]=N(e)||""==e?[0,0]:l(e);s=J(a,o,t()),n=s==a?s==o?J(n,r):n:s==o?r:-1},r=(e,t,s)=>bt(e/Ft)+bt(e/Qt)+bt(e/Nt)+bt(e/zt)+bt(e/Ot)+bt(e/64)+bt(e)+bt(t/zt)+bt(t/Ot)+bt(t/64)+bt(t)+(N(s)?a:Wt(s)),l=e=>[wt(e,0)*Ft+wt(e,1)*Qt+wt(e,2)*Nt+wt(e,3)*zt+wt(e,4)*Ot+64*wt(e,5)+wt(e,6),wt(e,7)*zt+wt(e,8)*Ot+64*wt(e,9)+wt(e,10),e.slice(11)];return[()=>(o(),r(s,++n)),o,r,l,()=>s,()=>n,()=>a]},jt=(e,t)=>(e??0)<(t??0)?-1:1,_t=dt(e=>{const s=Be(),n=Be(),[a,o,r]=gt(()=>v),[l,i,d,c,u,g,h,,f,I,b,w]=lt(e,Be,e=>N(e)?t:B(e)?ae(e,m):m(e),a,o),L=(t,s,n)=>{const a=u(t);Se(n,(t,n)=>s(n,s=>Se(t,t=>s(t,s=>e.forEachCell(a,t,s)))))},v={setIndexDefinition:(e,t,a,r,l,i=jt)=>{const d=N(l)?void 0:([e],[t])=>l(e,t);return f(e,t,(t,a,l,c,u,f)=>{let I=0;const b=ot(),w=ot(),L=g(e);if(Se(a,([e,t],s)=>{const n=ot(e),a=ot(t);Se(n,e=>Ve(a,e)?Ve(n,e):0),Se(n,e=>{rt(b,e),W(qe(L,e),t=>{Ve(t,s),Re(t)&&(Ke(L,e),I=1)})}),Se(a,e=>{rt(b,e),Ce(L,e)||(Ke(L,e,ot()),I=1),rt(qe(L,e),s),N(r)||rt(w,e)})}),t(),Re(u)||(f?Ge(L,e=>rt(w,e)):Ge(l,e=>W(qe(c,e),e=>ne(B(e)?e:[e],e=>rt(w,e)))),Se(w,e=>{const t=(t,s)=>i(qe(u,t),qe(u,s),e),s=[...qe(L,e)];te(s,t)||(Ke(L,e,ot(se(s,t))),rt(b,e))})),(I||f)&&!N(d)){const t=[...L];te(t,d)||(h(e,Be(se(t,d))),I=1)}I&&o(s,[e]),Se(b,t=>o(n,[e,t]))},it(a),W(r,it)),v},delIndexDefinition:e=>(I(e),v),getStore:l,getIndexIds:i,forEachIndex:e=>d((t,s)=>e(t,e=>L(t,e,s))),forEachSlice:(e,t)=>L(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ce(g(e),t),getTableId:u,getSliceIds:e=>Ue(g(e)),getSliceRowIds:(e,t)=>Te(qe(g(e),t)),addIndexIdsListener:b,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),v),destroy:w,getListenerStats:()=>({sliceIds:we(s),sliceRowIds:Le(n)})};return He(v)}),Bt=([e,t])=>qt(e,t),Ut=([e,t,s])=>[e,t,s],qt=(e,t)=>t?[e,t]:[e],Gt=(e,t,s)=>[e,t,s],Kt=e=>e[2],Xt=(e,t)=>t>e?(e?St(e):0)^St(t):0,Yt=(e,t)=>((e??"")>(t??"")?e:t)??"",Zt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},$t=(e=t)=>qt(Je(),e),es=(e=t)=>[Be(),e,0],ts=([e,t,s],n=Ut)=>[Ze(e,n),t,s],ss=([e,t],s=Bt)=>qt(Ze(e,s),t),ns=(t,s)=>B(t)&&3==q(t)&&j(t[1])&&e(t[2])==a&&F(t[2])&&s(t[0]),as=e=>[e,e],os=(e,t=we)=>t(e[0])+t(e[1]),rs=()=>[Be(),Be()],ls=e=>[...e],is=([e,t])=>e===t,ds=(e,t,s)=>Ke(e,t,qe(e,t)==-s?void 0:s),cs=()=>{let e,t,s=!1,n=!1,o=0,c=[],h=0;const C=Be(),y=Be(),M=Be(),E=Be(),k=Be(),D=Be(),H=Be(),J=Be(),x=Be(),P=Be(),F=Be(),Q=Be(),O=Be(),j=Be(),q=ot(),G=Be(),K=Be(),Z=Be(),ee=Be(),te=rs(),oe=rs(),re=rs(),le=rs(),de=rs(),ce=rs(),ge=rs(),Ie=rs(),Te=rs(),me=rs(),ye=rs(),Me=rs(),Ee=rs(),De=rs(),Je=rs(),xe=rs(),Qe=rs(),ze=rs(),We=rs(),Ae=rs(),_e=rs(),at=rs(),lt=Be(),it=rs(),[dt,ct,ht,ft]=gt(()=>Bs),It=e=>{if(!je(e,(e,t)=>Y([r,l,i],t)))return!1;const t=e[r];if(!A(t)&&t!=a)return!1;const s=e[l];return!(z(s)&&!e[i]||(z(s)||ue(s)==t||Fe(e,l),0))},bt=B,wt=(t,s)=>(!e||Ce(F,s)||Kt(s))&&je(t,(e,t)=>Lt(s,t,e),()=>Kt(s)),Lt=(e,t,s,n)=>je(n?s:St(s,e,t),(n,a)=>W(vt(e,t,a,n),e=>(s[a]=e,!0),()=>!1),()=>Kt(e,t)),vt=(t,s,n,a)=>e?W(qe(qe(F,t),n),e=>z(a)?e[i]?a:Kt(t,s,n,a,e[l]):ue(a)==e[r]?a:Kt(t,s,n,a,e[l]),()=>Kt(t,s,n,a)):N(ue(a))?Kt(t,s,n,a):a,Ct=(e,t)=>je(t?e:Vt(e),(t,s)=>W(pt(s,t),t=>(e[s]=t,!0),()=>!1),()=>Xt()),pt=(e,s)=>t?W(qe(O,e),t=>z(s)?t[i]?s:Xt(e,s,t[l]):ue(s)==t[r]?s:Xt(e,s,t[l]),()=>Xt(e,s)):N(ue(s))?Xt(e,s):s,St=(e,t,s)=>(W(qe(Q,t),([n,a])=>{Se(n,(t,s)=>{Pe(e,s)||(e[s]=t)}),Se(a,n=>{Pe(e,n)||Kt(t,s,n)})}),e),Vt=e=>(t&&(Se(j,(t,s)=>{Pe(e,s)||(e[s]=t)}),Se(q,t=>{Pe(e,t)||Xt(t)})),e),mt=e=>Ye(F,e,(e,t,s)=>{const n=Be(),a=ot();Ye(Xe(F,t,Be),s,(e,t,s)=>{Ke(e,t,s),W(s[l],e=>Ke(n,t,e),()=>rt(a,t))}),Ke(Q,t,[n,a])},(e,t)=>{Ke(F,t),Ke(Q,t)}),yt=e=>Ye(O,e,(e,t,s)=>{Ke(O,t,s),W(s[l],e=>Ke(j,t,e),()=>rt(q,t))},(e,t)=>{Ke(O,t),Ke(j,t),Ve(q,t)}),Mt=e=>Oe(e)?Fs():Ds(e),Et=e=>Ye(Z,e,(e,t,s)=>kt(t,s),(e,t)=>Nt(t)),kt=(e,t)=>Ye(Xe(Z,e,()=>(At(e,1),Ke(G,e,ut()),Ke(K,e,Be()),Be())),t,(t,s,n)=>Dt(e,t,s,n),(t,s)=>zt(e,t,s)),Dt=(e,t,s,n,a)=>Ye(Xe(t,s,()=>(_t(e,s,1),Be())),n,(t,n,a)=>Ht(e,s,t,n,a),(n,o)=>Ot(e,t,s,n,o,a)),Ht=(e,t,s,n,a)=>{Ce(s,n)||Bt(e,t,n,1);const o=qe(s,n);a!==o&&(Ut(e,t,n,o,a),Ke(s,n,a))},Jt=(e,t,s,n,a)=>W(qe(t,s),t=>Ht(e,s,t,n,a),()=>Dt(e,t,s,St({[n]:a},e,s))),xt=e=>Oe(e)?zs():Hs(e),Pt=e=>Ye(ee,e,(e,t,s)=>Ft(t,s),(e,t)=>Wt(t)),Ft=(e,t)=>{Ce(ee,e)||qt(e,1);const s=qe(ee,e);t!==s&&(Gt(e,s,t),Ke(ee,e,t))},Qt=e=>qe(Z,e)??kt(e,{}),Nt=e=>kt(e,{}),zt=(e,t,s)=>{const[,n]=qe(G,e);n(s),Dt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=qe(qe(Q,e)?.[0],a);if(!N(r)&&!o)return Ht(e,s,n,a,r);const l=t=>{Ut(e,s,t,qe(n,t)),Bt(e,s,t,-1),Ke(n,t)};N(r)?l(a):Ge(n,l),Re(n)&&(_t(e,s,-1),Re(Ke(t,s))&&(At(e,-1),Ke(Z,e),Ke(G,e),Ke(K,e)))},Wt=e=>{const t=qe(j,e);if(!N(t))return Ft(e,t);Gt(e,qe(ee,e)),qt(e,-1),Ke(ee,e)},At=(e,t)=>ds(C,e,t),_t=(e,t,s)=>ds(Xe(E,e,Be),t,s)&&Ke(M,e,Xe(M,e,()=>0)+s),Bt=(e,t,s,n)=>{const a=qe(K,e),o=qe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&ds(Xe(y,e,Be),s,n),Ke(a,s,o!=-n?o+n:void 0),ds(Xe(Xe(k,e,Be),t,Be),s,n)},Ut=(e,t,s,n,a)=>{Xe(Xe(Xe(D,e,Be),t,Be),s,()=>[n,0])[1]=a,c[3]?.(e,t,s,a,h)},qt=(e,t)=>ds(H,e,t),Gt=(e,t,s)=>{Xe(J,e,()=>[t,0])[1]=s,c[4]?.(e,s,h)},Kt=(e,t,s,n,a)=>(ie(Xe(Xe(Xe(x,e,Be),t,Be),s,()=>[]),n),a),Xt=(e,t,s)=>(ie(Xe(P,e,()=>[]),t),s),Yt=(e,t,s)=>W(qe(qe(qe(D,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...as(Cs(e,t,s))]),Zt=e=>W(qe(J,e),([e,t])=>[!0,e,t],()=>[!1,...as(ps(e))]),$t=e=>Re(x)||Re(xe[e])?0:Se(e?nt(x):x,(t,s)=>Se(t,(t,n)=>Se(t,(t,a)=>ct(xe[e],[s,n,a],t)))),es=e=>Re(P)||Re(Qe[e])?0:Se(e?tt(P):P,(t,s)=>ct(Qe[e],[s],t)),ts=(e,t,s,n)=>{if(!Re(e))return ct(t,n,()=>Ze(e)),Ge(e,(e,t)=>ct(s,[...n??[],e],1==t)),1},ss=e=>{const t=!Re(te[e]),n=!Re(me[e]),a=!(Re(Ee[e])&&Re(De[e])&&Re(Te[e])&&Re(ye[e])&&Re(ce[e])&&Re(ge[e])&&Re(Ie[e])&&!n&&Re(re[e])&&Re(le[e])),o=!(Re(Je[e])&&Re(Me[e])&&Re(de[e])&&Re(oe[e]));if(t||a||o){const r=e?[tt(C),st(y),tt(M),st(E),nt(k),tt(D,e=>tt(e,e=>tt(e,ls)))]:[C,y,M,E,k,D];if(t){const t=Ss();t!=s&&ct(te[e],void 0,t)}if(a){ts(r[0],re[e],le[e]),Se(r[1],(t,s)=>ts(t,ce[e],ge[e],[s])),Se(r[2],(t,s)=>{0!=t&&ct(Ie[e],[s],bs(s))});const t=ot();Se(r[3],(s,a)=>{ts(s,Te[e],ye[e],[a])&&n&&(ct(me[e],[a,null]),rt(t,a))}),n&&Se(r[5],(s,n)=>{if(!Ce(t,n)){const t=ot();Se(s,e=>Se(e,([s,n],a)=>n!==s?rt(t,a):Ve(e,a))),Se(t,t=>ct(me[e],[n,t]))}}),Se(r[4],(t,s)=>Se(t,(t,n)=>ts(t,Ee[e],De[e],[s,n])))}if(o){let t;Se(r[5],(s,n)=>{let a;Se(s,(s,o)=>{let r;Se(s,([s,l],i)=>{l!==s&&(ct(Je[e],[n,o,i],l,s,Yt),t=a=r=1)}),r&&ct(Me[e],[n,o],Yt)}),a&&ct(de[e],[n],Yt)}),t&&ct(oe[e],void 0,Yt)}}},ns=e=>{const t=!Re(ze[e]),s=!Re(Ae[e])||!Re(_e[e]),a=!Re(at[e])||!Re(We[e]);if(t||s||a){const o=e?[tt(H),tt(J,ls)]:[H,J];if(t){const t=Es();t!=n&&ct(ze[e],void 0,t)}if(s&&ts(o[0],Ae[e],_e[e]),a){let t;Se(o[1],([s,n],a)=>{n!==s&&(ct(at[e],[a],n,s,Zt),t=1)}),t&&ct(We[e],void 0,Zt)}}},us=(e,...t)=>(As(()=>e(...ae(t,m))),Bs),gs=(e,t,s,n,a)=>{let o=Ls(e,t,...s);return dt(()=>{const a=Ls(e,t,...s);$(a,o)||(o=a,n(Bs,e,t,...s,o))},me[a?1:0],[e,t],[fs])},hs=()=>et(Z),fs=()=>Ue(Z),Is=e=>Ue(qe(K,m(e))),bs=e=>be(qe(Z,m(e))),ws=e=>Ue(qe(Z,m(e))),Ls=(e,t,s,n=0,a)=>{return ke(e)?Ls(e.tableId,e.cellId,e.descending,e.offset,e.limit):ae(U(se((o=qe(Z,m(e)),r=(e,s)=>[N(t)?s:qe(e,m(t)),s],ae([...o?.entries()??[]],([e,t])=>r(t,e))),([e],[t])=>jt(e,t)*(s?-1:1)),n,N(a)?a:n+a),([,e])=>e);var o,r},vs=(e,t)=>Ue(qe(qe(Z,m(e)),m(t))),Cs=(e,t,s)=>qe(qe(qe(Z,m(e)),m(t)),m(s)),Rs=()=>Ze(ee),Ts=()=>Ue(ee),ps=e=>qe(ee,m(e)),Ss=()=>!Re(Z),Vs=e=>Ce(Z,m(e)),ms=(e,t)=>Ce(qe(K,m(e)),m(t)),ys=(e,t)=>Ce(qe(Z,m(e)),m(t)),Ms=(e,t,s)=>Ce(qe(qe(Z,m(e)),m(t)),m(s)),Es=()=>!Re(ee),ks=e=>Ce(ee,m(e)),Ds=e=>us(()=>(e=>je(e,wt,Kt))(e)?Et(e):0),Hs=e=>us(()=>Ct(e)?Pt(e):0),Js=e=>(X(()=>Mt(Rt(e))),Bs),xs=t=>us(()=>{if((e=je(t,e=>je(e,It)))&&(mt(t),!Re(Z))){const e=hs();Fs(),Ds(e)}}),Ps=e=>us(()=>{if(t=(e=>je(e,It))(e)){const s=Rs();Ws(),zs(),t=!0,yt(e),Hs(s)}}),Fs=()=>us(()=>Et({})),Qs=e=>us(e=>Ce(Z,e)?Nt(e):0,e),Ns=(e,t)=>us((e,t)=>W(qe(Z,e),s=>Ce(s,t)?zt(e,s,t):0),e,t),zs=()=>us(()=>Pt({})),Os=()=>us(()=>{mt({}),e=!1}),Ws=()=>us(()=>{yt({}),t=!1}),As=(e,t)=>{if(-1!=o){js();const s=e();return _s(t),s}},js=()=>(-1!=o&&o++,1==o&&(c[0]?.(),ct(lt)),Bs),_s=e=>(o>0&&(o--,0==o&&(o=1,h=1,$t(1),Re(D)||ss(1),es(1),Re(J)||ns(1),h=0,e?.(Bs)&&(Se(D,(e,t)=>Se(e,(e,s)=>Se(e,([e],n)=>he(Bs,t,s,n,e)))),pe(D),Se(J,([e],t)=>fe(Bs,t,e)),pe(J)),ct(it[0],void 0),o=-1,$t(0),Re(D)||ss(0),es(0),Re(J)||ns(0),c[1]?.(),ct(it[1],void 0),c[2]?.(),o=0,s=Ss(),n=Es(),ne([C,y,M,E,k,D,x,H,J,P],pe))),Bs),Bs={getContent:()=>[hs(),Rs()],getTables:hs,getTableIds:fs,getTable:e=>$e(qe(Z,m(e))),getTableCellIds:Is,getRowCount:bs,getRowIds:ws,getSortedRowIds:Ls,getRow:(e,t)=>Ze(qe(qe(Z,m(e)),m(t))),getCellIds:vs,getCell:Cs,getValues:Rs,getValueIds:Ts,getValue:ps,hasTables:Ss,hasTable:Vs,hasTableCell:ms,hasRow:ys,hasCell:Ms,hasValues:Es,hasValue:ks,getTablesJson:()=>Tt(Z),getValuesJson:()=>Tt(ee),getJson:()=>Tt([Z,ee]),getTablesSchemaJson:()=>Tt(F),getValuesSchemaJson:()=>Tt(O),getSchemaJson:()=>Tt([F,O]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>us(()=>{const t=_(e)?e():e;bt(t)&&(([e,t])=>{(Oe(e)?Fs:Ds)(e),(Oe(t)?zs:Hs)(t)})(t)}),setTables:Ds,setTable:(e,t)=>us(e=>wt(t,e)?kt(e,t):0,e),setRow:(e,t,s)=>us((e,t)=>Lt(e,t,s)?Dt(e,Qt(e),t,s):0,e,t),addRow:(e,t,s=!0)=>As(()=>{let n;return Lt(e,n,t)&&(e=m(e),Dt(e,Qt(e),n=((e,t)=>{const[s]=qe(G,e);let n;do{n=s(t)}while(Ce(qe(Z,e),n));return n})(e,s?1:0),t)),n}),setPartialRow:(e,t,s)=>us((e,t)=>{if(Lt(e,t,s,1)){const n=Qt(e);Ne(s,(s,a)=>Jt(e,n,t,a,s))}},e,t),setCell:(e,t,s,n)=>us((e,t,s)=>W(vt(e,t,s,_(n)?n(Cs(e,t,s)):n),n=>Jt(e,Qt(e),t,s,n)),e,t,s),setValues:Hs,setPartialValues:e=>us(()=>Ct(e,1)?Ne(e,(e,t)=>Ft(t,e)):0),setValue:(e,t)=>us(e=>W(pt(e,_(t)?t(ps(e)):t),t=>Ft(e,t)),e),applyChanges:e=>us(()=>{Ne(e[0],(e,t)=>N(e)?Qs(t):Ne(e,(e,s)=>N(e)?Ns(t,s):Ne(e,(e,n)=>he(Bs,t,s,n,e)))),Ne(e[1],(e,t)=>fe(Bs,t,e))}),setTablesJson:Js,setValuesJson:e=>(X(()=>xt(Rt(e))),Bs),setJson:e=>us(()=>X(()=>{const[t,s]=Rt(e);Mt(t),xt(s)},()=>Js(e))),setTablesSchema:xs,setValuesSchema:Ps,setSchema:(e,t)=>us(()=>{xs(e),Ps(t)}),delTables:Fs,delTable:Qs,delRow:Ns,delCell:(e,t,s,n)=>us((e,t,s)=>W(qe(Z,e),a=>W(qe(a,t),o=>Ce(o,s)?Ot(e,a,t,o,s,n):0)),e,t,s),delValues:zs,delValue:e=>us(e=>Ce(ee,e)?Wt(e):0,e),delTablesSchema:Os,delValuesSchema:Ws,delSchema:()=>us(()=>{Os(),Ws()}),transaction:As,startTransaction:js,getTransactionChanges:()=>[Ze(D,(e,t)=>-1===qe(C,t)?void 0:Ze(e,(e,s)=>-1===qe(qe(E,t),s)?void 0:Ze(e,([,e])=>e,e=>is(e)),Re,Oe),Re,Oe),Ze(J,([,e])=>e,e=>is(e)),1],getTransactionLog:()=>[!Re(D),!Re(J),et(D,ls,is),et(x),Ze(J,ls,is),Ze(P),Ze(C),$e(E),et(k),Ze(H)],finishTransaction:_s,forEachTable:e=>Se(Z,(t,s)=>e(s,e=>Se(t,(t,s)=>e(s,e=>Ge(t,e))))),forEachTableCell:(e,t)=>Ge(qe(K,m(e)),t),forEachRow:(e,t)=>Se(qe(Z,m(e)),(e,s)=>t(s,t=>Ge(e,t))),forEachCell:(e,t,s)=>Ge(qe(qe(Z,m(e)),m(t)),s),forEachValue:e=>Ge(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>ke(e)?gs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):gs(e,t,[s,n,a],o,r),addStartTransactionListener:e=>dt(e,lt),addWillFinishTransactionListener:e=>dt(e,it[0]),addDidFinishTransactionListener:e=>dt(e,it[1]),callListener:e=>(ft(e),Bs),delListener:e=>(ht(e),Bs),getListenerStats:()=>({hasTables:os(te),tables:os(oe),tableIds:os(re),hasTable:os(le),table:os(de),tableCellIds:os(ce),hasTableCell:os(ge,Le),rowCount:os(Ie),rowIds:os(Te),sortedRowIds:os(me),hasRow:os(ye,Le),row:os(Me,Le),cellIds:os(Ee,Le),hasCell:os(De,ve),cell:os(Je,ve),invalidCell:os(xe,ve),hasValues:os(ze),values:os(We),valueIds:os(Ae),hasValue:os(_e),value:os(at),invalidValue:os(Qe),transaction:we(lt)+os(it)}),isMergeable:()=>!1,createStore:cs,addListener:dt,callListeners:ct,setInternalListeners:(e,t,s,n,a)=>c=[e,t,s,n,a]};return Ne({[g+I]:[0,te,[],()=>[Ss()]],[I]:[0,oe],[b]:[0,re],[g+f]:[1,le,[fs],e=>[Vs(...e)]],[f]:[1,de,[fs]],[f+T]:[1,ce,[fs]],[g+f+R]:[2,ge,[fs,Is],e=>[ms(...e)]],[L]:[1,Ie,[fs]],[v]:[1,Te,[fs]],[g+w]:[2,ye,[fs,ws],e=>[ys(...e)]],[w]:[2,Me,[fs,ws]],[T]:[2,Ee,[fs,ws]],[g+R]:[3,De,[fs,ws,vs],e=>[Ms(...e)]],[R]:[3,Je,[fs,ws,vs],e=>as(Cs(...e))],InvalidCell:[3,xe],[g+S]:[0,ze,[],()=>[Es()]],[S]:[0,We],[V]:[0,Ae],[g+p]:[1,_e,[Ts],e=>[ks(...e)]],[p]:[1,at,[Ts],e=>as(ps(e[0]))],InvalidValue:[1,Qe]},([e,t,s,n],a)=>{Bs[u+a+d]=(...a)=>dt(a[e],t[a[e+1]?1:0],e>0?U(a,0,e):void 0,s,n)}),He(Bs)},us={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},gs=(e=t)=>[es(e),es(e)],hs=(e,s)=>{let n=1,a=gs(),o=0,r=0;const l=Be(),i=ot(),[c,g]=At(e,s),h=cs(),f=e=>{const t=n;return n=0,e(),n=t,R},I=(e,s=0)=>{const n={},o={},[[r,l=t,i=0],d]=e,[c,u]=a,[h,f,I]=c;let w=s?i:I,L=l;Qe(r,([e,a=t,o=0],r)=>{const l=Xe(h,r,es),[i,d,c]=l;let u=s?o:c,g=a;Qe(e,(e,t)=>{const[a,o,l]=b(e,Xe(i,t,es),Ae(Ae(n,r,Je),t,Je),s);u^=s?0:Vt(o?yt(t,o):0,yt(t,l)),g=Yt(g,a)}),u^=s?0:Xt(d,a),Zt(l,a,u),w^=s?0:Vt(c?yt(r,c):0,yt(r,l[2])),L=Yt(L,g)}),w^=s?0:Xt(f,l),Zt(c,l,w);const[v]=b(d,u,o,s);return g(Yt(L,v)),[n,o,1]},b=(e,s,n,a)=>{const[o,r=t,l=0]=e,[i,d,c]=s;let u=r,g=a?l:c;return Qe(o,([e,s=t,o=0],r)=>{const l=Xe(i,r,()=>[void 0,t,0]),[,d,c]=l;(!d||s>d)&&(Zt(l,s,a?o:Mt(e,s)),l[0]=e,n[r]=e,g^=a?0:Vt(yt(r,c),yt(r,l[2])),u=Yt(u,s))}),g^=a?0:Xt(d,r),Zt(s,r,g),[u,c,s[2]]},w=K,L=K,v=()=>[ts(a[0],e=>ts(e,e=>ts(e))),ts(a[1])],C=e=>f(()=>h.applyChanges(I(e))),R={getMergeableContent:v,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>Ze(a[0][0],Kt),getMergeableTableDiff:e=>{const t=$t(a[0][1]),s={};return Ge(a[0][0],(n,[a,o,r])=>Pe(e,n)?r!=e[n]?s[n]=r:0:t[0][n]=ss([a,o],e=>ss(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return Qe(e,(e,s)=>W(qe(a[0][0],s),([n,,a])=>a!=e?Ge(n,(e,[,,n])=>Ae(t,s,Je)[e]=n):0)),t},getMergeableRowDiff:e=>{const t=$t(a[0][1]),s={};return Qe(e,(e,n)=>Ge(qe(a[0][0],n)?.[0],(a,[o,r,l])=>Pe(e,a)?l!==e[a]?Ae(s,n,Je)[a]=l:0:Ae(t[0],n,$t)[0][a]=ss([o,r]))),[t,s]},getMergeableCellHashes:e=>{const t={};return Qe(e,(e,s)=>W(qe(a[0][0],s),([n])=>Qe(e,(e,a)=>W(qe(n,a),([n,,o])=>o!==e?Ge(n,(e,[,,n])=>Ae(Ae(t,s,Je),a,Je)[e]=n):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,n={};return Qe(e,(e,s)=>Qe(e,(e,a)=>W(qe(t,s),([t,o])=>W(qe(t,a),([t,r])=>Ge(t,(t,[l,i,d])=>d!==e[t]?Ae(Ae(n,s,()=>$t(o))[0],a,()=>$t(r))[0][t]=[l,i]:0))))),qt(n,s)},getMergeableValueHashes:()=>Ze(a[1][0],Kt),getMergeableValueDiff:e=>{const[,[t,s]]=a,n=Ze(t,Bt,([,,t],s)=>t==e?.[s]);return qt(n,s)},setMergeableContent:e=>f(()=>(e=>B(e)&&2==q(e)&&ns(e[0],e=>je(e,e=>ns(e,e=>je(e,e=>ns(e,e=>je(e,e=>ns(e,ge),void 0,1)),void 0,1)),void 0,1))&&ns(e[1],e=>je(e,e=>ns(e,ge),void 0,1)))(e)?h.transaction(()=>{h.delTables().delValues(),a=gs(),h.applyChanges(I(e,1))}):0),setDefaultContent:e=>(h.transaction(()=>{o=1,h.setContent(e),o=0}),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[o,r,d]]=a,c=e?Gt:qt,u={};Se(l,(e,s)=>W(qe(t,s),([t,n,a])=>{const o={};Se(e,(e,s)=>W(qe(t,s),([t,n,a])=>{const r={};Se(e,e=>{W(qe(t,e),([t,s,n])=>r[e]=c(t,s,n))}),o[s]=c(r,n,a)})),u[s]=c(o,n,a)}));const g={};return Se(i,e=>W(qe(o,e),([t,s,n])=>g[e]=c(t,s,n))),[c(u,s,n),c(g,r,d),1]},applyMergeableChanges:C,merge:e=>{const t=v(),s=e.getMergeableContent();return e.applyMergeableChanges(t),C(s)},hadMutated:()=>{const e=r;return r=0,e}};return h.setInternalListeners(w,L,()=>{pe(l),pe(i)},(e,s,a,i,d)=>{rt(Xe(Xe(l,e,Be),s,ot),a),(n||d)&&(d&&(r=1),I([[{[e]:[{[s]:[{[a]:[i,o?t:c()]}]}]}],[{}],1]))},(e,s,a)=>{rt(i,e),(n||a)&&(a&&(r=1),I([[{}],[{[e]:[s,o?t:c()]}],1]))}),Ne(h,(e,t)=>R[t]=y(t,"set")||y(t,"del")||y(t,"apply")||M(t,"Transaction")||t=="call"+d?(...t)=>(e(...t),R):y(t,u)&&M(t,d)?(...s)=>{const n=us[U(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e),He(R)},fs=Be([["avg",[(e,t)=>oe(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>J(...e),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:J(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>oe(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Is=(e,t,s,n,a,o=!1)=>{if(Re(s))return;const[r,l,i,d]=a;return o||=N(e),Se(n,([s,n])=>{o||(e=N(s)?l?.(e,n,t++):N(n)?i?.(e,s,t--):d?.(e,n,s,t),o||=N(e))}),o?r(Te(s),be(s)):e},bs=dt(e=>{const s=Be(),[n,a,o]=gt(()=>w),[r,l,i,d,c,u,g,,h,f,I,b]=lt(e,G,e=>isNaN(e)||N(e)||!0===e||!1===e||e===t?void 0:1*e,n,a),w={setMetricDefinition:(e,t,n,o,r,l,i)=>{const d=_(n)?[n,r,l,i]:qe(fs,n)??qe(fs,"sum");return h(e,t,(t,n,o,r,l,i)=>{const c=u(e),h=be(r);i||=N(c),t();let f=Is(c,h,r,n,d,i);F(f)||(f=void 0),f!=c&&(g(e,f),a(s,[e],f,c))},it(o,1)),w},delMetricDefinition:e=>(f(e),w),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:I,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),w),destroy:b,getListenerStats:()=>({metric:we(s)})};return He(w)}),ws=dt(e=>{const s=e.createStore,n=s(),a=s(),o=Be(),r=Be(),l=Be(),{addListener:i,callListeners:g,delListener:h}=a,[I,b,p,S,V,m,y,M,,E,k,D,H,J]=lt(e,()=>[],G,i,g),x=(e,t,...s)=>ne(s,s=>rt(Xe(Xe(o,t,Be),e,ot),s)),P=e=>{W(qe(o,e),e=>{Ge(e,(e,t)=>Se(t,t=>e.delListener(t))),pe(e)}),ne([a,n],t=>t.delTable(e))},F=(e,t,s)=>x(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener(()=>s.finishTransaction())),Q=(s,o,r,l={})=>{const i=A(s);var d;M(s,o),y(s,[r,(d=l,new Map(Ee(d)))]),z(s,i,l),P(s);const[,c]=m(s),u=[],g=[[void 0,[o,void 0,void 0,[],Be()]]],h=[],f=[],I=[];r({select:(e,s)=>{const n=_(e)?[q(u)+t,e]:[N(s)?e:s,t=>t(e,s)];return ie(u,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=N(s)||_(t)?void 0:t,a=N(n)?t:s,o=[e,[e,n,_(a)?a:e=>e(a),[],Be()]];return ie(g,o),{as:e=>o[0]=e}},where:(e,t,s)=>ie(h,_(e)?e:N(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,_(t)?[t,s,n,a]:qe(fs,t)??[(e,t)=>t]]];return ie(f,o),{as:e=>o[0]=e}},having:(e,t)=>ie(I,_(e)?e:s=>s(e)===t),param:e=>qe(c,e)});const b=Be(u);if(Re(b))return B;const w=Be(g);Ge(w,(e,[,t])=>W(qe(w,t),({3:t})=>N(e)?0:ie(t,e)));const L=Be(f);let v=n;if(Re(L)&&re(I))v=a;else{F(s,v,a);const e=Be();Ge(L,(t,[s,n])=>rt(Xe(e,s,ot),[t,n]));const t=ot();Ge(b,s=>Ce(e,s)?0:rt(t,s));const n=Be(),o=(t,n,o,r)=>W(t,([l,i,d,c])=>{Ge(n,(t,[s])=>{const n=Xe(l,t,Be),a=qe(n,o),i=r?void 0:s;if(a!==i){const s=ot([[a,i]]),r=be(n);Ke(n,o,i),Se(qe(e,t),([e,t])=>{const a=Is(c[e],r,n,s,t);c[e]=N(ue(a))?void 0:a})}}),Re(i)||!Z(I,e=>e(e=>c[e]))?a.delRow(s,d):N(d)?t[2]=a.addRow(s,c):a.setRow(s,d,c)});x(v,s,v.addRowListener(s,null,(a,r,l,i)=>{const d=[],c=[],u=Be(),g=v.hasRow(s,l);let h=!g;Se(t,e=>{const[t,n,a]=i(s,l,e);ie(d,n),ie(c,a),h||=t}),Ge(e,e=>{const[t,,n]=i(s,l,e);(h||t)&&Ke(u,e,[n])}),h&&o(at(n,d,void 0,([,e])=>(Ve(e,l),Re(e))),u,l,1),g&&o(at(n,c,()=>{const e={};return Se(t,t=>e[t]=v.getCell(s,l,t)),[Be(),ot(),void 0,e]},([,e])=>{rt(e,l)}),u,l)}))}F(s,e,v);const C=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);ne(r,n=>{const[a,,o,r,i]=qe(w,n),d=o?.(l,t),[c,u]=qe(i,t)??[];d!=c&&(N(u)||J(s,u),Ke(i,t,N(d)?void 0:[d,...H(s,1,e.addRowListener(a,d,()=>C(t,a,d,r)))]))}),(t=>{const n=(s,n)=>e.getCell(...N(n)?[o,t,s]:s===o?[o,t,n]:[qe(w,s)?.[0],qe(qe(w,s)?.[4],t)?.[0],n]);v.transaction(()=>Z(h,e=>e(n))?Ge(b,(e,a)=>he(v,s,t,e,a(n,t))):v.delRow(s,t))})(t)},{3:R}=qe(w,void 0);return v.transaction(()=>H(s,1,e.addRowListener(o,null,(t,n,a)=>{e.hasRow(o,a)?C(a,o,a,R):(v.delRow(s,a),Se(w,({4:e})=>W(qe(e,a),([,t])=>{J(s,t),Ke(e,a)})))}))),B},z=(e,t,s)=>{const n=ot([...De(t),...De(s)]);let a=0;Se(n,n=>{const o=xe(s,n);ee(xe(t,n),o)||(a=1,g(l,[e,n],o))}),a&&g(r,[e],s)},O=(e,t,s=0)=>(W(m(e),([n,o])=>{!s&&We(Ze(o),t,ee)||a.transaction(()=>Q(e,V(e),n,t))}),B),A=e=>Ze(m(e)?.[1]),j=(e,t)=>qe(m(e)?.[1],t),B={setQueryDefinition:Q,delQueryDefinition:e=>{const t=A(e);return P(e),E(e),z(e,t,{}),B},getParamValues:A,getParamValue:j,setParamValues:O,setParamValue:(e,t,s)=>(ee(j(e,t),s)||O(e,{...A(e),[t]:s},1),B),getStore:I,getQueryIds:b,forEachQuery:p,hasQuery:S,getTableId:V,addQueryIdsListener:e=>k(()=>e(B)),addParamValuesListener:(e,t)=>i((e,s,n)=>t(B,s,n),r,[e]),addParamValueListener:(e,t,s)=>i((e,t,n,a)=>s(B,t,n,a),l,[e,t]),delListener:e=>(h(e),B),destroy:D,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return{...n,paramValues:we(r),paramValue:Le(l)}}};return Ne({[f]:[1,1],[f+T]:[0,1],[L]:[0,1],[v]:[0,1],[C]:[0,5],[w]:[1,2],[T]:[0,2],[R]:[1,3]},([e,t],s)=>{ne(e?["get","has","forEach"]:["get"],e=>B[e+c+s]=(...t)=>a[e+s](...t)),B[u+c+s+d]=(...e)=>a[u+s+d](...U(e,0,t),(s,...n)=>e[t](B,...n),!0)}),He(B)}),Ls=dt(e=>{const s=Be(),n=Be(),a=Be(),o=Be(),[r,l,i]=gt(()=>T),[d,c,u,g,h,f,,,I,b,w,L]=lt(e,()=>[Be(),Be(),Be(),Be()],e=>N(e)?void 0:e+t,r,l),v=(e,t,s)=>W(f(e),([n,,a])=>{if(!Ce(a,t)){const o=ot();if(h(e)!=R(e))rt(o,t);else{let e=t;for(;!N(e)&&!Ce(o,e);)rt(o,e),e=qe(n,e)}if(s)return o;Ke(a,t,o)}return qe(a,t)}),C=(e,t)=>W(f(e),([,,e])=>Ke(e,t)),R=e=>qe(s,e),T={setRelationshipDefinition:(e,t,r,i)=>(Ke(s,e,r),I(e,t,(t,s)=>{const r=ot(),i=ot(),d=ot(),[c,u]=f(e);Se(s,([t,s],n)=>{N(t)||(rt(i,t),W(qe(u,t),e=>{Ve(e,n),Re(e)&&Ke(u,t)})),N(s)||(rt(i,s),Ce(u,s)||Ke(u,s,ot()),rt(qe(u,s),n)),rt(r,n),Ke(c,n,s),Ge(qe(o,e),t=>{Ce(v(e,t),n)&&rt(d,t)})}),t(),Se(r,t=>l(n,[e,t])),Se(i,t=>l(a,[e,t])),Se(d,t=>{C(e,t),l(o,[e,t])})},it(i)),T),delRelationshipDefinition:e=>(Ke(s,e),b(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(s=>t(s,t=>e.forEachRow(h(s),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>qe(f(e)?.[0],t),getLocalRowIds:(e,t)=>Te(qe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>N(f(e))?[t]:Te(v(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),r(s,o,[e,t])),delListener:e=>(C(...i(e)??[]),T),destroy:L,getListenerStats:()=>({remoteRowId:Le(n),localRowIds:Le(a),linkedRowIds:Le(o)})};return He(T)});export{Vt as addOrRemoveHash,ht as createCheckpoints,_t as createIndexes,hs as createMergeableStore,bs as createMetrics,ws as createQueries,Ls as createRelationships,cs as createStore,jt as defaultSorter,Et as getCellHash,kt as getCellInRowHash,St as getHash,At as getHlcFunctions,Dt as getRowHash,Ht as getRowInTableHash,Jt as getTableHash,xt as getTableInTablesHash,Pt as getTablesHash,vt as getUniqueId,Mt as getValueHash,yt as getValueInValuesHash,mt as getValuesHash};
1
+ const e=e=>typeof e,t="",s=e(t),n=e(!0),l=e(0),a=e(e),o="type",r="default",i="allowNull",d="Listener",c="Result",u="add",g="Has",h="Ids",f="Table",b=f+"s",C=f+h,w="Row",I=w+"Count",L=w+h,v="Sorted"+w+h,R="Cell",T=R+h,p="Value",S=p+"s",V=p+h,m=e=>t+e,y=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),k=(e,s=t,n)=>e.split(s,n),D=e=>(t,s,n)=>e(t)?n?.():s(t),E=globalThis,W=Math,H=W.max,J=W.min,x=W.floor,O=isFinite,P=e=>null==e,F=e=>void 0===e,Q=e=>null===e,N=D(P),z=D(F),A=e=>e==s||e==n,j=t=>e(t)==s,_=t=>e(t)==a,B=e=>Array.isArray(e),U=(e,t,s)=>e.slice(t,s),q=e=>e.length,G=()=>{},K=()=>{},X=E.structuredClone,Y=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},Z=(e,t)=>e.includes(t),$=(e,t)=>e.every(t),ee=(e,t)=>q(e)===q(t)&&$(e,(e,s)=>t[s]===e),te=(e,t)=>B(e)&&B(t)?ee(e,t):e===t,se=(e,t)=>$(e,(s,n)=>0==n||t(e[n-1],s)<=0),ne=(e,t)=>e.sort(t),le=(e,t)=>e.forEach(t),ae=(e,t)=>e.map(t),oe=e=>ie(e,(e,t)=>e+t,0),re=e=>0==q(e),ie=(e,t,s)=>e.reduce(t,s),de=(e,...t)=>e.push(...t),ce=e=>e.pop(),ue=e=>e.shift(),ge=e=>t=>ie(Le(t),(t,s)=>t+e(s),0),he=e=>e?.size??0,fe=ge(he),be=ge(fe),Ce=ge(be),we=(e,t)=>e?.has(t)??!1,Ie=e=>F(e)||0==he(e),Le=e=>[...e?.values()??[]],ve=e=>e.clear(),Re=(e,t)=>e?.forEach(t),Te=(e,t)=>e?.delete(t),pe=Object,Se=e=>pe.getPrototypeOf(e),Ve=pe.isFrozen,me=pe.entries,ye=e=>!P(e)&&N(Se(e),e=>e==pe.prototype||P(Se(e)),()=>!0),Me=pe.keys,ke=pe.freeze,De=(e=[])=>pe.fromEntries(e),Ee=(e,t)=>z(e,e=>e[t]),We=(e,t)=>t in e,He=(e,t)=>(delete e[t],e),Je=(e,t)=>le(me(e),([e,s])=>t(s,e)),xe=(e,t)=>De(((e,t)=>ae(me(e),([e,s])=>t(s,e)))(e,(e,s)=>[s,t(e,s)])),Oe=e=>q(Me(e)),Pe=e=>ye(e)&&0==Oe(e),Fe=(e,t,s=(e,t)=>e===t)=>{const n=me(e);return q(n)===Oe(t)&&$(n,([e,n])=>ye(n)?!!ye(t[e])&&Fe(t[e],n):s(n,t[e]))},Qe=(e,t,s)=>(We(e,t)||(e[t]=s()),e[t]),Ne=(e,t,s,n=0)=>P(e)||!ye(e)||!n&&Pe(e)||Ve(e)?(s?.(),!1):(Je(e,(s,n)=>{t(s,n)||He(e,n)}),!!n||!Pe(e)),ze=Map,Ae=e=>new ze(e),je=e=>[...e?.keys()??[]],_e=(e,t)=>e?.get(t),Be=(e,t)=>Re(e,(e,s)=>t(s,e)),Ue=(e,t,s)=>F(s)?(Te(e,t),e):e?.set(t,s),qe=(e,t,s,n)=>(we(e,t)?n?.(_e(e,t)):Ue(e,t,s()),_e(e,t)),Ge=(e,t,s,n=Ue)=>(xe(t,(t,n)=>s(e,n,t)),Be(e,s=>We(t,s)?0:n(e,s)),e),Ke=(e,t,s,n)=>{const l={};return Re(e,(e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;n?.(s)||(l[a]=s)}}),l},Xe=(e,t,s)=>Ke(e,e=>Ke(e,t,s),Ie,Pe),Ye=(e,t,s)=>Ke(e,e=>Xe(e,t,s),Ie,Pe),Ze=(e,t)=>{const s=Ae();return Re(e,(e,n)=>s.set(n,t?.(e)??e)),s},$e=e=>Ze(e,Ze),et=e=>Ze(e,$e),tt=(e,t,s,n,l=0)=>z((s?qe:_e)(e,t[l],l>q(t)-2?s:Ae),a=>{if(l>q(t)-2)return n?.(a)&&Ue(e,t[l]),a;const o=tt(a,t,s,n,l+1);return Ie(a)&&Ue(e,t[l]),o}),st=e=>new Set(B(e)||F(e)?e:[e]),nt=(e,t)=>e?.add(t),lt=(e,t,s,n,l)=>{const a=e.hasRow,o=Ae(),r=Ae(),i=Ae(),d=Ae(),c=Ae(),u=Ae(),g=(t,s,...n)=>{const l=qe(u,t,st);return le(n,t=>nt(l,t)&&s&&e.callListener(t)),n},h=(t,...s)=>z(_e(u,t),n=>{le(re(s)?Le(n):s,t=>{e.delListener(t),Te(n,t)}),Ie(n)&&Ue(u,t)}),f=(e,s)=>{Ue(o,e,s),we(r,e)||(Ue(r,e,t()),Ue(d,e,Ae()),Ue(c,e,Ae()),l(i))},b=e=>{Ue(o,e),Ue(r,e),Ue(d,e),Ue(c,e),h(e),l(i)};return[()=>e,()=>je(o),e=>Be(r,e),e=>we(r,e),e=>_e(o,e),e=>_e(r,e),(e,t)=>Ue(r,e,t),f,(t,n,l,o,r)=>{f(t,n);const i=Ae(),u=Ae(),b=_e(d,t),C=_e(c,t),w=t=>{const l=s=>e.getCell(n,t,s),d=_e(b,t),c=a(n,t)?s(o(l,t)):void 0;if(d===c||B(d)&&B(c)&&ee(d,c)||Ue(i,t,[d,c]),!F(r)){const e=_e(C,t),s=a(n,t)?r(l,t):void 0;e!=s&&Ue(u,t,s)}},I=e=>{l(()=>{Re(i,([,e],t)=>Ue(b,t,e)),Re(u,(e,t)=>Ue(C,t,e))},i,u,b,C,e),ve(i),ve(u)};Be(b,w),e.hasTable(n)&&le(e.getRowIds(n),e=>{we(b,e)||w(e)}),I(!0),h(t),g(t,0,e.addRowListener(n,null,(e,t,s)=>w(s)),e.addTableListener(n,()=>I()))},b,e=>n(e,i),()=>Be(u,b),g,h]},at=(e,s)=>j(e)?t=>t(e):e??(()=>s??t),ot=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const l=s.get(n);return t?.(l),l}},rt=/^\d+$/,it=()=>{const e=[];let s=0;return[n=>(n?ue(e):null)??t+s++,t=>{rt.test(t)&&q(e)<1e3&&de(e,t)}]},dt=e=>{let s;const[n,l]=it(),a=Ae();return[(l,o,r,i=[],d=()=>[])=>{s??=e();const c=n(1);return Ue(a,c,[l,o,r,i,d]),nt(tt(o,r??[t],st),c),c},(e,n,...l)=>le(((e,s=[t])=>{const n=[],l=(e,t)=>t==q(s)?de(n,e):Q(s[t])?Re(e,e=>l(e,t+1)):le([s[t],null],s=>l(_e(e,s),t+1));return l(e,0),n})(e,n),e=>Re(e,e=>_e(a,e)[0](s,...n??[],...l))),e=>z(_e(a,e),([,s,n])=>(tt(s,n??[t],void 0,t=>(Te(t,e),Ie(t)?1:0)),Ue(a,e),l(e),n)),e=>z(_e(a,e),([e,,t=[],n,l])=>{const a=(...o)=>{const r=q(o);r==q(t)?e(s,...o,...l(o)):Q(t[r])?le(n[r]?.(...o)??[],e=>a(...o,e)):a(...o,t[r])};a()})]},ct=ot(e=>{let s,n,l,a=100,o=Ae(),r=Ae(),i=1;const d=Ae(),c=Ae(),[u,g,h]=dt(()=>H),f=Ae(),b=Ae(),C=[],w=[],I=(t,s)=>{i=0,e.transaction(()=>{const[n,l]=_e(f,s);Re(n,(s,n)=>Re(s,(s,l)=>Re(s,(s,a)=>e.setOrDelCell(n,l,a,s[t],!0)))),Re(l,(s,n)=>e.setOrDelValue(n,s[t],!0))}),i=1},L=e=>{Ue(f,e),Ue(b,e),g(c,[e])},v=(e,t)=>le(((e,t)=>e.splice(0,t))(e,t??q(e)),L),R=()=>v(C,q(C)-a),T=()=>z(s,()=>{de(C,s),R(),v(w),s=void 0,l=1}),p=()=>{s=ce(C),l=1};let S,V;const m=(e=t)=>(F(s)&&(s=t+n++,Ue(f,s,[o,r]),E(s,e),o=Ae(),r=Ae(),l=1),s),y=()=>{re(C)||(((e,...t)=>{e.unshift(...t)})(w,m()),I(0,s),s=ce(C),l=1)},M=()=>{re(w)||(de(C,s),s=ue(w),I(1,s),l=1)},k=()=>{l&&(g(d),l=0)},D=e=>{const t=m(e);return k(),t},E=(e,t)=>(W(e)&&_e(b,e)!==t&&(Ue(b,e,t),g(c,[e])),H),W=e=>we(f,e),H={setSize:e=>(a=e,R(),H),addCheckpoint:D,setCheckpoint:E,getStore:()=>e,getCheckpointIds:()=>[[...C],s,[...w]],forEachCheckpoint:e=>Be(b,e),hasCheckpoint:W,getCheckpoint:e=>_e(b,e),goBackward:()=>(y(),k(),H),goForward:()=>(M(),k(),H),goTo:e=>{const t=Z(C,e)?y:Z(w,e)?M:void 0;for(;!F(t)&&e!=s;)t();return k(),H},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),H),clear:()=>(v(C),v(w),F(s)||L(s),s=void 0,n=0,D(),H),clearForward:()=>(re(w)||(v(w),g(d)),H),destroy:()=>{e.delListener(S),e.delListener(V)},getListenerStats:()=>({checkpointIds:fe(d),checkpoint:fe(c)}),_registerListeners:()=>{S=e.addCellListener(null,null,null,(e,t,s,n,l,a)=>{if(i){T();const e=qe(o,t,Ae),r=qe(e,s,Ae),i=qe(r,n,()=>[a,void 0]);i[1]=l,i[0]===l&&Ie(Ue(r,n))&&Ie(Ue(e,s))&&Ie(Ue(o,t))&&p(),k()}}),V=e.addValueListener(null,(e,t,s,n)=>{if(i){T();const e=qe(r,t,()=>[n,void 0]);e[1]=s,e[0]===s&&Ie(Ue(r,t))&&p(),k()}})}};return ke(H.clear())},e=>e._registerListeners()),ut=k("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),gt=Ae(ae(ut,(e,t)=>[e,t])),ht=e=>ut[63&e],ft=(e,t)=>_e(gt,e[t])??0,bt=E.crypto?e=>E.crypto.getRandomValues(e):e=>ae(e,()=>x(256*W.random())),Ct=(e=16)=>ie(bt(new Uint8Array(e)),(e,t)=>e+ht(t),t),wt=JSON.stringify,It=JSON.parse,Lt=e=>wt(e,(e,t)=>t instanceof Map?pe.fromEntries([...t]):t),vt=new E.TextEncoder,Rt=e=>{let t=2166136261;return le(vt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Tt=(e,t)=>(e^t)>>>0,pt=e=>ie(me(e),(e,[t,s])=>Tt(e,St(t,s)^St(t,0)),0),St=(e,t)=>Rt(e+":"+t),Vt=(e,t)=>Rt(Lt(e??null)+":"+t),mt=Vt,yt=St,Mt=pt,kt=St,Dt=e=>ie(me(e),(e,[t,s])=>Tt(e,St(t,s)),0),Et=St,Wt=Dt,Ht=2**36,Jt=2**30,xt=2**24,Ot=2**18,Pt=4096,Ft=e=>{const t=Rt(e);return ht(t/xt)+ht(t/Ot)+ht(t/Pt)+ht(t/64)+ht(t)},Qt=(e,t=Date.now)=>{let s=0,n=-1;const l=z(e,Ft,()=>Ct(5)),a=e=>{const l=s,[a,o]=F(e)||""==e?[0,0]:r(e);s=H(l,a,t()),n=s==l?s==a?H(n,o):n:s==a?o:-1},o=(e,t,s)=>ht(e/Ht)+ht(e/Jt)+ht(e/xt)+ht(e/Ot)+ht(e/Pt)+ht(e/64)+ht(e)+ht(t/Ot)+ht(t/Pt)+ht(t/64)+ht(t)+(F(s)?l:Ft(s)),r=e=>[ft(e,0)*Ht+ft(e,1)*Jt+ft(e,2)*xt+ft(e,3)*Ot+ft(e,4)*Pt+64*ft(e,5)+ft(e,6),ft(e,7)*Ot+ft(e,8)*Pt+64*ft(e,9)+ft(e,10),e.slice(11)];return[()=>(a(),o(s,++n)),a,o,r,()=>s,()=>n,()=>l]},Nt=(e,t)=>(e??0)<(t??0)?-1:1,zt=ot(e=>{const s=Ae(),n=Ae(),[l,a,o]=dt(()=>L),[r,i,d,c,u,g,h,,f,b,C,w]=lt(e,Ae,e=>F(e)?t:B(e)?ae(e,m):m(e),l,a),I=(t,s,n)=>{const l=u(t);Re(n,(t,n)=>s(n,s=>Re(t,t=>s(t,s=>e.forEachCell(l,t,s)))))},L={setIndexDefinition:(e,t,l,o,r,i=Nt)=>{const d=F(r)?void 0:([e],[t])=>r(e,t);return f(e,t,(t,l,r,c,u,f)=>{let b=0;const C=st(),w=st(),I=g(e);if(Re(l,([e,t],s)=>{const n=st(e),l=st(t);Re(n,e=>Te(l,e)?Te(n,e):0),Re(n,e=>{nt(C,e),z(_e(I,e),t=>{Te(t,s),Ie(t)&&(Ue(I,e),b=1)})}),Re(l,e=>{nt(C,e),we(I,e)||(Ue(I,e,st()),b=1),nt(_e(I,e),s),F(o)||nt(w,e)})}),t(),Ie(u)||(f?Be(I,e=>nt(w,e)):Be(r,e=>z(_e(c,e),e=>le(B(e)?e:[e],e=>nt(w,e)))),Re(w,e=>{const t=(t,s)=>i(_e(u,t),_e(u,s),e),s=[..._e(I,e)];se(s,t)||(Ue(I,e,st(ne(s,t))),nt(C,e))})),(b||f)&&!F(d)){const t=[...I];se(t,d)||(h(e,Ae(ne(t,d))),b=1)}b&&a(s,[e]),Re(C,t=>a(n,[e,t]))},at(l),z(o,at)),L},delIndexDefinition:e=>(b(e),L),getStore:r,getIndexIds:i,forEachIndex:e=>d((t,s)=>e(t,e=>I(t,e,s))),forEachSlice:(e,t)=>I(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>we(g(e),t),getTableId:u,getSliceIds:e=>je(g(e)),getSliceRowIds:(e,t)=>Le(_e(g(e),t)),addIndexIdsListener:C,addSliceIdsListener:(e,t)=>l(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>l(s,n,[e,t]),delListener:e=>(o(e),L),destroy:w,getListenerStats:()=>({sliceIds:fe(s),sliceRowIds:be(n)})};return ke(L)}),At=t=>{if(Q(t))return"null";const s=e(t);return A(s)||s==l&&O(t)?s:void 0},jt=e=>F(e)||!F(At(e)),_t=([e,t])=>Ut(e,t),Bt=([e,t,s])=>[e,t,s],Ut=(e,t)=>t?[e,t]:[e],qt=(e,t,s)=>[e,t,s],Gt=e=>e[2],Kt=(e,t)=>t>e?(e?Rt(e):0)^Rt(t):0,Xt=(e,t)=>((e??"")>(t??"")?e:t)??"",Yt=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Zt=(e=t)=>Ut(De(),e),$t=(e=t)=>[Ae(),e,0],es=([e,t,s],n=Bt)=>[Ke(e,n),t,s],ts=([e,t],s=_t)=>Ut(Ke(e,s),t),ss=(t,s)=>B(t)&&3==q(t)&&j(t[1])&&e(t[2])==l&&O(t[2])&&s(t[0]),ns=e=>[e,e],ls=(e,t=fe)=>t(e[0])+t(e[1]),as=()=>[Ae(),Ae()],os=e=>[...e],rs=([e,t])=>e===t,is=(e,t,s)=>Ue(e,t,_e(e,t)==-s?void 0:s),ds=([e,t],[s,n])=>Fe(e,s)&&Fe(t,n),cs=()=>{let e,t,s=!1,n=!1,a=0,c=[],h=[],v=0;const y=Ae(),M=Ae(),k=Ae(),D=Ae(),E=Ae(),W=Ae(),H=Ae(),J=Ae(),x=Ae(),O=Ae(),P=Ae(),N=Ae(),j=Ae(),q=Ae(),G=st(),K=Ae(),$=Ae(),te=Ae(),se=Ae(),oe=as(),re=as(),ie=as(),ce=as(),ue=as(),ge=as(),Le=as(),pe=as(),Se=as(),Ve=as(),me=as(),Me=as(),De=as(),Ee=as(),Je=as(),Oe=as(),Qe=as(),ze=as(),tt=as(),lt=as(),at=as(),ot=as(),rt=Ae(),ct=as(),[ut,gt,ht,ft]=dt(()=>tn),bt=e=>{const t=v;v=1;const s=e();return v=t,s},Ct=(e,t,s,n=Object.is)=>z(t(),t=>e===t||n(e,t)?s(t):bt(()=>s(t))),wt=e=>{if(!Ne(e,(e,t)=>Z([o,r,i],t)))return!1;const t=e[o];if(!A(t)&&t!=l)return!1;const s=e[r];return!(Q(s)&&!e[i]||(Q(s)||At(s)==t||He(e,r),0))},vt=B,Rt=(t,s)=>(!e||we(P,s)||es(s))&&Ne(t,(e,t)=>Tt(s,t,e),()=>es(s)),Tt=(e,t,s,n)=>Ne(n?s:mt(s,e,t),(n,l)=>z(pt(e,t,l,n),e=>(s[l]=e,!0),()=>!1),()=>es(e,t)),pt=(t,s,n,l)=>e?z(_e(_e(P,t),n),e=>Q(l)?e[i]?l:es(t,s,n,l,e[r]):At(l)==e[o]?l:es(t,s,n,l,e[r]),()=>es(t,s,n,l)):F(At(l))?es(t,s,n,l):l,St=(e,t)=>Ne(t?e:yt(e),(t,s)=>z(Vt(s,t),t=>(e[s]=t,!0),()=>!1),()=>ts()),Vt=(e,s)=>t?z(_e(j,e),t=>Q(s)?t[i]?s:ts(e,s,t[r]):At(s)==t[o]?s:ts(e,s,t[r]),()=>ts(e,s)):F(At(s))?ts(e,s):s,mt=(e,t,s)=>(z(_e(N,t),([n,l])=>{Re(n,(t,s)=>{We(e,s)||(e[s]=t)}),Re(l,n=>{We(e,n)||es(t,s,n)})}),e),yt=e=>(t&&(Re(q,(t,s)=>{We(e,s)||(e[s]=t)}),Re(G,t=>{We(e,t)||ts(t)})),e),Mt=e=>Ge(P,e,(e,t,s)=>{const n=Ae(),l=st();Ge(qe(P,t,Ae),s,(e,t,s)=>{Ue(e,t,s),z(s[r],e=>Ue(n,t,e),()=>nt(l,t))}),Ue(N,t,[n,l])},(e,t)=>{Ue(P,t),Ue(N,t)}),kt=e=>Ge(j,e,(e,t,s)=>{Ue(j,t,s),z(s[r],e=>Ue(q,t,e),()=>nt(G,t))},(e,t)=>{Ue(j,t),Ue(q,t),Te(G,t)}),Dt=e=>Pe(e)?_s():Ps(e),Et=(e,t,s,n,l)=>F(n)?qs(e,t,s,!0,l):Fs(e,t,s,n,l),Wt=e=>Pe(e)?Gs():Qs(e),Ht=(e,t,s)=>F(t)?Ks(e,s):Ns(e,t,s),Jt=(e,t)=>Ct(e,()=>t?e:z(c[1],t=>bt(()=>t(X(e))),()=>e),e=>Ge(te,e,(e,t,s)=>xt(t,s),(e,t)=>_t(t)),Fe),xt=(e,t,s)=>Ct(t,()=>s?t:z(c[2],s=>bt(()=>s(e,X(t))),()=>t),t=>Ge(qe(te,e,()=>(Gt(e,1),Ue(K,e,it()),Ue($,e,Ae()),Ae())),t,(t,s,n)=>Ot(e,t,s,n),(t,s)=>Bt(e,t,s)),Fe),Ot=(e,t,s,n,l)=>Ct(n,()=>l?n:z(c[3],t=>bt(()=>t(e,s,X(n))),()=>n),n=>Ge(qe(t,s,()=>(Kt(e,s,1),Ae())),n,(t,n,l)=>Pt(e,s,t,n,l),(n,a)=>Ut(e,t,s,n,a,l)),Fe),Pt=(e,t,s,n,l,a)=>Ct(l,()=>z(a?void 0:c[4],s=>bt(()=>s(e,t,n,l)),()=>l),l=>{we(s,n)||Xt(e,t,n,1);const a=_e(s,n);l!==a&&(Yt(e,t,n,a,l),Ue(s,n,l))}),Ft=(e,t,s,n,l,a)=>z(_e(t,s),t=>Pt(e,s,t,n,l,a),()=>{const o=Ae();Ue(t,s,o),Kt(e,s,1),xe(mt({[n]:l},e,s),(t,n)=>Pt(e,s,o,n,t,a))}),Qt=(e,t)=>Ct(e,()=>t?e:z(c[5],t=>bt(()=>t(X(e))),()=>e),e=>Ge(se,e,(e,t,s)=>zt(t,s),(e,t)=>qt(t)),Fe),zt=(e,t,s)=>Ct(t,()=>z(s?void 0:c[6],s=>bt(()=>s(e,t)),()=>t),t=>{we(se,e)||Zt(e,1);const s=_e(se,e);t!==s&&($t(e,s,t),Ue(se,e,t))}),jt=e=>qe(te,e,()=>(Gt(e,1),Ue(K,e,it()),Ue($,e,Ae()),Ae())),_t=e=>bt(()=>c[8]?.(e))??1?xt(e,{},!0):_e(te,e),Bt=(e,t,s)=>{if(bt(()=>c[9]?.(e,s))??1){const[,n]=_e(K,e);n(s),Ot(e,t,s,{},!0)}},Ut=(e,t,s,n,l,a,o)=>{const r=_e(_e(N,e)?.[0],l);if(!F(r)&&!a)return Pt(e,s,n,l,r);if(o||(bt(()=>c[10]?.(e,s,l))??1)){const a=t=>{Yt(e,s,t,_e(n,t)),Xt(e,s,t,-1),Ue(n,t)};F(r)?a(l):Be(n,a),Ie(n)&&(Kt(e,s,-1),Ie(Ue(t,s))&&(Gt(e,-1),Ue(te,e),Ue(K,e),Ue($,e)))}},qt=(e,t)=>{const s=_e(q,e);if(!F(s))return zt(e,s);(t||(bt(()=>c[12]?.(e))??1))&&($t(e,_e(se,e)),Zt(e,-1),Ue(se,e))},Gt=(e,t)=>is(y,e,t),Kt=(e,t,s)=>is(qe(D,e,Ae),t,s)&&Ue(k,e,qe(k,e,()=>0)+s),Xt=(e,t,s,n)=>{const l=_e($,e),a=_e(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&is(qe(M,e,Ae),s,n),Ue(l,s,a!=-n?a+n:void 0),is(qe(qe(E,e,Ae),t,Ae),s,n)},Yt=(e,t,s,n,l)=>{qe(qe(qe(W,e,Ae),t,Ae),s,()=>[n,0])[1]=l,h[3]?.(e,t,s,l,v)},Zt=(e,t)=>is(H,e,t),$t=(e,t,s)=>{qe(J,e,()=>[t,0])[1]=s,h[4]?.(e,s,v)},es=(e,t,s,n,l)=>(de(qe(qe(qe(x,e,Ae),t,Ae),s,()=>[]),n),l),ts=(e,t,s)=>(de(qe(O,e,()=>[]),t),s),ss=(e,t,s)=>z(_e(_e(_e(W,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...ns(ms(e,t,s))]),us=e=>z(_e(J,e),([e,t])=>[!0,e,t],()=>[!1,...ns(ks(e))]),gs=e=>Ie(x)||Ie(Oe[e])?0:Re(e?et(x):x,(t,s)=>Re(t,(t,n)=>Re(t,(t,l)=>gt(Oe[e],[s,n,l],t)))),hs=e=>Ie(O)||Ie(Qe[e])?0:Re(e?Ze(O):O,(t,s)=>gt(Qe[e],[s],t)),fs=(e,t,s,n)=>{if(!Ie(e))return gt(t,n,()=>Ke(e)),Be(e,(e,t)=>gt(s,[...n??[],e],1==t)),1},bs=e=>{const t=!Ie(oe[e]),n=!Ie(Ve[e]),l=!(Ie(De[e])&&Ie(Ee[e])&&Ie(Se[e])&&Ie(me[e])&&Ie(ge[e])&&Ie(Le[e])&&Ie(pe[e])&&!n&&Ie(ie[e])&&Ie(ce[e])),a=!(Ie(Je[e])&&Ie(Me[e])&&Ie(ue[e])&&Ie(re[e]));if(t||l||a){const o=e?[Ze(y),$e(M),Ze(k),$e(D),et(E),Ze(W,e=>Ze(e,e=>Ze(e,os)))]:[y,M,k,D,E,W];if(t){const t=Ds();t!=s&&gt(oe[e],void 0,t)}if(l){fs(o[0],ie[e],ce[e]),Re(o[1],(t,s)=>fs(t,ge[e],Le[e],[s])),Re(o[2],(t,s)=>{0!=t&&gt(pe[e],[s],Ts(s))});const t=st();Re(o[3],(s,l)=>{fs(s,Se[e],me[e],[l])&&n&&(gt(Ve[e],[l,null]),nt(t,l))}),n&&Re(o[5],(s,n)=>{if(!we(t,n)){const t=st();Re(s,e=>Re(e,([s,n],l)=>n!==s?nt(t,l):Te(e,l))),Re(t,t=>gt(Ve[e],[n,t]))}}),Re(o[4],(t,s)=>Re(t,(t,n)=>fs(t,De[e],Ee[e],[s,n])))}if(a){let t;Re(o[5],(s,n)=>{let l;Re(s,(s,a)=>{let o;Re(s,([s,r],i)=>{r!==s&&(gt(Je[e],[n,a,i],r,s,ss),t=l=o=1)}),o&&gt(Me[e],[n,a],ss)}),l&&gt(ue[e],[n],ss)}),t&&gt(re[e],void 0,ss)}}},Cs=e=>{const t=!Ie(ze[e]),s=!Ie(lt[e])||!Ie(at[e]),l=!Ie(ot[e])||!Ie(tt[e]);if(t||s||l){const a=e?[Ze(H),Ze(J,os)]:[H,J];if(t){const t=xs();t!=n&&gt(ze[e],void 0,t)}if(s&&fs(a[0],lt[e],at[e]),l){let t;Re(a[1],([s,n],l)=>{n!==s&&(gt(ot[e],[l],n,s,us),t=1)}),t&&gt(tt[e],void 0,us)}}},ws=(e,...t)=>(Zs(()=>e(...ae(t,m))),tn),Is=(e,t,s,n,l)=>{let a=Ss(e,t,...s);return ut(()=>{const l=Ss(e,t,...s);ee(l,a)||(a=l,n(tn,e,t,...s,a))},Ve[l?1:0],[e,t],[vs])},Ls=()=>Ye(te),vs=()=>je(te),Rs=e=>je(_e($,m(e))),Ts=e=>he(_e(te,m(e))),ps=e=>je(_e(te,m(e))),Ss=(e,t,s,n=0,l)=>{return ye(e)?Ss(e.tableId,e.cellId,e.descending,e.offset,e.limit):ae(U(ne((a=_e(te,m(e)),o=(e,s)=>[F(t)?s:_e(e,m(t)),s],ae([...a?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>Nt(e,t)*(s?-1:1)),n,F(l)?l:n+l),([,e])=>e);var a,o},Vs=(e,t)=>je(_e(_e(te,m(e)),m(t))),ms=(e,t,s)=>_e(_e(_e(te,m(e)),m(t)),m(s)),ys=()=>Ke(se),Ms=()=>je(se),ks=e=>_e(se,m(e)),Ds=()=>!Ie(te),Es=e=>we(te,m(e)),Ws=(e,t)=>we(_e($,m(e)),m(t)),Hs=(e,t)=>we(_e(te,m(e)),m(t)),Js=(e,t,s)=>we(_e(_e(te,m(e)),m(t)),m(s)),xs=()=>!Ie(se),Os=e=>we(se,m(e)),Ps=e=>ws(()=>(e=>Ne(e,Rt,es))(e)?Jt(e):0),Fs=(e,t,s,n,l)=>ws((e,t,s)=>z(pt(e,t,s,_(n)?n(ms(e,t,s)):n),n=>Ft(e,jt(e),t,s,n,l)),e,t,s),Qs=e=>ws(()=>St(e)?Qt(e):0),Ns=(e,t,s)=>ws(e=>z(Vt(e,_(t)?t(ks(e)):t),t=>zt(e,t,s)),e),zs=e=>(Y(()=>Dt(It(e))),tn),As=t=>ws(()=>{if((e=Ne(t,e=>Ne(e,wt)))&&(Mt(t),!Ie(te))){const e=Ls();_s(),Ps(e)}}),js=e=>ws(()=>{if(t=(e=>Ne(e,wt))(e)){const s=ys();Ys(),Gs(),t=!0,kt(e),Qs(s)}}),_s=()=>ws(()=>bt(()=>c[7]?.())??1?Jt({},!0):0),Bs=e=>ws(e=>we(te,e)?_t(e):0,e),Us=(e,t)=>ws((e,t)=>z(_e(te,e),s=>we(s,t)?Bt(e,s,t):0),e,t),qs=(e,t,s,n,l)=>ws((e,t,s)=>z(_e(te,e),a=>z(_e(a,t),o=>we(o,s)?Ut(e,a,t,o,s,n,l):0)),e,t,s),Gs=()=>ws(()=>bt(()=>c[11]?.())??1?Qt({},!0):0),Ks=(e,t)=>ws(e=>we(se,e)?qt(e,t):0,e),Xs=()=>ws(()=>{Mt({}),e=!1}),Ys=()=>ws(()=>{kt({}),t=!1}),Zs=(e,t)=>{if(-1!=a){$s();const s=e();return en(t),s}},$s=()=>(-1!=a&&a++,1==a&&(h[0]?.(),gt(rt)),tn),en=e=>(a>0&&(a--,0==a&&(a=1,bt(()=>{gs(1),Ie(W)||bs(1),hs(1),Ie(J)||Cs(1)}),e?.(tn)&&(Re(W,(e,t)=>Re(e,(e,s)=>Re(e,([e],n)=>Et(t,s,n,e,!0)))),ve(W),Re(J,([e],t)=>Ht(t,e,!0)),ve(J)),gt(ct[0],void 0),a=-1,gs(0),Ie(W)||bs(0),hs(0),Ie(J)||Cs(0),h[1]?.(),gt(ct[1],void 0),h[2]?.(),a=0,s=Ds(),n=xs(),le([y,M,k,D,E,W,x,H,J,O],ve))),tn),tn={getContent:()=>[Ls(),ys()],getTables:Ls,getTableIds:vs,getTable:e=>Xe(_e(te,m(e))),getTableCellIds:Rs,getRowCount:Ts,getRowIds:ps,getSortedRowIds:Ss,getRow:(e,t)=>Ke(_e(_e(te,m(e)),m(t))),getCellIds:Vs,getCell:ms,getValues:ys,getValueIds:Ms,getValue:ks,hasTables:Ds,hasTable:Es,hasTableCell:Ws,hasRow:Hs,hasCell:Js,hasValues:xs,hasValue:Os,getTablesJson:()=>Lt(te),getValuesJson:()=>Lt(se),getJson:()=>Lt([te,se]),getTablesSchemaJson:()=>Lt(P),getValuesSchemaJson:()=>Lt(j),getSchemaJson:()=>Lt([P,j]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>ws(()=>{const t=_(e)?e():e;vt(t)&&(e=>{Ct(e,()=>z(c[0],t=>bt(()=>t(X(e))),()=>e),([e,t])=>{(Pe(e)?_s:Ps)(e),(Pe(t)?Gs:Qs)(t)},ds)})(t)}),setTables:Ps,setTable:(e,t)=>ws(e=>Rt(t,e)?xt(e,t):0,e),setRow:(e,t,s)=>ws((e,t)=>Tt(e,t,s)?Ot(e,jt(e),t,s):0,e,t),addRow:(e,t,s=!0)=>Zs(()=>{let n;return Tt(e,n,t)&&(e=m(e),Ot(e,jt(e),n=((e,t)=>{const[s]=_e(K,e);let n;do{n=s(t)}while(we(_e(te,e),n));return n})(e,s?1:0),t)),n}),setPartialRow:(e,t,s)=>ws((e,t)=>{if(Tt(e,t,s,1)){const n=jt(e);xe(s,(s,l)=>Ft(e,n,t,l,s))}},e,t),setCell:Fs,setValues:Qs,setPartialValues:e=>ws(()=>St(e,1)?xe(e,(e,t)=>zt(t,e)):0),setValue:Ns,applyChanges:e=>ws(()=>Ct(e,()=>z(c[13],t=>bt(()=>t(X(e))),()=>e),e=>{xe(e[0],(e,t)=>F(e)?Bs(t):xe(e,(e,s)=>F(e)?Us(t,s):xe(e,(e,n)=>Et(t,s,n,e)))),xe(e[1],(e,t)=>Ht(t,e))},ds)),setTablesJson:zs,setValuesJson:e=>(Y(()=>Wt(It(e))),tn),setJson:e=>ws(()=>Y(()=>{const[t,s]=It(e);Dt(t),Wt(s)},()=>zs(e))),setTablesSchema:As,setValuesSchema:js,setSchema:(e,t)=>ws(()=>{As(e),js(t)}),delTables:_s,delTable:Bs,delRow:Us,delCell:qs,delValues:Gs,delValue:Ks,delTablesSchema:Xs,delValuesSchema:Ys,delSchema:()=>ws(()=>{Xs(),Ys()}),transaction:Zs,startTransaction:$s,getTransactionChanges:()=>[Ke(W,(e,t)=>-1===_e(y,t)?void 0:Ke(e,(e,s)=>-1===_e(_e(D,t),s)?void 0:Ke(e,([,e])=>e,e=>rs(e)),Ie,Pe),Ie,Pe),Ke(J,([,e])=>e,e=>rs(e)),1],getTransactionLog:()=>[!Ie(W),!Ie(J),Ye(W,os,rs),Ye(x),Ke(J,os,rs),Ke(O),Ke(y),Xe(D),Ye(E),Ke(H)],finishTransaction:en,forEachTable:e=>Re(te,(t,s)=>e(s,e=>Re(t,(t,s)=>e(s,e=>Be(t,e))))),forEachTableCell:(e,t)=>Be(_e($,m(e)),t),forEachRow:(e,t)=>Re(_e(te,m(e)),(e,s)=>t(s,t=>Be(e,t))),forEachCell:(e,t,s)=>Be(_e(_e(te,m(e)),m(t)),s),forEachValue:e=>Be(se,e),addSortedRowIdsListener:(e,t,s,n,l,a,o)=>ye(e)?Is(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):Is(e,t,[s,n,l],a,o),addStartTransactionListener:e=>ut(e,rt),addWillFinishTransactionListener:e=>ut(e,ct[0]),addDidFinishTransactionListener:e=>ut(e,ct[1]),callListener:e=>(ft(e),tn),delListener:e=>(ht(e),tn),getListenerStats:()=>({hasTables:ls(oe),tables:ls(re),tableIds:ls(ie),hasTable:ls(ce),table:ls(ue),tableCellIds:ls(ge),hasTableCell:ls(Le,be),rowCount:ls(pe),rowIds:ls(Se),sortedRowIds:ls(Ve),hasRow:ls(me,be),row:ls(Me,be),cellIds:ls(De,be),hasCell:ls(Ee,Ce),cell:ls(Je,Ce),invalidCell:ls(Oe,Ce),hasValues:ls(ze),values:ls(tt),valueIds:ls(lt),hasValue:ls(at),value:ls(ot),invalidValue:ls(Qe),transaction:fe(rt)+ls(ct)}),isMergeable:()=>!1,createStore:cs,addListener:ut,callListeners:gt,setInternalListeners:(e,t,s,n,l)=>h=[e,t,s,n,l],setMiddleware:(e,t,s,n,l,a,o,r,i,d,u,g,h,f)=>c=[e,t,s,n,l,a,o,r,i,d,u,g,h,f],setOrDelCell:Et,setOrDelValue:Ht};return xe({[g+b]:[0,oe,[],()=>[Ds()]],[b]:[0,re],[C]:[0,ie],[g+f]:[1,ce,[vs],e=>[Es(...e)]],[f]:[1,ue,[vs]],[f+T]:[1,ge,[vs]],[g+f+R]:[2,Le,[vs,Rs],e=>[Ws(...e)]],[I]:[1,pe,[vs]],[L]:[1,Se,[vs]],[g+w]:[2,me,[vs,ps],e=>[Hs(...e)]],[w]:[2,Me,[vs,ps]],[T]:[2,De,[vs,ps]],[g+R]:[3,Ee,[vs,ps,Vs],e=>[Js(...e)]],[R]:[3,Je,[vs,ps,Vs],e=>ns(ms(...e))],InvalidCell:[3,Oe],[g+S]:[0,ze,[],()=>[xs()]],[S]:[0,tt],[V]:[0,lt],[g+p]:[1,at,[Ms],e=>[Os(...e)]],[p]:[1,ot,[Ms],e=>ns(ks(e[0]))],InvalidValue:[1,Qe]},([e,t,s,n],l)=>{tn[u+l+d]=(...l)=>ut(l[e],t[l[e+1]?1:0],e>0?U(l,0,e):void 0,s,n)}),ke(tn)},us={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},gs=(e=t)=>[$t(e),$t(e)],hs=(e,s)=>{let n=1,l=gs(),a=0,o=0;const r=Ae(),i=st(),[c,g]=Qt(e,s),h=cs(),f=e=>{const t=n;return n=0,e(),n=t,R},b=(e,s=0)=>{const n={},a={},[[o,r=t,i=0],d]=e,[c,u]=l,[h,f,b]=c;let w=s?i:b,I=r;Je(o,([e,l=t,a=0],o)=>{const r=qe(h,o,$t),[i,d,c]=r;let u=s?a:c,g=l;Je(e,(e,t)=>{const[l,a,r]=C(e,qe(i,t,$t),Qe(Qe(n,o,De),t,De),s);u^=s?0:Tt(a?St(t,a):0,St(t,r)),g=Xt(g,l)}),u^=s?0:Kt(d,l),Yt(r,l,u),w^=s?0:Tt(c?St(o,c):0,St(o,r[2])),I=Xt(I,g)}),w^=s?0:Kt(f,r),Yt(c,r,w);const[L]=C(d,u,a,s);return g(Xt(I,L)),[n,a,1]},C=(e,s,n,l)=>{const[a,o=t,r=0]=e,[i,d,c]=s;let u=o,g=l?r:c;return Je(a,([e,s=t,a=0],o)=>{const r=qe(i,o,()=>[void 0,t,0]),[,d,c]=r;(!d||s>d)&&(Yt(r,s,l?a:Vt(e,s)),r[0]=e,n[o]=e,g^=l?0:Tt(St(o,c),St(o,r[2])),u=Xt(u,s))}),g^=l?0:Kt(d,o),Yt(s,o,g),[u,c,s[2]]},w=K,I=K,L=()=>[es(l[0],e=>es(e,e=>es(e))),es(l[1])],v=e=>f(()=>h.applyChanges(b(e))),R={getMergeableContent:L,getMergeableContentHashes:()=>[l[0][2],l[1][2]],getMergeableTableHashes:()=>Ke(l[0][0],Gt),getMergeableTableDiff:e=>{const t=Zt(l[0][1]),s={};return Be(l[0][0],(n,[l,a,o])=>We(e,n)?o!=e[n]?s[n]=o:0:t[0][n]=ts([l,a],e=>ts(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return Je(e,(e,s)=>z(_e(l[0][0],s),([n,,l])=>l!=e?Be(n,(e,[,,n])=>Qe(t,s,De)[e]=n):0)),t},getMergeableRowDiff:e=>{const t=Zt(l[0][1]),s={};return Je(e,(e,n)=>Be(_e(l[0][0],n)?.[0],(l,[a,o,r])=>We(e,l)?r!==e[l]?Qe(s,n,De)[l]=r:0:Qe(t[0],n,Zt)[0][l]=ts([a,o]))),[t,s]},getMergeableCellHashes:e=>{const t={};return Je(e,(e,s)=>z(_e(l[0][0],s),([n])=>Je(e,(e,l)=>z(_e(n,l),([n,,a])=>a!==e?Be(n,(e,[,,n])=>Qe(Qe(t,s,De),l,De)[e]=n):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=l,n={};return Je(e,(e,s)=>Je(e,(e,l)=>z(_e(t,s),([t,a])=>z(_e(t,l),([t,o])=>Be(t,(t,[r,i,d])=>d!==e[t]?Qe(Qe(n,s,()=>Zt(a))[0],l,()=>Zt(o))[0][t]=[r,i]:0))))),Ut(n,s)},getMergeableValueHashes:()=>Ke(l[1][0],Gt),getMergeableValueDiff:e=>{const[,[t,s]]=l,n=Ke(t,_t,([,,t],s)=>t==e?.[s]);return Ut(n,s)},setMergeableContent:e=>f(()=>(e=>B(e)&&2==q(e)&&ss(e[0],e=>Ne(e,e=>ss(e,e=>Ne(e,e=>ss(e,e=>Ne(e,e=>ss(e,jt),void 0,1)),void 0,1)),void 0,1))&&ss(e[1],e=>Ne(e,e=>ss(e,jt),void 0,1)))(e)?h.transaction(()=>{h.delTables().delValues(),l=gs(),h.applyChanges(b(e,1))}):0),setDefaultContent:e=>(h.transaction(()=>{a=1,h.setContent(e),a=0}),R),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,n],[a,o,d]]=l,c=e?qt:Ut,u={};Re(r,(e,s)=>z(_e(t,s),([t,n,l])=>{const a={};Re(e,(e,s)=>z(_e(t,s),([t,n,l])=>{const o={};Re(e,e=>{z(_e(t,e),([t,s,n])=>o[e]=c(t,s,n))}),a[s]=c(o,n,l)})),u[s]=c(a,n,l)}));const g={};return Re(i,e=>z(_e(a,e),([t,s,n])=>g[e]=c(t,s,n))),[c(u,s,n),c(g,o,d),1]},applyMergeableChanges:v,merge:e=>{const t=L(),s=e.getMergeableContent();return e.applyMergeableChanges(t),v(s)},hadMutated:()=>{const e=o;return o=0,e}};return h.setInternalListeners(w,I,()=>{ve(r),ve(i)},(e,s,l,i,d)=>{nt(qe(qe(r,e,Ae),s,st),l),(n||d)&&(d&&(o=1),b([[{[e]:[{[s]:[{[l]:[i,a?t:c()]}]}]}],[{}],1]))},(e,s,l)=>{nt(i,e),(n||l)&&(l&&(o=1),b([[{}],[{[e]:[s,a?t:c()]}],1]))}),xe(h,(e,t)=>R[t]=y(t,"set")||y(t,"del")||y(t,"apply")||M(t,"Transaction")||t=="call"+d||"use"==t?(...t)=>(e(...t),R):y(t,u)&&M(t,d)?(...s)=>{const n=us[U(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(R,...t),e(...s)}:"isMergeable"==t?()=>!0:e),ke(R)},fs=Ae([["avg",[(e,t)=>oe(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["min",[e=>J(...e),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:J(t,e)]],["sum",[e=>oe(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),bs=(e,t,s,n,l,a=!1)=>{if(Ie(s))return;const[o,r,i,d]=l;return a||=F(e),Re(n,([s,n])=>{a||(e=F(s)?r?.(e,n,t++):F(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=F(e))}),a?o(Le(s),he(s)):e},Cs=ot(e=>{const s=Ae(),[n,l,a]=dt(()=>w),[o,r,i,d,c,u,g,,h,f,b,C]=lt(e,G,e=>isNaN(e)||F(e)||!0===e||!1===e||e===t?void 0:1*e,n,l),w={setMetricDefinition:(e,t,n,a,o,r,i)=>{const d=_(n)?[n,o,r,i]:_e(fs,n)??_e(fs,"sum");return h(e,t,(t,n,a,o,r,i)=>{const c=u(e),h=he(o);i||=F(c),t();let f=bs(c,h,o,n,d,i);O(f)||(f=void 0),f!=c&&(g(e,f),l(s,[e],f,c))},at(a,1)),w},delMetricDefinition:e=>(f(e),w),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(a(e),w),destroy:C,getListenerStats:()=>({metric:fe(s)})};return ke(w)}),ws=(e,t,...s)=>ie(e,(e,t)=>F(e)?e:t(...s,e),t),Is=(e,...t)=>$(e,e=>e(...t)),Ls=ot(e=>{const t=e=>t=>(de(e,t),D),s=[],n=[],l=[],a=[],o=[],r=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],C=t(s),w=t(n),I=t(l),L=t(a),v=t(o),R=t(r),T=t(i),p=t(d),S=t(c),V=t(u),m=t(g),y=t(h),M=t(f),k=t(b),D=ke({getStore:()=>e,addWillSetContentCallback:C,addWillSetTablesCallback:w,addWillSetTableCallback:I,addWillSetRowCallback:L,addWillSetCellCallback:v,addWillSetValuesCallback:R,addWillSetValueCallback:T,addWillDelTablesCallback:p,addWillDelTableCallback:S,addWillDelRowCallback:V,addWillDelCellCallback:m,addWillDelValuesCallback:y,addWillDelValueCallback:M,addWillApplyChangesCallback:k,destroy:()=>{}});return e.setMiddleware(e=>ws(s,e),e=>ws(n,e),(e,t)=>ws(l,t,e),(e,t,s)=>ws(a,s,e,t),(e,t,s,n)=>ws(o,n,e,t,s),e=>ws(r,e),(e,t)=>ws(i,t,e),()=>Is(d),e=>Is(c,e),(e,t)=>Is(u,e,t),(e,t,s)=>Is(g,e,t,s),()=>Is(h),e=>Is(f,e),e=>ws(b,e)),D}),vs=ot(e=>{const s=e.createStore,n=s(),l=s(),a=Ae(),o=Ae(),r=Ae(),{addListener:i,callListeners:g,delListener:h}=l,[b,C,p,S,V,m,y,M,,k,D,E,W,H]=lt(e,()=>[],G,i,g),J=(e,t,...s)=>le(s,s=>nt(qe(qe(a,t,Ae),e,st),s)),x=e=>{z(_e(a,e),e=>{Be(e,(e,t)=>Re(t,t=>e.delListener(t))),ve(e)}),le([l,n],t=>t.delTable(e))},O=(e,t,s)=>J(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener(()=>s.finishTransaction())),P=(s,a,o,r={})=>{const i=A(s);var d;M(s,a),y(s,[o,(d=r,new Map(me(d)))]),Q(s,i,r),x(s);const[,c]=m(s),u=[],g=[[void 0,[a,void 0,void 0,[],Ae()]]],h=[],f=[],b=[];o({select:(e,s)=>{const n=_(e)?[q(u)+t,e]:[F(s)?e:s,t=>t(e,s)];return de(u,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=F(s)||_(t)?void 0:t,l=F(n)?t:s,a=[e,[e,n,_(l)?l:e=>e(l),[],Ae()]];return de(g,a),{as:e=>a[0]=e}},where:(e,t,s)=>de(h,_(e)?e:F(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,l)=>{const a=[e,[e,_(t)?[t,s,n,l]:_e(fs,t)??[(e,t)=>t]]];return de(f,a),{as:e=>a[0]=e}},having:(e,t)=>de(b,_(e)?e:s=>s(e)===t),param:e=>_e(c,e)});const C=Ae(u);if(Ie(C))return B;const w=Ae(g);Be(w,(e,[,t])=>z(_e(w,t),({3:t})=>F(e)?0:de(t,e)));const I=Ae(f);let L=n;if(Ie(I)&&re(b))L=l;else{O(s,L,l);const e=Ae();Be(I,(t,[s,n])=>nt(qe(e,s,st),[t,n]));const t=st();Be(C,s=>we(e,s)?0:nt(t,s));const n=Ae(),a=(t,n,a,o)=>z(t,([r,i,d,c])=>{Be(n,(t,[s])=>{const n=qe(r,t,Ae),l=_e(n,a),i=o?void 0:s;if(l!==i){const s=st([[l,i]]),o=he(n);Ue(n,a,i),Re(_e(e,t),([e,t])=>{const l=bs(c[e],o,n,s,t);c[e]=F(At(l))?void 0:l})}}),Ie(i)||!$(b,e=>e(e=>c[e]))?l.delRow(s,d):F(d)?t[2]=l.addRow(s,c):l.setRow(s,d,c)});J(L,s,L.addRowListener(s,null,(l,o,r,i)=>{const d=[],c=[],u=Ae(),g=L.hasRow(s,r);let h=!g;Re(t,e=>{const[t,n,l]=i(s,r,e);de(d,n),de(c,l),h||=t}),Be(e,e=>{const[t,,n]=i(s,r,e);(h||t)&&Ue(u,e,[n])}),h&&a(tt(n,d,void 0,([,e])=>(Te(e,r),Ie(e))),u,r,1),g&&a(tt(n,c,()=>{const e={};return Re(t,t=>e[t]=L.getCell(s,r,t)),[Ae(),st(),void 0,e]},([,e])=>{nt(e,r)}),u,r)}))}O(s,e,L);const v=(t,n,l,o)=>{const r=t=>e.getCell(n,l,t);le(o,n=>{const[l,,a,o,i]=_e(w,n),d=a?.(r,t),[c,u]=_e(i,t)??[];d!=c&&(F(u)||H(s,u),Ue(i,t,F(d)?void 0:[d,...W(s,1,e.addRowListener(l,d,()=>v(t,l,d,o)))]))}),(t=>{const n=(s,n)=>e.getCell(...F(n)?[a,t,s]:s===a?[a,t,n]:[_e(w,s)?.[0],_e(_e(w,s)?.[4],t)?.[0],n]);L.transaction(()=>$(h,e=>e(n))?Be(C,(e,l)=>L.setOrDelCell(s,t,e,l(n,t))):L.delRow(s,t))})(t)},{3:R}=_e(w,void 0);return L.transaction(()=>W(s,1,e.addRowListener(a,null,(t,n,l)=>{e.hasRow(a,l)?v(l,a,l,R):(L.delRow(s,l),Re(w,({4:e})=>z(_e(e,l),([,t])=>{H(s,t),Ue(e,l)})))}))),B},Q=(e,t,s)=>{const n=st([...Me(t),...Me(s)]);let l=0;Re(n,n=>{const a=Ee(s,n);te(Ee(t,n),a)||(l=1,g(r,[e,n],a))}),l&&g(o,[e],s)},N=(e,t,s=0)=>(z(m(e),([n,a])=>{!s&&Fe(Ke(a),t,te)||l.transaction(()=>P(e,V(e),n,t))}),B),A=e=>Ke(m(e)?.[1]),j=(e,t)=>_e(m(e)?.[1],t),B={setQueryDefinition:P,delQueryDefinition:e=>{const t=A(e);return x(e),k(e),Q(e,t,{}),B},getParamValues:A,getParamValue:j,setParamValues:N,setParamValue:(e,t,s)=>(te(j(e,t),s)||N(e,{...A(e),[t]:s},1),B),getStore:b,getQueryIds:C,forEachQuery:p,hasQuery:S,getTableId:V,addQueryIdsListener:e=>D(()=>e(B)),addParamValuesListener:(e,t)=>i((e,s,n)=>t(B,s,n),o,[e]),addParamValueListener:(e,t,s)=>i((e,t,n,l)=>s(B,t,n,l),r,[e,t]),delListener:e=>(h(e),B),destroy:E,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=l.getListenerStats();return{...n,paramValues:fe(o),paramValue:be(r)}}};return xe({[f]:[1,1],[f+T]:[0,1],[I]:[0,1],[L]:[0,1],[v]:[0,5],[w]:[1,2],[T]:[0,2],[R]:[1,3]},([e,t],s)=>{le(e?["get","has","forEach"]:["get"],e=>B[e+c+s]=(...t)=>l[e+s](...t)),B[u+c+s+d]=(...e)=>l[u+s+d](...U(e,0,t),(s,...n)=>e[t](B,...n),!0)}),ke(B)}),Rs=ot(e=>{const s=Ae(),n=Ae(),l=Ae(),a=Ae(),[o,r,i]=dt(()=>T),[d,c,u,g,h,f,,,b,C,w,I]=lt(e,()=>[Ae(),Ae(),Ae(),Ae()],e=>F(e)?void 0:e+t,o,r),L=(e,t,s)=>z(f(e),([n,,l])=>{if(!we(l,t)){const a=st();if(h(e)!=R(e))nt(a,t);else{let e=t;for(;!F(e)&&!we(a,e);)nt(a,e),e=_e(n,e)}if(s)return a;Ue(l,t,a)}return _e(l,t)}),v=(e,t)=>z(f(e),([,,e])=>Ue(e,t)),R=e=>_e(s,e),T={setRelationshipDefinition:(e,t,o,i)=>(Ue(s,e,o),b(e,t,(t,s)=>{const o=st(),i=st(),d=st(),[c,u]=f(e);Re(s,([t,s],n)=>{F(t)||(nt(i,t),z(_e(u,t),e=>{Te(e,n),Ie(e)&&Ue(u,t)})),F(s)||(nt(i,s),we(u,s)||Ue(u,s,st()),nt(_e(u,s),n)),nt(o,n),Ue(c,n,s),Be(_e(a,e),t=>{we(L(e,t),n)&&nt(d,t)})}),t(),Re(o,t=>r(n,[e,t])),Re(i,t=>r(l,[e,t])),Re(d,t=>{v(e,t),r(a,[e,t])})},at(i)),T),delRelationshipDefinition:e=>(Ue(s,e),C(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(s=>t(s,t=>e.forEachRow(h(s),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>_e(f(e)?.[0],t),getLocalRowIds:(e,t)=>Le(_e(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>F(f(e))?[t]:Le(L(e,t,!0)),addRelationshipIdsListener:w,addRemoteRowIdListener:(e,t,s)=>o(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>o(s,l,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(L(e,t),o(s,a,[e,t])),delListener:e=>(v(...i(e)??[]),T),destroy:I,getListenerStats:()=>({remoteRowId:be(n),localRowIds:be(l),linkedRowIds:be(a)})};return ke(T)});export{Tt as addOrRemoveHash,ct as createCheckpoints,zt as createIndexes,hs as createMergeableStore,Cs as createMetrics,Ls as createMiddleware,vs as createQueries,Rs as createRelationships,cs as createStore,Nt as defaultSorter,mt as getCellHash,yt as getCellInRowHash,Rt as getHash,Qt as getHlcFunctions,Mt as getRowHash,kt as getRowInTableHash,Dt as getTableHash,Et as getTableInTablesHash,Wt as getTablesHash,Ct as getUniqueId,Vt as getValueHash,St as getValueInValuesHash,pt as getValuesHash};
package/min/index.js.gz CHANGED
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),r="type",o="default",i="allowNull",c="Listener",d="Has",u="Ids",g="Table",h=g+"s",b=g+u,f="Row",C=f+"Count",T=f+u,v="Cell",w=v+u,V="Value",I=V+"s",p=V+u,R=e=>t+e,y=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),S=e=>(t,s,l)=>e(t)?l?.():s(t),L=globalThis,H=Math,J=H.max,E=H.floor,D=isFinite,F=e=>null==e,O=e=>void 0===e,x=e=>null===e,z=S(F),A=S(O),N=e=>e==s||e==l,P=t=>e(t)==n,W=e=>Array.isArray(e),k=(e,t,s)=>e.slice(t,s),j=e=>e.length,U=()=>{},q=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},B=t=>{if(x(t))return"null";const s=e(t);return N(s)||s==a&&D(t)?s:void 0},G=e=>O(e)||!O(B(e)),K=(e,t,s,l,a)=>O(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Q=(e,t,s)=>O(s)?e.delValue(t):e.setValue(t,s),X=(e,t)=>e.forEach(t),Y=(e,t)=>e.map(t),Z=(e,t,s)=>e.reduce(t,s),$=(e,...t)=>e.push(...t),_=e=>t=>Z(re(t),(t,s)=>t+e(s),0),ee=e=>e?.size??0,te=_(ee),se=_(te),le=_(se),ae=(e,t)=>e?.has(t)??!1,ne=e=>O(e)||0==ee(e),re=e=>[...e?.values()??[]],oe=e=>e.clear(),ie=(e,t)=>e?.forEach(t),ce=(e,t)=>e?.delete(t),de=Object,ue=e=>de.getPrototypeOf(e),ge=de.isFrozen,he=de.entries,be=e=>!F(e)&&z(ue(e),e=>e==de.prototype||F(ue(e)),()=>!0),fe=de.keys,Ce=de.freeze,Te=(e=[])=>de.fromEntries(e),ve=(e,t)=>t in e,we=(e,t)=>(delete e[t],e),Ve=(e,t)=>X(he(e),([e,s])=>t(s,e)),Ie=(e,t)=>Te(((e,t)=>Y(he(e),([e,s])=>t(s,e)))(e,(e,s)=>[s,t(e,s)])),pe=e=>be(e)&&0==(e=>j(fe(e)))(e),Re=(e,t,s)=>(ve(e,t)||(e[t]=s()),e[t]),ye=(e,t,s,l=0)=>F(e)||!be(e)||!l&&pe(e)||ge(e)?(s?.(),!1):(Ve(e,(s,l)=>{t(s,l)||we(e,l)}),!!l||!pe(e)),Me=JSON.stringify,me=JSON.parse,Se=e=>Me(e,(e,t)=>t instanceof Map?de.fromEntries([...t]):t),Le=new L.TextEncoder,He=e=>{let t=2166136261;return X(Le.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Je=(e,t)=>(e^t)>>>0,Ee=(e,t)=>He(e+":"+t),De=Map,Fe=e=>new De(e),Oe=e=>[...e?.keys()??[]],xe=(e,t)=>e?.get(t),ze=(e,t)=>ie(e,(e,s)=>t(s,e)),Ae=(e,t,s)=>O(s)?(ce(e,t),e):e?.set(t,s),Ne=(e,t,s,l)=>(ae(e,t)?l?.(xe(e,t)):Ae(e,t,s()),xe(e,t)),Pe=(e,t,s,l=Ae)=>(Ie(t,(t,l)=>s(e,l,t)),ze(e,s=>ve(t,s)?0:l(e,s)),e),We=(e,t,s,l)=>{const a={};return ie(e,(e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}}),a},ke=(e,t,s)=>We(e,e=>We(e,t,s),ne,pe),je=(e,t,s)=>We(e,e=>ke(e,t,s),ne,pe),Ue=(e,t)=>{const s=Fe();return ie(e,(e,l)=>s.set(l,t?.(e)??e)),s},qe=e=>Ue(e,Ue),Be=e=>Ue(e,qe),Ge=(e,t,s,l,a=0)=>A((s?Ne:xe)(e,t[a],a>j(t)-2?s:Fe),n=>{if(a>j(t)-2)return l?.(n)&&Ae(e,t[a]),n;const r=Ge(n,t,s,l,a+1);return ne(n)&&Ae(e,t[a]),r}),Ke=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Qe=Fe(Y(Ke,(e,t)=>[e,t])),Xe=e=>Ke[63&e],Ye=(e,t)=>xe(Qe,e[t])??0,Ze=L.crypto?e=>L.crypto.getRandomValues(e):e=>Y(e,()=>E(256*H.random())),$e=2**36,_e=2**30,et=2**24,tt=2**18,st=4096,lt=e=>{const t=He(e);return Xe(t/et)+Xe(t/tt)+Xe(t/st)+Xe(t/64)+Xe(t)},at=e=>new Set(W(e)||O(e)?e:[e]),nt=(e,t)=>e?.add(t),rt=([e,t])=>it(e,t),ot=([e,t,s])=>[e,t,s],it=(e,t)=>t?[e,t]:[e],ct=(e,t,s)=>[e,t,s],dt=e=>e[2],ut=(e,t)=>t>e?(e?He(e):0)^He(t):0,gt=(e,t)=>((e??"")>(t??"")?e:t)??"",ht=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},bt=(e=t)=>it(Te(),e),ft=(e=t)=>[Fe(),e,0],Ct=([e,t,s],l=ot)=>[We(e,l),t,s],Tt=([e,t],s=rt)=>it(We(e,s),t),vt=(t,l)=>{return W(t)&&3==j(t)&&(n=t[1],e(n)==s)&&e(t[2])==a&&D(t[2])&&l(t[0]);var n},wt=/^\d+$/,Vt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{wt.test(t)&&j(e)<1e3&&$(e,t)}]},It=e=>[e,e],pt=(e,t=te)=>t(e[0])+t(e[1]),Rt=()=>[Fe(),Fe()],yt=e=>[...e],Mt=([e,t])=>e===t,mt=(e,t,s)=>Ae(e,t,xe(e,t)==-s?void 0:s),St=()=>{let e,s,l=!1,n=!1,u=0,y=[],M=0;const m=Fe(),S=Fe(),L=Fe(),H=Fe(),J=Fe(),E=Fe(),D=Fe(),F=Fe(),z=Fe(),U=Fe(),G=Fe(),Z=Fe(),_=Fe(),re=Fe(),de=at(),ue=Fe(),ge=Fe(),he=Fe(),fe=Fe(),Te=Rt(),Ve=Rt(),Re=Rt(),Me=Rt(),Le=Rt(),He=Rt(),Je=Rt(),Ee=Rt(),De=Rt(),Ke=Rt(),Qe=Rt(),Xe=Rt(),Ye=Rt(),Ze=Rt(),$e=Rt(),_e=Rt(),et=Rt(),tt=Rt(),st=Rt(),lt=Rt(),rt=Rt(),ot=Rt(),it=Fe(),ct=Rt(),[dt,ut,gt,ht]=(()=>{let e;const[s,l]=Vt(),a=Fe();return[(l,n,r,o=[],i=()=>[])=>{e??=js;const c=s(1);return Ae(a,c,[l,n,r,o,i]),nt(Ge(n,r??[t],at),c),c},(s,l,...n)=>X(((e,s=[t])=>{const l=[],a=(e,t)=>t==j(s)?$(l,e):x(s[t])?ie(e,e=>a(e,t+1)):X([s[t],null],s=>a(xe(e,s),t+1));return a(e,0),l})(s,l),t=>ie(t,t=>xe(a,t)[0](e,...l??[],...n))),e=>A(xe(a,e),([,s,n])=>(Ge(s,n??[t],void 0,t=>(ce(t,e),ne(t)?1:0)),Ae(a,e),l(e),n)),t=>A(xe(a,t),([t,,s=[],l,a])=>{const n=(...r)=>{const o=j(r);o==j(s)?t(e,...r,...a(r)):x(s[o])?X(l[o]?.(...r)??[],e=>n(...r,e)):n(...r,s[o])};n()})]})(),bt=e=>{if(!ye(e,(e,t)=>[r,o,i].includes(t)))return!1;const t=e[r];if(!N(t)&&t!=a)return!1;const s=e[o];return!(x(s)&&!e[i]||(x(s)||B(s)==t||we(e,o),0))},ft=W,Ct=(t,s)=>(!e||ae(G,s)||_t(s))&&ye(t,(e,t)=>Tt(s,t,e),()=>_t(s)),Tt=(e,t,s,l)=>ye(l?s:Ht(s,e,t),(l,a)=>A(vt(e,t,a,l),e=>(s[a]=e,!0),()=>!1),()=>_t(e,t)),vt=(t,s,l,a)=>e?A(xe(xe(G,t),l),e=>x(a)?e[i]?a:_t(t,s,l,a,e[o]):B(a)==e[r]?a:_t(t,s,l,a,e[o]),()=>_t(t,s,l,a)):O(B(a))?_t(t,s,l,a):a,wt=(e,t)=>ye(t?e:Jt(e),(t,s)=>A(Lt(s,t),t=>(e[s]=t,!0),()=>!1),()=>es()),Lt=(e,t)=>s?A(xe(_,e),s=>x(t)?s[i]?t:es(e,t,s[o]):B(t)==s[r]?t:es(e,t,s[o]),()=>es(e,t)):O(B(t))?es(e,t):t,Ht=(e,t,s)=>(A(xe(Z,t),([l,a])=>{ie(l,(t,s)=>{ve(e,s)||(e[s]=t)}),ie(a,l=>{ve(e,l)||_t(t,s,l)})}),e),Jt=e=>(s&&(ie(re,(t,s)=>{ve(e,s)||(e[s]=t)}),ie(de,t=>{ve(e,t)||es(t)})),e),Et=e=>Pe(G,e,(e,t,s)=>{const l=Fe(),a=at();Pe(Ne(G,t,Fe),s,(e,t,s)=>{Ae(e,t,s),A(s[o],e=>Ae(l,t,e),()=>nt(a,t))}),Ae(Z,t,[l,a])},(e,t)=>{Ae(G,t),Ae(Z,t)}),Dt=e=>Pe(_,e,(e,t,s)=>{Ae(_,t,s),A(s[o],e=>Ae(re,t,e),()=>nt(de,t))},(e,t)=>{Ae(_,t),Ae(re,t),ce(de,t)}),Ft=e=>pe(e)?Fs():Ls(e),Ot=e=>Pe(he,e,(e,t,s)=>xt(t,s),(e,t)=>Ut(t)),xt=(e,t)=>Pe(Ne(he,e,()=>(Kt(e,1),Ae(ue,e,Vt()),Ae(ge,e,Fe()),Fe())),t,(t,s,l)=>zt(e,t,s,l),(t,s)=>qt(e,t,s)),zt=(e,t,s,l,a)=>Pe(Ne(t,s,()=>(Qt(e,s,1),Fe())),l,(t,l,a)=>At(e,s,t,l,a),(l,n)=>Bt(e,t,s,l,n,a)),At=(e,t,s,l,a)=>{ae(s,l)||Xt(e,t,l,1);const n=xe(s,l);a!==n&&(Yt(e,t,l,n,a),Ae(s,l,a))},Nt=(e,t,s,l,a)=>A(xe(t,s),t=>At(e,s,t,l,a),()=>zt(e,t,s,Ht({[l]:a},e,s))),Pt=e=>pe(e)?zs():Hs(e),Wt=e=>Pe(fe,e,(e,t,s)=>kt(t,s),(e,t)=>Gt(t)),kt=(e,t)=>{ae(fe,e)||Zt(e,1);const s=xe(fe,e);t!==s&&($t(e,s,t),Ae(fe,e,t))},jt=e=>xe(he,e)??xt(e,{}),Ut=e=>xt(e,{}),qt=(e,t,s)=>{const[,l]=xe(ue,e);l(s),zt(e,t,s,{},!0)},Bt=(e,t,s,l,a,n)=>{const r=xe(xe(Z,e)?.[0],a);if(!O(r)&&!n)return At(e,s,l,a,r);const o=t=>{Yt(e,s,t,xe(l,t)),Xt(e,s,t,-1),Ae(l,t)};O(r)?o(a):ze(l,o),ne(l)&&(Qt(e,s,-1),ne(Ae(t,s))&&(Kt(e,-1),Ae(he,e),Ae(ue,e),Ae(ge,e)))},Gt=e=>{const t=xe(re,e);if(!O(t))return kt(e,t);$t(e,xe(fe,e)),Zt(e,-1),Ae(fe,e)},Kt=(e,t)=>mt(m,e,t),Qt=(e,t,s)=>mt(Ne(H,e,Fe),t,s)&&Ae(L,e,Ne(L,e,()=>0)+s),Xt=(e,t,s,l)=>{const a=xe(ge,e),n=xe(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&mt(Ne(S,e,Fe),s,l),Ae(a,s,n!=-l?n+l:void 0),mt(Ne(Ne(J,e,Fe),t,Fe),s,l)},Yt=(e,t,s,l,a)=>{Ne(Ne(Ne(E,e,Fe),t,Fe),s,()=>[l,0])[1]=a,y[3]?.(e,t,s,a,M)},Zt=(e,t)=>mt(D,e,t),$t=(e,t,s)=>{Ne(F,e,()=>[t,0])[1]=s,y[4]?.(e,s,M)},_t=(e,t,s,l,a)=>($(Ne(Ne(Ne(z,e,Fe),t,Fe),s,()=>[]),l),a),es=(e,t,s)=>($(Ne(U,e,()=>[]),t),s),ts=(e,t,s)=>A(xe(xe(xe(E,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...It(Ts(e,t,s))]),ss=e=>A(xe(F,e),([e,t])=>[!0,e,t],()=>[!1,...It(Vs(e))]),ls=e=>ne(z)||ne(_e[e])?0:ie(e?Be(z):z,(t,s)=>ie(t,(t,l)=>ie(t,(t,a)=>ut(_e[e],[s,l,a],t)))),as=e=>ne(U)||ne(et[e])?0:ie(e?Ue(U):U,(t,s)=>ut(et[e],[s],t)),ns=(e,t,s,l)=>{if(!ne(e))return ut(t,l,()=>We(e)),ze(e,(e,t)=>ut(s,[...l??[],e],1==t)),1},rs=e=>{const t=!ne(Te[e]),s=!ne(Ke[e]),a=!(ne(Ye[e])&&ne(Ze[e])&&ne(De[e])&&ne(Qe[e])&&ne(He[e])&&ne(Je[e])&&ne(Ee[e])&&!s&&ne(Re[e])&&ne(Me[e])),n=!(ne($e[e])&&ne(Xe[e])&&ne(Le[e])&&ne(Ve[e]));if(t||a||n){const r=e?[Ue(m),qe(S),Ue(L),qe(H),Be(J),Ue(E,e=>Ue(e,e=>Ue(e,yt)))]:[m,S,L,H,J,E];if(t){const t=Is();t!=l&&ut(Te[e],void 0,t)}if(a){ns(r[0],Re[e],Me[e]),ie(r[1],(t,s)=>ns(t,He[e],Je[e],[s])),ie(r[2],(t,s)=>{0!=t&&ut(Ee[e],[s],hs(s))});const t=at();ie(r[3],(l,a)=>{ns(l,De[e],Qe[e],[a])&&s&&(ut(Ke[e],[a,null]),nt(t,a))}),s&&ie(r[5],(s,l)=>{if(!ae(t,l)){const t=at();ie(s,e=>ie(e,([s,l],a)=>l!==s?nt(t,a):ce(e,a))),ie(t,t=>ut(Ke[e],[l,t]))}}),ie(r[4],(t,s)=>ie(t,(t,l)=>ns(t,Ye[e],Ze[e],[s,l])))}if(n){let t;ie(r[5],(s,l)=>{let a;ie(s,(s,n)=>{let r;ie(s,([s,o],i)=>{o!==s&&(ut($e[e],[l,n,i],o,s,ts),t=a=r=1)}),r&&ut(Xe[e],[l,n],ts)}),a&&ut(Le[e],[l],ts)}),t&&ut(Ve[e],void 0,ts)}}},os=e=>{const t=!ne(tt[e]),s=!ne(lt[e])||!ne(rt[e]),l=!ne(ot[e])||!ne(st[e]);if(t||s||l){const a=e?[Ue(D),Ue(F,yt)]:[D,F];if(t){const t=ms();t!=n&&ut(tt[e],void 0,t)}if(s&&ns(a[0],lt[e],rt[e]),l){let t;ie(a[1],([s,l],a)=>{l!==s&&(ut(ot[e],[a],l,s,ss),t=1)}),t&&ut(st[e],void 0,ss)}}},is=(e,...t)=>(Ps(()=>e(...Y(t,R))),js),cs=(e,t,s,l,a)=>{let n=fs(e,t,...s);return dt(()=>{const a=fs(e,t,...s);var r,o,i;o=n,j(r=a)===j(o)&&(i=(e,t)=>o[t]===e,r.every(i))||(n=a,l(js,e,t,...s,n))},Ke[a?1:0],[e,t],[us])},ds=()=>je(he),us=()=>Oe(he),gs=e=>Oe(xe(ge,R(e))),hs=e=>ee(xe(he,R(e))),bs=e=>Oe(xe(he,R(e))),fs=(e,t,s,l=0,a)=>{return be(e)?fs(e.tableId,e.cellId,e.descending,e.offset,e.limit):Y(k((r=xe(he,R(e)),o=(e,s)=>[O(t)?s:xe(e,R(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),Y([...r?.entries()??[]],([e,t])=>o(t,e)).sort(n)),l,O(a)?a:l+a),([,e])=>e);var n,r,o},Cs=(e,t)=>Oe(xe(xe(he,R(e)),R(t))),Ts=(e,t,s)=>xe(xe(xe(he,R(e)),R(t)),R(s)),vs=()=>We(fe),ws=()=>Oe(fe),Vs=e=>xe(fe,R(e)),Is=()=>!ne(he),ps=e=>ae(he,R(e)),Rs=(e,t)=>ae(xe(ge,R(e)),R(t)),ys=(e,t)=>ae(xe(he,R(e)),R(t)),Ms=(e,t,s)=>ae(xe(xe(he,R(e)),R(t)),R(s)),ms=()=>!ne(fe),Ss=e=>ae(fe,R(e)),Ls=e=>is(()=>(e=>ye(e,Ct,_t))(e)?Ot(e):0),Hs=e=>is(()=>wt(e)?Wt(e):0),Js=e=>(q(()=>Ft(me(e))),js),Es=t=>is(()=>{if((e=ye(t,e=>ye(e,bt)))&&(Et(t),!ne(he))){const e=ds();Fs(),Ls(e)}}),Ds=e=>is(()=>{if(s=(e=>ye(e,bt))(e)){const t=vs();Ns(),zs(),s=!0,Dt(e),Hs(t)}}),Fs=()=>is(()=>Ot({})),Os=e=>is(e=>ae(he,e)?Ut(e):0,e),xs=(e,t)=>is((e,t)=>A(xe(he,e),s=>ae(s,t)?qt(e,s,t):0),e,t),zs=()=>is(()=>Wt({})),As=()=>is(()=>{Et({}),e=!1}),Ns=()=>is(()=>{Dt({}),s=!1}),Ps=(e,t)=>{if(-1!=u){Ws();const s=e();return ks(t),s}},Ws=()=>(-1!=u&&u++,1==u&&(y[0]?.(),ut(it)),js),ks=e=>(u>0&&(u--,0==u&&(u=1,M=1,ls(1),ne(E)||rs(1),as(1),ne(F)||os(1),M=0,e?.(js)&&(ie(E,(e,t)=>ie(e,(e,s)=>ie(e,([e],l)=>K(js,t,s,l,e)))),oe(E),ie(F,([e],t)=>Q(js,t,e)),oe(F)),ut(ct[0],void 0),u=-1,ls(0),ne(E)||rs(0),as(0),ne(F)||os(0),y[1]?.(),ut(ct[1],void 0),y[2]?.(),u=0,l=Is(),n=ms(),X([m,S,L,H,J,E,z,D,F,U],oe))),js),js={getContent:()=>[ds(),vs()],getTables:ds,getTableIds:us,getTable:e=>ke(xe(he,R(e))),getTableCellIds:gs,getRowCount:hs,getRowIds:bs,getSortedRowIds:fs,getRow:(e,t)=>We(xe(xe(he,R(e)),R(t))),getCellIds:Cs,getCell:Ts,getValues:vs,getValueIds:ws,getValue:Vs,hasTables:Is,hasTable:ps,hasTableCell:Rs,hasRow:ys,hasCell:Ms,hasValues:ms,hasValue:Ss,getTablesJson:()=>Se(he),getValuesJson:()=>Se(fe),getJson:()=>Se([he,fe]),getTablesSchemaJson:()=>Se(G),getValuesSchemaJson:()=>Se(_),getSchemaJson:()=>Se([G,_]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>is(()=>{const t=P(e)?e():e;ft(t)&&(([e,t])=>{(pe(e)?Fs:Ls)(e),(pe(t)?zs:Hs)(t)})(t)}),setTables:Ls,setTable:(e,t)=>is(e=>Ct(t,e)?xt(e,t):0,e),setRow:(e,t,s)=>is((e,t)=>Tt(e,t,s)?zt(e,jt(e),t,s):0,e,t),addRow:(e,t,s=!0)=>Ps(()=>{let l;return Tt(e,l,t)&&(e=R(e),zt(e,jt(e),l=((e,t)=>{const[s]=xe(ue,e);let l;do{l=s(t)}while(ae(xe(he,e),l));return l})(e,s?1:0),t)),l}),setPartialRow:(e,t,s)=>is((e,t)=>{if(Tt(e,t,s,1)){const l=jt(e);Ie(s,(s,a)=>Nt(e,l,t,a,s))}},e,t),setCell:(e,t,s,l)=>is((e,t,s)=>A(vt(e,t,s,P(l)?l(Ts(e,t,s)):l),l=>Nt(e,jt(e),t,s,l)),e,t,s),setValues:Hs,setPartialValues:e=>is(()=>wt(e,1)?Ie(e,(e,t)=>kt(t,e)):0),setValue:(e,t)=>is(e=>A(Lt(e,P(t)?t(Vs(e)):t),t=>kt(e,t)),e),applyChanges:e=>is(()=>{Ie(e[0],(e,t)=>O(e)?Os(t):Ie(e,(e,s)=>O(e)?xs(t,s):Ie(e,(e,l)=>K(js,t,s,l,e)))),Ie(e[1],(e,t)=>Q(js,t,e))}),setTablesJson:Js,setValuesJson:e=>(q(()=>Pt(me(e))),js),setJson:e=>is(()=>q(()=>{const[t,s]=me(e);Ft(t),Pt(s)},()=>Js(e))),setTablesSchema:Es,setValuesSchema:Ds,setSchema:(e,t)=>is(()=>{Es(e),Ds(t)}),delTables:Fs,delTable:Os,delRow:xs,delCell:(e,t,s,l)=>is((e,t,s)=>A(xe(he,e),a=>A(xe(a,t),n=>ae(n,s)?Bt(e,a,t,n,s,l):0)),e,t,s),delValues:zs,delValue:e=>is(e=>ae(fe,e)?Gt(e):0,e),delTablesSchema:As,delValuesSchema:Ns,delSchema:()=>is(()=>{As(),Ns()}),transaction:Ps,startTransaction:Ws,getTransactionChanges:()=>[We(E,(e,t)=>-1===xe(m,t)?void 0:We(e,(e,s)=>-1===xe(xe(H,t),s)?void 0:We(e,([,e])=>e,e=>Mt(e)),ne,pe),ne,pe),We(F,([,e])=>e,e=>Mt(e)),1],getTransactionLog:()=>[!ne(E),!ne(F),je(E,yt,Mt),je(z),We(F,yt,Mt),We(U),We(m),ke(H),je(J),We(D)],finishTransaction:ks,forEachTable:e=>ie(he,(t,s)=>e(s,e=>ie(t,(t,s)=>e(s,e=>ze(t,e))))),forEachTableCell:(e,t)=>ze(xe(ge,R(e)),t),forEachRow:(e,t)=>ie(xe(he,R(e)),(e,s)=>t(s,t=>ze(e,t))),forEachCell:(e,t,s)=>ze(xe(xe(he,R(e)),R(t)),s),forEachValue:e=>ze(fe,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>be(e)?cs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):cs(e,t,[s,l,a],n,r),addStartTransactionListener:e=>dt(e,it),addWillFinishTransactionListener:e=>dt(e,ct[0]),addDidFinishTransactionListener:e=>dt(e,ct[1]),callListener:e=>(ht(e),js),delListener:e=>(gt(e),js),getListenerStats:()=>({hasTables:pt(Te),tables:pt(Ve),tableIds:pt(Re),hasTable:pt(Me),table:pt(Le),tableCellIds:pt(He),hasTableCell:pt(Je,se),rowCount:pt(Ee),rowIds:pt(De),sortedRowIds:pt(Ke),hasRow:pt(Qe,se),row:pt(Xe,se),cellIds:pt(Ye,se),hasCell:pt(Ze,le),cell:pt($e,le),invalidCell:pt(_e,le),hasValues:pt(tt),values:pt(st),valueIds:pt(lt),hasValue:pt(rt),value:pt(ot),invalidValue:pt(et),transaction:te(it)+pt(ct)}),isMergeable:()=>!1,createStore:St,addListener:dt,callListeners:ut,setInternalListeners:(e,t,s,l,a)=>y=[e,t,s,l,a]};return Ie({[d+h]:[0,Te,[],()=>[Is()]],[h]:[0,Ve],[b]:[0,Re],[d+g]:[1,Me,[us],e=>[ps(...e)]],[g]:[1,Le,[us]],[g+w]:[1,He,[us]],[d+g+v]:[2,Je,[us,gs],e=>[Rs(...e)]],[C]:[1,Ee,[us]],[T]:[1,De,[us]],[d+f]:[2,Qe,[us,bs],e=>[ys(...e)]],[f]:[2,Xe,[us,bs]],[w]:[2,Ye,[us,bs]],[d+v]:[3,Ze,[us,bs,Cs],e=>[Ms(...e)]],[v]:[3,$e,[us,bs,Cs],e=>It(Ts(...e))],InvalidCell:[3,_e],[d+I]:[0,tt,[],()=>[ms()]],[I]:[0,st],[p]:[0,lt],[d+V]:[1,rt,[ws],e=>[Ss(...e)]],[V]:[1,ot,[ws],e=>It(Vs(e[0]))],InvalidValue:[1,et]},([e,t,s,l],a)=>{js["add"+a+c]=(...a)=>dt(a[e],t[a[e+1]?1:0],e>0?k(a,0,e):void 0,s,l)}),Ce(js)},Lt={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Ht=(e=t)=>[ft(e),ft(e)],Jt=(e,s)=>{let l=1,a=Ht(),n=0,r=0;const o=Fe(),i=at(),[d,u]=((e,s=Date.now)=>{let l=0,a=-1;const n=A(e,lt,()=>((e=16)=>Z(Ze(new Uint8Array(e)),(e,t)=>e+Xe(t),t))(5)),r=e=>{const t=l,[n,r]=O(e)||""==e?[0,0]:i(e);l=J(t,n,s()),a=l==t?l==n?J(a,r):a:l==n?r:-1},o=(e,t,s)=>Xe(e/$e)+Xe(e/_e)+Xe(e/et)+Xe(e/tt)+Xe(e/st)+Xe(e/64)+Xe(e)+Xe(t/tt)+Xe(t/st)+Xe(t/64)+Xe(t)+(O(s)?n:lt(s)),i=e=>[Ye(e,0)*$e+Ye(e,1)*_e+Ye(e,2)*et+Ye(e,3)*tt+Ye(e,4)*st+64*Ye(e,5)+Ye(e,6),Ye(e,7)*tt+Ye(e,8)*st+64*Ye(e,9)+Ye(e,10),e.slice(11)];return[()=>(r(),o(l,++a)),r,o,i,()=>l,()=>a,()=>n]})(e,s),g=St(),h=e=>{const t=l;return l=0,e(),l=t,V},b=(e,s=0)=>{const l={},n={},[[r,o=t,i=0],c]=e,[d,g]=a,[h,b,C]=d;let T=s?i:C,v=o;Ve(r,([e,a=t,n=0],r)=>{const o=Ne(h,r,ft),[i,c,d]=o;let u=s?n:d,g=a;Ve(e,(e,t)=>{const[a,n,o]=f(e,Ne(i,t,ft),Re(Re(l,r,Te),t,Te),s);u^=s?0:Je(n?Ee(t,n):0,Ee(t,o)),g=gt(g,a)}),u^=s?0:ut(c,a),ht(o,a,u),T^=s?0:Je(d?Ee(r,d):0,Ee(r,o[2])),v=gt(v,g)}),T^=s?0:ut(b,o),ht(d,o,T);const[w]=f(c,g,n,s);return u(gt(v,w)),[l,n,1]},f=(e,s,l,a)=>{const[n,r=t,o=0]=e,[i,c,d]=s;let u=r,g=a?o:d;return Ve(n,([e,s=t,n=0],r)=>{const o=Ne(i,r,()=>[void 0,t,0]),[,c,d]=o;var h;(!c||s>c)&&(ht(o,s,a?n:(h=s,He(Se(e??null)+":"+h))),o[0]=e,l[r]=e,g^=a?0:Je(Ee(r,d),Ee(r,o[2])),u=gt(u,s))}),g^=a?0:ut(c,r),ht(s,r,g),[u,d,s[2]]},C=U,T=U,v=()=>[Ct(a[0],e=>Ct(e,e=>Ct(e))),Ct(a[1])],w=e=>h(()=>g.applyChanges(b(e))),V={getMergeableContent:v,getMergeableContentHashes:()=>[a[0][2],a[1][2]],getMergeableTableHashes:()=>We(a[0][0],dt),getMergeableTableDiff:e=>{const t=bt(a[0][1]),s={};return ze(a[0][0],(l,[a,n,r])=>ve(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=Tt([a,n],e=>Tt(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return Ve(e,(e,s)=>A(xe(a[0][0],s),([l,,a])=>a!=e?ze(l,(e,[,,l])=>Re(t,s,Te)[e]=l):0)),t},getMergeableRowDiff:e=>{const t=bt(a[0][1]),s={};return Ve(e,(e,l)=>ze(xe(a[0][0],l)?.[0],(a,[n,r,o])=>ve(e,a)?o!==e[a]?Re(s,l,Te)[a]=o:0:Re(t[0],l,bt)[0][a]=Tt([n,r]))),[t,s]},getMergeableCellHashes:e=>{const t={};return Ve(e,(e,s)=>A(xe(a[0][0],s),([l])=>Ve(e,(e,a)=>A(xe(l,a),([l,,n])=>n!==e?ze(l,(e,[,,l])=>Re(Re(t,s,Te),a,Te)[e]=l):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=a,l={};return Ve(e,(e,s)=>Ve(e,(e,a)=>A(xe(t,s),([t,n])=>A(xe(t,a),([t,r])=>ze(t,(t,[o,i,c])=>c!==e[t]?Re(Re(l,s,()=>bt(n))[0],a,()=>bt(r))[0][t]=[o,i]:0))))),it(l,s)},getMergeableValueHashes:()=>We(a[1][0],dt),getMergeableValueDiff:e=>{const[,[t,s]]=a,l=We(t,rt,([,,t],s)=>t==e?.[s]);return it(l,s)},setMergeableContent:e=>h(()=>(e=>W(e)&&2==j(e)&&vt(e[0],e=>ye(e,e=>vt(e,e=>ye(e,e=>vt(e,e=>ye(e,e=>vt(e,G),void 0,1)),void 0,1)),void 0,1))&&vt(e[1],e=>ye(e,e=>vt(e,G),void 0,1)))(e)?g.transaction(()=>{g.delTables().delValues(),a=Ht(),g.applyChanges(b(e,1))}):0),setDefaultContent:e=>(g.transaction(()=>{n=1,g.setContent(e),n=0}),V),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[n,r,c]]=a,d=e?ct:it,u={};ie(o,(e,s)=>A(xe(t,s),([t,l,a])=>{const n={};ie(e,(e,s)=>A(xe(t,s),([t,l,a])=>{const r={};ie(e,e=>{A(xe(t,e),([t,s,l])=>r[e]=d(t,s,l))}),n[s]=d(r,l,a)})),u[s]=d(n,l,a)}));const g={};return ie(i,e=>A(xe(n,e),([t,s,l])=>g[e]=d(t,s,l))),[d(u,s,l),d(g,r,c),1]},applyMergeableChanges:w,merge:e=>{const t=v(),s=e.getMergeableContent();return e.applyMergeableChanges(t),w(s)},hadMutated:()=>{const e=r;return r=0,e}};return g.setInternalListeners(C,T,()=>{oe(o),oe(i)},(e,s,a,i,c)=>{nt(Ne(Ne(o,e,Fe),s,at),a),(l||c)&&(c&&(r=1),b([[{[e]:[{[s]:[{[a]:[i,n?t:d()]}]}]}],[{}],1]))},(e,s,a)=>{nt(i,e),(l||a)&&(a&&(r=1),b([[{}],[{[e]:[s,n?t:d()]}],1]))}),Ie(g,(e,t)=>V[t]=y(t,"set")||y(t,"del")||y(t,"apply")||M(t,"Transaction")||t=="call"+c?(...t)=>(e(...t),V):y(t,"add")&&M(t,c)?(...s)=>{const l=Lt[k(t,3,-8)]??0,a=s[l];return s[l]=(e,...t)=>a(V,...t),e(...s)}:"isMergeable"==t?()=>!0:e),Ce(V)};export{Jt as createMergeableStore};
1
+ const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",i="allowNull",c="Listener",d="Has",u="Ids",g="Table",h=g+"s",b=g+u,f="Row",C=f+"Count",T=f+u,v="Cell",w=v+u,V="Value",I=V+"s",p=V+u,M=e=>t+e,R=(e,t)=>e.startsWith(t),y=(e,t)=>e.endsWith(t),m=(e,s=t,l)=>e.split(s,l),S=e=>(t,s,l)=>e(t)?l?.():s(t),L=globalThis,H=Math,J=H.max,E=H.floor,D=isFinite,O=e=>null==e,F=e=>void 0===e,x=e=>null===e,z=S(O),A=S(F),N=e=>e==s||e==l,P=t=>e(t)==a,W=e=>Array.isArray(e),j=(e,t,s)=>e.slice(t,s),k=e=>e.length,U=()=>{},q=L.structuredClone,B=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},G=t=>{if(x(t))return"null";const s=e(t);return N(s)||s==n&&D(t)?s:void 0},K=e=>F(e)||!F(G(e)),Q=(e,t)=>e.every(t),X=(e,t)=>e.forEach(t),Y=(e,t)=>e.map(t),Z=(e,t,s)=>e.reduce(t,s),$=(e,...t)=>e.push(...t),_=e=>t=>Z(re(t),(t,s)=>t+e(s),0),ee=e=>e?.size??0,te=_(ee),se=_(te),le=_(se),ne=(e,t)=>e?.has(t)??!1,ae=e=>F(e)||0==ee(e),re=e=>[...e?.values()??[]],oe=e=>e.clear(),ie=(e,t)=>e?.forEach(t),ce=(e,t)=>e?.delete(t),de=Object,ue=e=>de.getPrototypeOf(e),ge=de.isFrozen,he=de.entries,be=e=>!O(e)&&z(ue(e),e=>e==de.prototype||O(ue(e)),()=>!0),fe=de.keys,Ce=de.freeze,Te=(e=[])=>de.fromEntries(e),ve=(e,t)=>t in e,we=(e,t)=>(delete e[t],e),Ve=(e,t)=>X(he(e),([e,s])=>t(s,e)),Ie=(e,t)=>Te(((e,t)=>Y(he(e),([e,s])=>t(s,e)))(e,(e,s)=>[s,t(e,s)])),pe=e=>k(fe(e)),Me=e=>be(e)&&0==pe(e),Re=(e,t,s=(e,t)=>e===t)=>{const l=he(e);return k(l)===pe(t)&&Q(l,([e,l])=>be(l)?!!be(t[e])&&Re(t[e],l):s(l,t[e]))},ye=(e,t,s)=>(ve(e,t)||(e[t]=s()),e[t]),me=(e,t,s,l=0)=>O(e)||!be(e)||!l&&Me(e)||ge(e)?(s?.(),!1):(Ve(e,(s,l)=>{t(s,l)||we(e,l)}),!!l||!Me(e)),Se=JSON.stringify,Le=JSON.parse,He=e=>Se(e,(e,t)=>t instanceof Map?de.fromEntries([...t]):t),Je=new L.TextEncoder,Ee=e=>{let t=2166136261;return X(Je.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},De=(e,t)=>(e^t)>>>0,Oe=(e,t)=>Ee(e+":"+t),Fe=Map,xe=e=>new Fe(e),ze=e=>[...e?.keys()??[]],Ae=(e,t)=>e?.get(t),Ne=(e,t)=>ie(e,(e,s)=>t(s,e)),Pe=(e,t,s)=>F(s)?(ce(e,t),e):e?.set(t,s),We=(e,t,s,l)=>(ne(e,t)?l?.(Ae(e,t)):Pe(e,t,s()),Ae(e,t)),je=(e,t,s,l=Pe)=>(Ie(t,(t,l)=>s(e,l,t)),Ne(e,s=>ve(t,s)?0:l(e,s)),e),ke=(e,t,s,l)=>{const n={};return ie(e,(e,a)=>{if(!s?.(e,a)){const s=t?t(e,a):e;l?.(s)||(n[a]=s)}}),n},Ue=(e,t,s)=>ke(e,e=>ke(e,t,s),ae,Me),qe=(e,t,s)=>ke(e,e=>Ue(e,t,s),ae,Me),Be=(e,t)=>{const s=xe();return ie(e,(e,l)=>s.set(l,t?.(e)??e)),s},Ge=e=>Be(e,Be),Ke=e=>Be(e,Ge),Qe=(e,t,s,l,n=0)=>A((s?We:Ae)(e,t[n],n>k(t)-2?s:xe),a=>{if(n>k(t)-2)return l?.(a)&&Pe(e,t[n]),a;const r=Qe(a,t,s,l,n+1);return ae(a)&&Pe(e,t[n]),r}),Xe=m("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Ye=xe(Y(Xe,(e,t)=>[e,t])),Ze=e=>Xe[63&e],$e=(e,t)=>Ae(Ye,e[t])??0,_e=L.crypto?e=>L.crypto.getRandomValues(e):e=>Y(e,()=>E(256*H.random())),et=2**36,tt=2**30,st=2**24,lt=2**18,nt=4096,at=e=>{const t=Ee(e);return Ze(t/st)+Ze(t/lt)+Ze(t/nt)+Ze(t/64)+Ze(t)},rt=e=>new Set(W(e)||F(e)?e:[e]),ot=(e,t)=>e?.add(t),it=([e,t])=>dt(e,t),ct=([e,t,s])=>[e,t,s],dt=(e,t)=>t?[e,t]:[e],ut=(e,t,s)=>[e,t,s],gt=e=>e[2],ht=(e,t)=>t>e?(e?Ee(e):0)^Ee(t):0,bt=(e,t)=>((e??"")>(t??"")?e:t)??"",ft=(e,t,s)=>{t>e[1]&&(e[1]=t),e[2]=s>>>0},Ct=(e=t)=>dt(Te(),e),Tt=(e=t)=>[xe(),e,0],vt=([e,t,s],l=ct)=>[ke(e,l),t,s],wt=([e,t],s=it)=>dt(ke(e,s),t),Vt=(t,l)=>{return W(t)&&3==k(t)&&(a=t[1],e(a)==s)&&e(t[2])==n&&D(t[2])&&l(t[0]);var a},It=/^\d+$/,pt=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{It.test(t)&&k(e)<1e3&&$(e,t)}]},Mt=e=>[e,e],Rt=(e,t=te)=>t(e[0])+t(e[1]),yt=()=>[xe(),xe()],mt=e=>[...e],St=([e,t])=>e===t,Lt=(e,t,s)=>Pe(e,t,Ae(e,t)==-s?void 0:s),Ht=([e,t],[s,l])=>Re(e,s)&&Re(t,l),Jt=()=>{let e,s,l=!1,a=!1,u=0,R=[],y=[],m=0;const S=xe(),L=xe(),H=xe(),J=xe(),E=xe(),D=xe(),O=xe(),z=xe(),U=xe(),K=xe(),Z=xe(),_=xe(),re=xe(),de=xe(),ue=rt(),ge=xe(),he=xe(),fe=xe(),Te=xe(),Ve=yt(),pe=yt(),ye=yt(),Se=yt(),Je=yt(),Ee=yt(),De=yt(),Oe=yt(),Fe=yt(),Xe=yt(),Ye=yt(),Ze=yt(),$e=yt(),_e=yt(),et=yt(),tt=yt(),st=yt(),lt=yt(),nt=yt(),at=yt(),it=yt(),ct=yt(),dt=xe(),ut=yt(),[gt,ht,bt,ft]=(()=>{let e;const[s,l]=pt(),n=xe();return[(l,a,r,o=[],i=()=>[])=>{e??=_s;const c=s(1);return Pe(n,c,[l,a,r,o,i]),ot(Qe(a,r??[t],rt),c),c},(s,l,...a)=>X(((e,s=[t])=>{const l=[],n=(e,t)=>t==k(s)?$(l,e):x(s[t])?ie(e,e=>n(e,t+1)):X([s[t],null],s=>n(Ae(e,s),t+1));return n(e,0),l})(s,l),t=>ie(t,t=>Ae(n,t)[0](e,...l??[],...a))),e=>A(Ae(n,e),([,s,a])=>(Qe(s,a??[t],void 0,t=>(ce(t,e),ae(t)?1:0)),Pe(n,e),l(e),a)),t=>A(Ae(n,t),([t,,s=[],l,n])=>{const a=(...r)=>{const o=k(r);o==k(s)?t(e,...r,...n(r)):x(s[o])?X(l[o]?.(...r)??[],e=>a(...r,e)):a(...r,s[o])};a()})]})(),Ct=e=>{const t=m;m=1;const s=e();return m=t,s},Tt=(e,t,s,l=Object.is)=>A(t(),t=>e===t||l(e,t)?s(t):Ct(()=>s(t))),vt=e=>{if(!me(e,(e,t)=>[r,o,i].includes(t)))return!1;const t=e[r];if(!N(t)&&t!=n)return!1;const s=e[o];return!(x(s)&&!e[i]||(x(s)||G(s)==t||we(e,o),0))},wt=W,Vt=(t,s)=>(!e||ne(Z,s)||rs(s))&&me(t,(e,t)=>It(s,t,e),()=>rs(s)),It=(e,t,s,l)=>me(l?s:Ft(s,e,t),(l,n)=>A(Et(e,t,n,l),e=>(s[n]=e,!0),()=>!1),()=>rs(e,t)),Et=(t,s,l,n)=>e?A(Ae(Ae(Z,t),l),e=>x(n)?e[i]?n:rs(t,s,l,n,e[o]):G(n)==e[r]?n:rs(t,s,l,n,e[o]),()=>rs(t,s,l,n)):F(G(n))?rs(t,s,l,n):n,Dt=(e,t)=>me(t?e:xt(e),(t,s)=>A(Ot(s,t),t=>(e[s]=t,!0),()=>!1),()=>os()),Ot=(e,t)=>s?A(Ae(re,e),s=>x(t)?s[i]?t:os(e,t,s[o]):G(t)==s[r]?t:os(e,t,s[o]),()=>os(e,t)):F(G(t))?os(e,t):t,Ft=(e,t,s)=>(A(Ae(_,t),([l,n])=>{ie(l,(t,s)=>{ve(e,s)||(e[s]=t)}),ie(n,l=>{ve(e,l)||rs(t,s,l)})}),e),xt=e=>(s&&(ie(de,(t,s)=>{ve(e,s)||(e[s]=t)}),ie(ue,t=>{ve(e,t)||os(t)})),e),zt=e=>je(Z,e,(e,t,s)=>{const l=xe(),n=rt();je(We(Z,t,xe),s,(e,t,s)=>{Pe(e,t,s),A(s[o],e=>Pe(l,t,e),()=>ot(n,t))}),Pe(_,t,[l,n])},(e,t)=>{Pe(Z,t),Pe(_,t)}),At=e=>je(re,e,(e,t,s)=>{Pe(re,t,s),A(s[o],e=>Pe(de,t,e),()=>ot(ue,t))},(e,t)=>{Pe(re,t),Pe(de,t),ce(ue,t)}),Nt=e=>Me(e)?ks():xs(e),Pt=(e,t,s,l,n)=>F(l)?Bs(e,t,s,!0,n):zs(e,t,s,l,n),Wt=e=>Me(e)?Gs():As(e),jt=(e,t,s)=>F(t)?Ks(e,s):Ns(e,t,s),kt=(e,t)=>Tt(e,()=>t?e:A(R[1],t=>Ct(()=>t(q(e))),()=>e),e=>je(fe,e,(e,t,s)=>Ut(t,s),(e,t)=>Yt(t)),Re),Ut=(e,t,s)=>Tt(t,()=>s?t:A(R[2],s=>Ct(()=>s(e,q(t))),()=>t),t=>je(We(fe,e,()=>(es(e,1),Pe(ge,e,pt()),Pe(he,e,xe()),xe())),t,(t,s,l)=>qt(e,t,s,l),(t,s)=>Zt(e,t,s)),Re),qt=(e,t,s,l,n)=>Tt(l,()=>n?l:A(R[3],t=>Ct(()=>t(e,s,q(l))),()=>l),l=>je(We(t,s,()=>(ts(e,s,1),xe())),l,(t,l,n)=>Bt(e,s,t,l,n),(l,a)=>$t(e,t,s,l,a,n)),Re),Bt=(e,t,s,l,n,a)=>Tt(n,()=>A(a?void 0:R[4],s=>Ct(()=>s(e,t,l,n)),()=>n),n=>{ne(s,l)||ss(e,t,l,1);const a=Ae(s,l);n!==a&&(ls(e,t,l,a,n),Pe(s,l,n))}),Gt=(e,t,s,l,n,a)=>A(Ae(t,s),t=>Bt(e,s,t,l,n,a),()=>{const r=xe();Pe(t,s,r),ts(e,s,1),Ie(Ft({[l]:n},e,s),(t,l)=>Bt(e,s,r,l,t,a))}),Kt=(e,t)=>Tt(e,()=>t?e:A(R[5],t=>Ct(()=>t(q(e))),()=>e),e=>je(Te,e,(e,t,s)=>Qt(t,s),(e,t)=>_t(t)),Re),Qt=(e,t,s)=>Tt(t,()=>A(s?void 0:R[6],s=>Ct(()=>s(e,t)),()=>t),t=>{ne(Te,e)||ns(e,1);const s=Ae(Te,e);t!==s&&(as(e,s,t),Pe(Te,e,t))}),Xt=e=>We(fe,e,()=>(es(e,1),Pe(ge,e,pt()),Pe(he,e,xe()),xe())),Yt=e=>Ct(()=>R[8]?.(e))??1?Ut(e,{},!0):Ae(fe,e),Zt=(e,t,s)=>{if(Ct(()=>R[9]?.(e,s))??1){const[,l]=Ae(ge,e);l(s),qt(e,t,s,{},!0)}},$t=(e,t,s,l,n,a,r)=>{const o=Ae(Ae(_,e)?.[0],n);if(!F(o)&&!a)return Bt(e,s,l,n,o);if(r||(Ct(()=>R[10]?.(e,s,n))??1)){const a=t=>{ls(e,s,t,Ae(l,t)),ss(e,s,t,-1),Pe(l,t)};F(o)?a(n):Ne(l,a),ae(l)&&(ts(e,s,-1),ae(Pe(t,s))&&(es(e,-1),Pe(fe,e),Pe(ge,e),Pe(he,e)))}},_t=(e,t)=>{const s=Ae(de,e);if(!F(s))return Qt(e,s);(t||(Ct(()=>R[12]?.(e))??1))&&(as(e,Ae(Te,e)),ns(e,-1),Pe(Te,e))},es=(e,t)=>Lt(S,e,t),ts=(e,t,s)=>Lt(We(J,e,xe),t,s)&&Pe(H,e,We(H,e,()=>0)+s),ss=(e,t,s,l)=>{const n=Ae(he,e),a=Ae(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Lt(We(L,e,xe),s,l),Pe(n,s,a!=-l?a+l:void 0),Lt(We(We(E,e,xe),t,xe),s,l)},ls=(e,t,s,l,n)=>{We(We(We(D,e,xe),t,xe),s,()=>[l,0])[1]=n,y[3]?.(e,t,s,n,m)},ns=(e,t)=>Lt(O,e,t),as=(e,t,s)=>{We(z,e,()=>[t,0])[1]=s,y[4]?.(e,s,m)},rs=(e,t,s,l,n)=>($(We(We(We(U,e,xe),t,xe),s,()=>[]),l),n),os=(e,t,s)=>($(We(K,e,()=>[]),t),s),is=(e,t,s)=>A(Ae(Ae(Ae(D,e),t),s),([e,t])=>[!0,e,t],()=>[!1,...Mt(Rs(e,t,s))]),cs=e=>A(Ae(z,e),([e,t])=>[!0,e,t],()=>[!1,...Mt(Ss(e))]),ds=e=>ae(U)||ae(tt[e])?0:ie(e?Ke(U):U,(t,s)=>ie(t,(t,l)=>ie(t,(t,n)=>ht(tt[e],[s,l,n],t)))),us=e=>ae(K)||ae(st[e])?0:ie(e?Be(K):K,(t,s)=>ht(st[e],[s],t)),gs=(e,t,s,l)=>{if(!ae(e))return ht(t,l,()=>ke(e)),Ne(e,(e,t)=>ht(s,[...l??[],e],1==t)),1},hs=e=>{const t=!ae(Ve[e]),s=!ae(Xe[e]),n=!(ae($e[e])&&ae(_e[e])&&ae(Fe[e])&&ae(Ye[e])&&ae(Ee[e])&&ae(De[e])&&ae(Oe[e])&&!s&&ae(ye[e])&&ae(Se[e])),a=!(ae(et[e])&&ae(Ze[e])&&ae(Je[e])&&ae(pe[e]));if(t||n||a){const r=e?[Be(S),Ge(L),Be(H),Ge(J),Ke(E),Be(D,e=>Be(e,e=>Be(e,mt)))]:[S,L,H,J,E,D];if(t){const t=Ls();t!=l&&ht(Ve[e],void 0,t)}if(n){gs(r[0],ye[e],Se[e]),ie(r[1],(t,s)=>gs(t,Ee[e],De[e],[s])),ie(r[2],(t,s)=>{0!=t&&ht(Oe[e],[s],Vs(s))});const t=rt();ie(r[3],(l,n)=>{gs(l,Fe[e],Ye[e],[n])&&s&&(ht(Xe[e],[n,null]),ot(t,n))}),s&&ie(r[5],(s,l)=>{if(!ne(t,l)){const t=rt();ie(s,e=>ie(e,([s,l],n)=>l!==s?ot(t,n):ce(e,n))),ie(t,t=>ht(Xe[e],[l,t]))}}),ie(r[4],(t,s)=>ie(t,(t,l)=>gs(t,$e[e],_e[e],[s,l])))}if(a){let t;ie(r[5],(s,l)=>{let n;ie(s,(s,a)=>{let r;ie(s,([s,o],i)=>{o!==s&&(ht(et[e],[l,a,i],o,s,is),t=n=r=1)}),r&&ht(Ze[e],[l,a],is)}),n&&ht(Je[e],[l],is)}),t&&ht(pe[e],void 0,is)}}},bs=e=>{const t=!ae(lt[e]),s=!ae(at[e])||!ae(it[e]),l=!ae(ct[e])||!ae(nt[e]);if(t||s||l){const n=e?[Be(O),Be(z,mt)]:[O,z];if(t){const t=Os();t!=a&&ht(lt[e],void 0,t)}if(s&&gs(n[0],at[e],it[e]),l){let t;ie(n[1],([s,l],n)=>{l!==s&&(ht(ct[e],[n],l,s,cs),t=1)}),t&&ht(nt[e],void 0,cs)}}},fs=(e,...t)=>(Ys(()=>e(...Y(t,M))),_s),Cs=(e,t,s,l,n)=>{let a=ps(e,t,...s);return gt(()=>{const n=ps(e,t,...s);var r,o;o=a,k(r=n)===k(o)&&Q(r,(e,t)=>o[t]===e)||(a=n,l(_s,e,t,...s,a))},Xe[n?1:0],[e,t],[vs])},Ts=()=>qe(fe),vs=()=>ze(fe),ws=e=>ze(Ae(he,M(e))),Vs=e=>ee(Ae(fe,M(e))),Is=e=>ze(Ae(fe,M(e))),ps=(e,t,s,l=0,n)=>{return be(e)?ps(e.tableId,e.cellId,e.descending,e.offset,e.limit):Y(j((r=Ae(fe,M(e)),o=(e,s)=>[F(t)?s:Ae(e,M(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),Y([...r?.entries()??[]],([e,t])=>o(t,e)).sort(a)),l,F(n)?n:l+n),([,e])=>e);var a,r,o},Ms=(e,t)=>ze(Ae(Ae(fe,M(e)),M(t))),Rs=(e,t,s)=>Ae(Ae(Ae(fe,M(e)),M(t)),M(s)),ys=()=>ke(Te),ms=()=>ze(Te),Ss=e=>Ae(Te,M(e)),Ls=()=>!ae(fe),Hs=e=>ne(fe,M(e)),Js=(e,t)=>ne(Ae(he,M(e)),M(t)),Es=(e,t)=>ne(Ae(fe,M(e)),M(t)),Ds=(e,t,s)=>ne(Ae(Ae(fe,M(e)),M(t)),M(s)),Os=()=>!ae(Te),Fs=e=>ne(Te,M(e)),xs=e=>fs(()=>(e=>me(e,Vt,rs))(e)?kt(e):0),zs=(e,t,s,l,n)=>fs((e,t,s)=>A(Et(e,t,s,P(l)?l(Rs(e,t,s)):l),l=>Gt(e,Xt(e),t,s,l,n)),e,t,s),As=e=>fs(()=>Dt(e)?Kt(e):0),Ns=(e,t,s)=>fs(e=>A(Ot(e,P(t)?t(Ss(e)):t),t=>Qt(e,t,s)),e),Ps=e=>(B(()=>Nt(Le(e))),_s),Ws=t=>fs(()=>{if((e=me(t,e=>me(e,vt)))&&(zt(t),!ae(fe))){const e=Ts();ks(),xs(e)}}),js=e=>fs(()=>{if(s=(e=>me(e,vt))(e)){const t=ys();Xs(),Gs(),s=!0,At(e),As(t)}}),ks=()=>fs(()=>Ct(()=>R[7]?.())??1?kt({},!0):0),Us=e=>fs(e=>ne(fe,e)?Yt(e):0,e),qs=(e,t)=>fs((e,t)=>A(Ae(fe,e),s=>ne(s,t)?Zt(e,s,t):0),e,t),Bs=(e,t,s,l,n)=>fs((e,t,s)=>A(Ae(fe,e),a=>A(Ae(a,t),r=>ne(r,s)?$t(e,a,t,r,s,l,n):0)),e,t,s),Gs=()=>fs(()=>Ct(()=>R[11]?.())??1?Kt({},!0):0),Ks=(e,t)=>fs(e=>ne(Te,e)?_t(e,t):0,e),Qs=()=>fs(()=>{zt({}),e=!1}),Xs=()=>fs(()=>{At({}),s=!1}),Ys=(e,t)=>{if(-1!=u){Zs();const s=e();return $s(t),s}},Zs=()=>(-1!=u&&u++,1==u&&(y[0]?.(),ht(dt)),_s),$s=e=>(u>0&&(u--,0==u&&(u=1,Ct(()=>{ds(1),ae(D)||hs(1),us(1),ae(z)||bs(1)}),e?.(_s)&&(ie(D,(e,t)=>ie(e,(e,s)=>ie(e,([e],l)=>Pt(t,s,l,e,!0)))),oe(D),ie(z,([e],t)=>jt(t,e,!0)),oe(z)),ht(ut[0],void 0),u=-1,ds(0),ae(D)||hs(0),us(0),ae(z)||bs(0),y[1]?.(),ht(ut[1],void 0),y[2]?.(),u=0,l=Ls(),a=Os(),X([S,L,H,J,E,D,U,O,z,K],oe))),_s),_s={getContent:()=>[Ts(),ys()],getTables:Ts,getTableIds:vs,getTable:e=>Ue(Ae(fe,M(e))),getTableCellIds:ws,getRowCount:Vs,getRowIds:Is,getSortedRowIds:ps,getRow:(e,t)=>ke(Ae(Ae(fe,M(e)),M(t))),getCellIds:Ms,getCell:Rs,getValues:ys,getValueIds:ms,getValue:Ss,hasTables:Ls,hasTable:Hs,hasTableCell:Js,hasRow:Es,hasCell:Ds,hasValues:Os,hasValue:Fs,getTablesJson:()=>He(fe),getValuesJson:()=>He(Te),getJson:()=>He([fe,Te]),getTablesSchemaJson:()=>He(Z),getValuesSchemaJson:()=>He(re),getSchemaJson:()=>He([Z,re]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>fs(()=>{const t=P(e)?e():e;wt(t)&&(e=>{Tt(e,()=>A(R[0],t=>Ct(()=>t(q(e))),()=>e),([e,t])=>{(Me(e)?ks:xs)(e),(Me(t)?Gs:As)(t)},Ht)})(t)}),setTables:xs,setTable:(e,t)=>fs(e=>Vt(t,e)?Ut(e,t):0,e),setRow:(e,t,s)=>fs((e,t)=>It(e,t,s)?qt(e,Xt(e),t,s):0,e,t),addRow:(e,t,s=!0)=>Ys(()=>{let l;return It(e,l,t)&&(e=M(e),qt(e,Xt(e),l=((e,t)=>{const[s]=Ae(ge,e);let l;do{l=s(t)}while(ne(Ae(fe,e),l));return l})(e,s?1:0),t)),l}),setPartialRow:(e,t,s)=>fs((e,t)=>{if(It(e,t,s,1)){const l=Xt(e);Ie(s,(s,n)=>Gt(e,l,t,n,s))}},e,t),setCell:zs,setValues:As,setPartialValues:e=>fs(()=>Dt(e,1)?Ie(e,(e,t)=>Qt(t,e)):0),setValue:Ns,applyChanges:e=>fs(()=>Tt(e,()=>A(R[13],t=>Ct(()=>t(q(e))),()=>e),e=>{Ie(e[0],(e,t)=>F(e)?Us(t):Ie(e,(e,s)=>F(e)?qs(t,s):Ie(e,(e,l)=>Pt(t,s,l,e)))),Ie(e[1],(e,t)=>jt(t,e))},Ht)),setTablesJson:Ps,setValuesJson:e=>(B(()=>Wt(Le(e))),_s),setJson:e=>fs(()=>B(()=>{const[t,s]=Le(e);Nt(t),Wt(s)},()=>Ps(e))),setTablesSchema:Ws,setValuesSchema:js,setSchema:(e,t)=>fs(()=>{Ws(e),js(t)}),delTables:ks,delTable:Us,delRow:qs,delCell:Bs,delValues:Gs,delValue:Ks,delTablesSchema:Qs,delValuesSchema:Xs,delSchema:()=>fs(()=>{Qs(),Xs()}),transaction:Ys,startTransaction:Zs,getTransactionChanges:()=>[ke(D,(e,t)=>-1===Ae(S,t)?void 0:ke(e,(e,s)=>-1===Ae(Ae(J,t),s)?void 0:ke(e,([,e])=>e,e=>St(e)),ae,Me),ae,Me),ke(z,([,e])=>e,e=>St(e)),1],getTransactionLog:()=>[!ae(D),!ae(z),qe(D,mt,St),qe(U),ke(z,mt,St),ke(K),ke(S),Ue(J),qe(E),ke(O)],finishTransaction:$s,forEachTable:e=>ie(fe,(t,s)=>e(s,e=>ie(t,(t,s)=>e(s,e=>Ne(t,e))))),forEachTableCell:(e,t)=>Ne(Ae(he,M(e)),t),forEachRow:(e,t)=>ie(Ae(fe,M(e)),(e,s)=>t(s,t=>Ne(e,t))),forEachCell:(e,t,s)=>Ne(Ae(Ae(fe,M(e)),M(t)),s),forEachValue:e=>Ne(Te,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>be(e)?Cs(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):Cs(e,t,[s,l,n],a,r),addStartTransactionListener:e=>gt(e,dt),addWillFinishTransactionListener:e=>gt(e,ut[0]),addDidFinishTransactionListener:e=>gt(e,ut[1]),callListener:e=>(ft(e),_s),delListener:e=>(bt(e),_s),getListenerStats:()=>({hasTables:Rt(Ve),tables:Rt(pe),tableIds:Rt(ye),hasTable:Rt(Se),table:Rt(Je),tableCellIds:Rt(Ee),hasTableCell:Rt(De,se),rowCount:Rt(Oe),rowIds:Rt(Fe),sortedRowIds:Rt(Xe),hasRow:Rt(Ye,se),row:Rt(Ze,se),cellIds:Rt($e,se),hasCell:Rt(_e,le),cell:Rt(et,le),invalidCell:Rt(tt,le),hasValues:Rt(lt),values:Rt(nt),valueIds:Rt(at),hasValue:Rt(it),value:Rt(ct),invalidValue:Rt(st),transaction:te(dt)+Rt(ut)}),isMergeable:()=>!1,createStore:Jt,addListener:gt,callListeners:ht,setInternalListeners:(e,t,s,l,n)=>y=[e,t,s,l,n],setMiddleware:(e,t,s,l,n,a,r,o,i,c,d,u,g,h)=>R=[e,t,s,l,n,a,r,o,i,c,d,u,g,h],setOrDelCell:Pt,setOrDelValue:jt};return Ie({[d+h]:[0,Ve,[],()=>[Ls()]],[h]:[0,pe],[b]:[0,ye],[d+g]:[1,Se,[vs],e=>[Hs(...e)]],[g]:[1,Je,[vs]],[g+w]:[1,Ee,[vs]],[d+g+v]:[2,De,[vs,ws],e=>[Js(...e)]],[C]:[1,Oe,[vs]],[T]:[1,Fe,[vs]],[d+f]:[2,Ye,[vs,Is],e=>[Es(...e)]],[f]:[2,Ze,[vs,Is]],[w]:[2,$e,[vs,Is]],[d+v]:[3,_e,[vs,Is,Ms],e=>[Ds(...e)]],[v]:[3,et,[vs,Is,Ms],e=>Mt(Rs(...e))],InvalidCell:[3,tt],[d+I]:[0,lt,[],()=>[Os()]],[I]:[0,nt],[p]:[0,at],[d+V]:[1,it,[ms],e=>[Fs(...e)]],[V]:[1,ct,[ms],e=>Mt(Ss(e[0]))],InvalidValue:[1,st]},([e,t,s,l],n)=>{_s["add"+n+c]=(...n)=>gt(n[e],t[n[e+1]?1:0],e>0?j(n,0,e):void 0,s,l)}),Ce(_s)},Et={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Dt=(e=t)=>[Tt(e),Tt(e)],Ot=(e,s)=>{let l=1,n=Dt(),a=0,r=0;const o=xe(),i=rt(),[d,u]=((e,s=Date.now)=>{let l=0,n=-1;const a=A(e,at,()=>((e=16)=>Z(_e(new Uint8Array(e)),(e,t)=>e+Ze(t),t))(5)),r=e=>{const t=l,[a,r]=F(e)||""==e?[0,0]:i(e);l=J(t,a,s()),n=l==t?l==a?J(n,r):n:l==a?r:-1},o=(e,t,s)=>Ze(e/et)+Ze(e/tt)+Ze(e/st)+Ze(e/lt)+Ze(e/nt)+Ze(e/64)+Ze(e)+Ze(t/lt)+Ze(t/nt)+Ze(t/64)+Ze(t)+(F(s)?a:at(s)),i=e=>[$e(e,0)*et+$e(e,1)*tt+$e(e,2)*st+$e(e,3)*lt+$e(e,4)*nt+64*$e(e,5)+$e(e,6),$e(e,7)*lt+$e(e,8)*nt+64*$e(e,9)+$e(e,10),e.slice(11)];return[()=>(r(),o(l,++n)),r,o,i,()=>l,()=>n,()=>a]})(e,s),g=Jt(),h=e=>{const t=l;return l=0,e(),l=t,V},b=(e,s=0)=>{const l={},a={},[[r,o=t,i=0],c]=e,[d,g]=n,[h,b,C]=d;let T=s?i:C,v=o;Ve(r,([e,n=t,a=0],r)=>{const o=We(h,r,Tt),[i,c,d]=o;let u=s?a:d,g=n;Ve(e,(e,t)=>{const[n,a,o]=f(e,We(i,t,Tt),ye(ye(l,r,Te),t,Te),s);u^=s?0:De(a?Oe(t,a):0,Oe(t,o)),g=bt(g,n)}),u^=s?0:ht(c,n),ft(o,n,u),T^=s?0:De(d?Oe(r,d):0,Oe(r,o[2])),v=bt(v,g)}),T^=s?0:ht(b,o),ft(d,o,T);const[w]=f(c,g,a,s);return u(bt(v,w)),[l,a,1]},f=(e,s,l,n)=>{const[a,r=t,o=0]=e,[i,c,d]=s;let u=r,g=n?o:d;return Ve(a,([e,s=t,a=0],r)=>{const o=We(i,r,()=>[void 0,t,0]),[,c,d]=o;var h;(!c||s>c)&&(ft(o,s,n?a:(h=s,Ee(He(e??null)+":"+h))),o[0]=e,l[r]=e,g^=n?0:De(Oe(r,d),Oe(r,o[2])),u=bt(u,s))}),g^=n?0:ht(c,r),ft(s,r,g),[u,d,s[2]]},C=U,T=U,v=()=>[vt(n[0],e=>vt(e,e=>vt(e))),vt(n[1])],w=e=>h(()=>g.applyChanges(b(e))),V={getMergeableContent:v,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>ke(n[0][0],gt),getMergeableTableDiff:e=>{const t=Ct(n[0][1]),s={};return Ne(n[0][0],(l,[n,a,r])=>ve(e,l)?r!=e[l]?s[l]=r:0:t[0][l]=wt([n,a],e=>wt(e))),[t,s]},getMergeableRowHashes:e=>{const t={};return Ve(e,(e,s)=>A(Ae(n[0][0],s),([l,,n])=>n!=e?Ne(l,(e,[,,l])=>ye(t,s,Te)[e]=l):0)),t},getMergeableRowDiff:e=>{const t=Ct(n[0][1]),s={};return Ve(e,(e,l)=>Ne(Ae(n[0][0],l)?.[0],(n,[a,r,o])=>ve(e,n)?o!==e[n]?ye(s,l,Te)[n]=o:0:ye(t[0],l,Ct)[0][n]=wt([a,r]))),[t,s]},getMergeableCellHashes:e=>{const t={};return Ve(e,(e,s)=>A(Ae(n[0][0],s),([l])=>Ve(e,(e,n)=>A(Ae(l,n),([l,,a])=>a!==e?Ne(l,(e,[,,l])=>ye(ye(t,s,Te),n,Te)[e]=l):0)))),t},getMergeableCellDiff:e=>{const[[t,s]]=n,l={};return Ve(e,(e,s)=>Ve(e,(e,n)=>A(Ae(t,s),([t,a])=>A(Ae(t,n),([t,r])=>Ne(t,(t,[o,i,c])=>c!==e[t]?ye(ye(l,s,()=>Ct(a))[0],n,()=>Ct(r))[0][t]=[o,i]:0))))),dt(l,s)},getMergeableValueHashes:()=>ke(n[1][0],gt),getMergeableValueDiff:e=>{const[,[t,s]]=n,l=ke(t,it,([,,t],s)=>t==e?.[s]);return dt(l,s)},setMergeableContent:e=>h(()=>(e=>W(e)&&2==k(e)&&Vt(e[0],e=>me(e,e=>Vt(e,e=>me(e,e=>Vt(e,e=>me(e,e=>Vt(e,K),void 0,1)),void 0,1)),void 0,1))&&Vt(e[1],e=>me(e,e=>Vt(e,K),void 0,1)))(e)?g.transaction(()=>{g.delTables().delValues(),n=Dt(),g.applyChanges(b(e,1))}):0),setDefaultContent:e=>(g.transaction(()=>{a=1,g.setContent(e),a=0}),V),getTransactionMergeableChanges:(e=!1)=>{const[[t,s,l],[a,r,c]]=n,d=e?ut:dt,u={};ie(o,(e,s)=>A(Ae(t,s),([t,l,n])=>{const a={};ie(e,(e,s)=>A(Ae(t,s),([t,l,n])=>{const r={};ie(e,e=>{A(Ae(t,e),([t,s,l])=>r[e]=d(t,s,l))}),a[s]=d(r,l,n)})),u[s]=d(a,l,n)}));const g={};return ie(i,e=>A(Ae(a,e),([t,s,l])=>g[e]=d(t,s,l))),[d(u,s,l),d(g,r,c),1]},applyMergeableChanges:w,merge:e=>{const t=v(),s=e.getMergeableContent();return e.applyMergeableChanges(t),w(s)},hadMutated:()=>{const e=r;return r=0,e}};return g.setInternalListeners(C,T,()=>{oe(o),oe(i)},(e,s,n,i,c)=>{ot(We(We(o,e,xe),s,rt),n),(l||c)&&(c&&(r=1),b([[{[e]:[{[s]:[{[n]:[i,a?t:d()]}]}]}],[{}],1]))},(e,s,n)=>{ot(i,e),(l||n)&&(n&&(r=1),b([[{}],[{[e]:[s,a?t:d()]}],1]))}),Ie(g,(e,t)=>V[t]=R(t,"set")||R(t,"del")||R(t,"apply")||y(t,"Transaction")||t=="call"+c||"use"==t?(...t)=>(e(...t),V):R(t,"add")&&y(t,c)?(...s)=>{const l=Et[j(t,3,-8)]??0,n=s[l];return s[l]=(e,...t)=>n(V,...t),e(...s)}:"isMergeable"==t?()=>!0:e),Ce(V)};export{Ot as createMergeableStore};
Binary file