tinybase 8.1.0-beta.5 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/indexes/index.d.ts +0 -1
- package/@types/indexes/with-schemas/index.d.ts +0 -1
- package/@types/metrics/index.d.ts +0 -1
- package/@types/metrics/with-schemas/index.d.ts +0 -1
- package/@types/ui-react/index.d.ts +2 -1
- package/@types/ui-react/with-schemas/index.d.ts +2 -1
- package/@types/ui-svelte/index.d.ts +10 -0
- package/@types/ui-svelte/with-schemas/index.d.ts +4 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/omni/index.js +5 -2
- package/omni/with-schemas/index.js +5 -2
- package/package.json +5 -5
- package/persisters/persister-partykit-server/index.js +1 -0
- package/persisters/persister-partykit-server/with-schemas/index.js +1 -0
- package/persisters/persister-remote/index.js +4 -2
- package/persisters/persister-remote/with-schemas/index.js +4 -2
- package/readme.md +4 -4
- package/releases.md +15 -7
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* @see Building UIs With Relationships guide
|
|
16
16
|
* @see Building UIs With Queries guide
|
|
17
17
|
* @see Building UIs With Checkpoints guide
|
|
18
|
-
* @see
|
|
18
|
+
* @see Hello World (React) demo
|
|
19
|
+
* @see Countries (React) demo
|
|
19
20
|
* @see Todo App demos
|
|
20
21
|
* @see Drawing demo
|
|
21
22
|
* @packageDocumentation
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* @see Building UIs With Relationships guide
|
|
16
16
|
* @see Building UIs With Queries guide
|
|
17
17
|
* @see Building UIs With Checkpoints guide
|
|
18
|
-
* @see
|
|
18
|
+
* @see Hello World (React) demo
|
|
19
|
+
* @see Countries (React) demo
|
|
19
20
|
* @see Todo App demos
|
|
20
21
|
* @see Drawing demo
|
|
21
22
|
* @packageDocumentation
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* objects with a `current` property. Those functions register listeners such
|
|
9
9
|
* that components using them re-render when data changes.
|
|
10
10
|
*
|
|
11
|
+
* The components in this module provide a further abstraction over those
|
|
12
|
+
* reactive functions, and use Svelte snippet props to customize rendering in
|
|
13
|
+
* an idiomatic way.
|
|
14
|
+
*
|
|
11
15
|
* Functions like the getStore function and getMetrics function return TinyBase
|
|
12
16
|
* objects directly from Provider context. Functions like the getCell function,
|
|
13
17
|
* the getRow function, the getTable function, the getValue function, and the
|
|
@@ -18,6 +22,8 @@
|
|
|
18
22
|
* (as per the MaybeGetter type), so passing `() => tableId` from a `let`-bound
|
|
19
23
|
* Svelte prop makes the function re-execute whenever the prop changes.
|
|
20
24
|
* @see Building UIs With Svelte guide
|
|
25
|
+
* @see Hello World (Svelte) demo
|
|
26
|
+
* @see Countries (Svelte) demo
|
|
21
27
|
* @packageDocumentation
|
|
22
28
|
* @module ui-svelte
|
|
23
29
|
* @since v8.1.0
|
|
@@ -1325,6 +1331,10 @@ export type CurrentCheckpointViewProps = {
|
|
|
1325
1331
|
* Store objects, Metrics, Indexes, Relationships, Queries, Checkpoints,
|
|
1326
1332
|
* Persisters, and Synchronizers can all be provided both as single defaults and
|
|
1327
1333
|
* as named instances in a `*ById` map.
|
|
1334
|
+
*
|
|
1335
|
+
* Provider components can be nested and their contexts are merged, so outer
|
|
1336
|
+
* defaults and named instances remain visible unless a nearer Provider
|
|
1337
|
+
* replaces them.
|
|
1328
1338
|
* @param props The props for this component.
|
|
1329
1339
|
* @example
|
|
1330
1340
|
* This example creates a Provider context with a default Store.
|
|
@@ -1381,6 +1381,10 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
1381
1381
|
* Store objects, Metrics, Indexes, Relationships, Queries, Checkpoints,
|
|
1382
1382
|
* Persisters, and Synchronizers can all be provided both as single defaults and
|
|
1383
1383
|
* as named instances in a `*ById` map.
|
|
1384
|
+
*
|
|
1385
|
+
* Provider components can be nested and their contexts are merged, so outer
|
|
1386
|
+
* defaults and named instances remain visible unless a nearer Provider
|
|
1387
|
+
* replaces them.
|
|
1384
1388
|
* @param props The props for this component.
|
|
1385
1389
|
* @example
|
|
1386
1390
|
* This example creates a Provider context with a default Store.
|
package/min/omni/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as a,watch as s}from"fs";import{writeFile as n,readFile as o}from"fs/promises";import{Map as r}from"yjs";import{DurableObject as i}from"cloudflare:workers";const l=e=>typeof e,c="tinybase",d="",u=",",g=l(d),w=l(!0),h=l(0),y=l(l),f="object",b="array",v="true",S="type",C="default",p="allowNull",m="utf8",I="Listener",T="Result",R="add",L="Has",E="Ids",D="Table",N=D+"s",M=D+E,O="Row",A=O+"Count",P=O+E,k="Sorted"+O+E,_="Cell",V=_+E,$="Value",x=$+"s",W=$+E,H="message",F="error",J="t",U="v",j=e=>d+e,G=(e,t)=>e.startsWith(t),q=(e,t)=>e.endsWith(t),B=(e,t)=>e?.match(t),z=(e,t=d,a)=>e.split(t,a),Q=(e,t,a)=>e.replace(t,a),Y=Promise,X=e=>(t,a,s)=>e(t)?s?.():a(t),K=globalThis,Z=K.window,ee=(e,t,a)=>setInterval(e,1e3*t),te=clearInterval,ae=(e,t=0)=>setTimeout(e,1e3*t),se=Math,ne=se.max,oe=se.min,re=se.floor,ie=isFinite,le=e=>null==e,ce=e=>void 0===e,de=e=>null===e,ue=e=>!0===e,ge=e=>!1===e,we=X(le),he=X(ce),ye=e=>e==g||e==w,fe=e=>l(e)==g,be=e=>l(e)==y,ve=e=>Array.isArray(e),Se=(e,t,a)=>e.slice(t,a),Ce=e=>e.length,pe=()=>{},me=()=>{},Ie=e=>new Y(e),Te=async e=>Y.all(e),Re=K.structuredClone,Le=e=>{throw Error(e)},Ee=async(e,t,a)=>{try{return await e()}catch(e){t?.(e)}},De=(e,t)=>e.includes(t),Ne=(e,t)=>e.every(t),Me=(e,t)=>Ce(e)===Ce(t)&&Ne(e,(e,a)=>t[a]===e),Oe=(e,t)=>ve(e)&&ve(t)?Me(e,t):e===t,Ae=(e,t)=>Ne(e,(a,s)=>0==s||t(e[s-1],a)<=0),Pe=(e,t)=>e.sort(t),ke=(e,t)=>e.forEach(t),_e=(e,t=d)=>e.join(t),Ve=(e,t)=>e.map(t),$e=e=>We(e,(e,t)=>e+t,0),xe=e=>0==Ce(e),We=(e,t,a)=>e.reduce(t,a),He=(e,t)=>e.filter(t),Fe=(e,t)=>e.splice(0,t),Je=(e,...t)=>e.push(...t),Ue=e=>e.pop(),je=(e,...t)=>e.unshift(...t),Ge=e=>e.shift(),qe=e=>t=>We(Ze(t),(t,a)=>t+e(a),0),Be=e=>e?.size??0,ze=qe(Be),Qe=qe(ze),Ye=qe(Qe),Xe=(e,t)=>e?.has(t)??!1,Ke=e=>ce(e)||0==Be(e),Ze=e=>[...e?.values()??[]],et=e=>e.clear(),tt=(e,t)=>e?.forEach(t),at=(e,t)=>e?.delete(t),st=Object,nt=e=>st.getPrototypeOf(e),ot=st.isFrozen,rt=st.entries,it=e=>!le(e)&&we(nt(e),e=>e==st.prototype||le(nt(e)),()=>!0),lt=st.keys,ct=st.freeze,dt=(e=[])=>st.fromEntries(e),ut=(...e)=>st.assign({},...e),gt=(e,t)=>he(e,e=>e[t]),wt=(e,t)=>t in e,ht=(e,t)=>(delete e[t],e),yt=(e,t)=>ke(rt(e),([e,a])=>t(a,e)),ft=(e,t)=>Ve(rt(e),([e,a])=>t(a,e)),bt=(e,t)=>dt(ft(e,(e,a)=>[a,t(e,a)])),vt=e=>st.values(e),St=e=>Ce(lt(e)),Ct=e=>it(e)&&0==St(e),pt=(e,t,a=(e,t)=>e===t)=>{const s=rt(e);return Ce(s)===St(t)&&Ne(s,([e,s])=>it(s)?!!it(t[e])&&pt(t[e],s,a):a(s,t[e]))},mt=(e,t,a)=>(wt(e,t)||(e[t]=a()),e[t]),It=(e,t,a,s=0)=>le(e)||!it(e)||!s&&Ct(e)||ot(e)?(a?.(),!1):(yt(e,(a,s)=>{t(a,s)||ht(e,s)}),!!s||!Ct(e)),Tt=Map,Rt=e=>new Tt(e),Lt=e=>[...e?.keys()??[]],Et=(e,t)=>e?.get(t),Dt=(e,t)=>tt(e,(e,a)=>t(a,e)),Nt=(e,t)=>Ve([...e?.entries()??[]],([e,a])=>t(a,e)),Mt=(e,t,a)=>ce(a)?(at(e,t),e):e?.set(t,a),Ot=(e,t,a,s)=>(Xe(e,t)?s?.(Et(e,t)):Mt(e,t,a()),Et(e,t)),At=(e,t,a,s=Mt)=>(bt(t,(t,s)=>a(e,s,t)),Dt(e,a=>wt(t,a)?0:s(e,a)),e),Pt=(e,t,a,s)=>{const n={};return tt(e,(e,o)=>{if(!a?.(e,o)){const a=t?t(e,o):e;s?.(a)||(n[o]=a)}}),n},kt=(e,t,a)=>Pt(e,e=>Pt(e,t,a),Ke,Ct),_t=(e,t,a)=>Pt(e,e=>kt(e,t,a),Ke,Ct),Vt=(e,t)=>{const a=Rt();return tt(e,(e,s)=>a.set(s,t?.(e)??e)),a},$t=e=>Vt(e,Vt),xt=e=>Vt(e,$t),Wt=(e,t,a,s,n=0)=>he((a?Ot:Et)(e,t[n],n>Ce(t)-2?a:Rt),o=>{if(n>Ce(t)-2)return s?.(o)&&Mt(e,t[n]),o;const r=Wt(o,t,a,s,n+1);return Ke(o)&&Mt(e,t[n]),r}),Ht=e=>new Set(ve(e)||ce(e)?e:[e]),Ft=(e,t)=>e?.add(t),Jt=(e,t,a,s,n)=>{const o=e.hasRow,r=Rt(),i=Rt(),l=Rt(),c=Rt(),d=Rt(),u=Rt(),g=(t,a,...s)=>{const n=Ot(u,t,Ht);return ke(s,t=>Ft(n,t)&&a&&e.callListener(t)),s},w=(t,...a)=>he(Et(u,t),s=>{ke(xe(a)?Ze(s):a,t=>{e.delListener(t),at(s,t)}),Ke(s)&&Mt(u,t)}),h=(e,a)=>{Mt(r,e,a),Xe(i,e)||(Mt(i,e,t()),Mt(c,e,Rt()),Mt(d,e,Rt()),n(l))},y=e=>{Mt(r,e),Mt(i,e),Mt(c,e),Mt(d,e),w(e),n(l)};return[()=>e,()=>Lt(r),e=>Dt(i,e),e=>Xe(i,e),e=>Et(r,e),e=>Et(i,e),(e,t)=>Mt(i,e,t),h,(t,s,n,r,i)=>{h(t,s);const l=Rt(),u=Rt(),y=Et(c,t),f=Et(d,t),b=t=>{const n=a=>e.getCell(s,t,a),c=Et(y,t),d=o(s,t)?a(r(n,t)):void 0;if(c===d||ve(c)&&ve(d)&&Me(c,d)||Mt(l,t,[c,d]),!ce(i)){const e=Et(f,t),a=o(s,t)?i(n,t):void 0;e!=a&&Mt(u,t,a)}},v=e=>{n(()=>{tt(l,([,e],t)=>Mt(y,t,e)),tt(u,(e,t)=>Mt(f,t,e))},l,u,y,f,e),et(l),et(u)};Dt(y,b),e.hasTable(s)&&ke(e.getRowIds(s),e=>{Xe(y,e)||b(e)}),v(!0),w(t),g(t,0,e.addRowListener(s,null,(e,t,a)=>b(a)),e.addTableListener(s,()=>v()))},y,e=>s(e,l),()=>Dt(u,y),g,w]},Ut=(e,t)=>fe(e)?t=>t(e):e??(()=>t??d),jt=(e,t)=>{const a=new WeakMap;return s=>{a.has(s)||a.set(s,e(s));const n=a.get(s);return t?.(n),n}},Gt=/^\d+$/,qt=()=>{const e=[];let t=0;return[a=>(a?Ge(e):null)??d+t++,t=>{Gt.test(t)&&Ce(e)<1e3&&Je(e,t)}]},Bt=e=>{let t;const[a,s]=qt(),n=Rt();return[(s,o,r,i=[],l=()=>[])=>{t??=e();const c=a(1);return Mt(n,c,[s,o,r,i,l]),Ft(Wt(o,r??[d],Ht),c),c},(e,a,...s)=>ke(((e,t=[d])=>{const a=[],s=(e,n)=>n==Ce(t)?Je(a,e):de(t[n])?tt(e,e=>s(e,n+1)):ke([t[n],null],t=>s(Et(e,t),n+1));return s(e,0),a})(e,a),e=>tt(e,e=>Et(n,e)[0](t,...a??[],...s))),e=>he(Et(n,e),([,t,a])=>(Wt(t,a??[d],void 0,t=>(at(t,e),Ke(t)?1:0)),Mt(n,e),s(e),a)),e=>he(Et(n,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=Ce(r);i==Ce(a)?e(t,...r,...n(r)):de(a[i])?ke(s[i]?.(...r)??[],e=>o(...r,e)):o(...r,a[i])};o()})]},zt=jt(e=>{let t,a,s,n=100,o=Rt(),r=Rt(),i=1;const l=Rt(),c=Rt(),[u,g,w]=Bt(()=>P),h=Rt(),y=Rt(),f=[],b=[],v=(t,a)=>{i=0,e.transaction(()=>{const[s,n]=Et(h,a);tt(s,(a,s)=>tt(a,(a,n)=>tt(a,(a,o)=>e._[5](s,n,o,a[t],!0)))),tt(n,(a,s)=>e._[6](s,a[t],!0))}),i=1},S=e=>{Mt(h,e),Mt(y,e),g(c,[e])},C=(e,t)=>ke(Fe(e,t??Ce(e)),S),p=()=>C(f,Ce(f)-n),m=()=>he(t,()=>{Je(f,t),p(),C(b),t=void 0,s=1}),I=()=>{t=Ue(f),s=1};let T,R;const L=(e=d)=>(ce(t)&&(t=d+a++,Mt(h,t,[o,r]),O(t,e),o=Rt(),r=Rt(),s=1),t),E=()=>{xe(f)||(je(b,L()),v(0,t),t=Ue(f),s=1)},D=()=>{xe(b)||(Je(f,t),t=Ge(b),v(1,t),s=1)},N=()=>{s&&(g(l),s=0)},M=e=>{const t=L(e);return N(),t},O=(e,t)=>(A(e)&&Et(y,e)!==t&&(Mt(y,e,t),g(c,[e])),P),A=e=>Xe(h,e),P={setSize:e=>(n=e,p(),P),addCheckpoint:M,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...f],t,[...b]],forEachCheckpoint:e=>Dt(y,e),hasCheckpoint:A,getCheckpoint:e=>Et(y,e),goBackward:()=>(E(),N(),P),goForward:()=>(D(),N(),P),goTo:e=>{const a=De(f,e)?E:De(b,e)?D:void 0;for(;!ce(a)&&e!=t;)a();return N(),P},addCheckpointIdsListener:e=>u(e,l),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(w(e),P),clear:()=>(C(f),C(b),ce(t)||S(t),t=void 0,a=0,M(),P),clearForward:()=>(xe(b)||(C(b),g(l)),P),destroy:()=>{e.delListener(T),e.delListener(R)},getListenerStats:()=>({checkpointIds:ze(l),checkpoint:ze(c)}),_registerListeners:()=>{T=e.addCellListener(null,null,null,(e,t,a,s,n,r)=>{if(i){m();const e=Ot(o,t,Rt),i=Ot(e,a,Rt),l=Ot(i,s,()=>[r,void 0]);l[1]=n,l[0]===n&&Ke(Mt(i,s))&&Ke(Mt(e,a))&&Ke(Mt(o,t))&&I(),N()}}),R=e.addValueListener(null,(e,t,a,s)=>{if(i){m();const e=Ot(r,t,()=>[s,void 0]);e[1]=a,e[0]===a&&Ke(Mt(r,t))&&I(),N()}})}};return ct(P.clear())},e=>e._registerListeners()),Qt=z("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Yt=Rt(Ve(Qt,(e,t)=>[e,t])),Xt=e=>Qt[63&e],Kt=(e,t)=>Et(Yt,e[t])??0,Zt=K.crypto?e=>K.crypto.getRandomValues(e):e=>Ve(e,()=>re(256*se.random())),ea=(e=16)=>We(Zt(new Uint8Array(e)),(e,t)=>e+Xt(t),d),ta=JSON.stringify,aa=JSON.parse,sa=e=>ta(e,(e,t)=>t instanceof Map?st.fromEntries([...t]):t),na=e=>ta(e,(e,t)=>ce(t)?"":t),oa=e=>ra(aa(e)),ra=e=>""===e?void 0:ve(e)?Ve(e,ra):it(e)?bt(e,ra):e,ia=new K.TextEncoder,la=e=>{let t=2166136261;return ke(ia.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},ca=(e,t)=>(e^t)>>>0,da=e=>We(rt(e),(e,[t,a])=>ca(e,ua(t,a)^ua(t,0)),0),ua=(e,t)=>la(e+":"+t),ga=(e,t)=>la(sa(e??null)+":"+t),wa=ga,ha=ua,ya=da,fa=ua,ba=e=>We(rt(e),(e,[t,a])=>ca(e,ua(t,a)),0),va=ua,Sa=ba,Ca=2**36,pa=2**30,ma=2**24,Ia=2**18,Ta=4096,Ra=e=>{const t=la(e);return Xt(t/ma)+Xt(t/Ia)+Xt(t/Ta)+Xt(t/64)+Xt(t)},La=(e,t=Date.now)=>{let a=0,s=-1;const n=he(e,Ra,()=>ea(5)),o=e=>{const n=a,[o,r]=ce(e)||""==e?[0,0]:i(e);a=ne(n,o,t()),s=a==n?a==o?ne(s,r):s:a==o?r:-1},r=(e,t,a)=>Xt(e/Ca)+Xt(e/pa)+Xt(e/ma)+Xt(e/Ia)+Xt(e/Ta)+Xt(e/64)+Xt(e)+Xt(t/Ia)+Xt(t/Ta)+Xt(t/64)+Xt(t)+(ce(a)?n:Ra(a)),i=e=>[Kt(e,0)*Ca+Kt(e,1)*pa+Kt(e,2)*ma+Kt(e,3)*Ia+Kt(e,4)*Ta+64*Kt(e,5)+Kt(e,6),Kt(e,7)*Ia+Kt(e,8)*Ta+64*Kt(e,9)+Kt(e,10),e.slice(11)];return[()=>(o(),r(a,++s)),o,r,i,()=>a,()=>s,()=>n]},Ea=(e,t)=>(e??0)<(t??0)?-1:1,Da=jt(e=>{const t=Rt(),a=Rt(),[s,n,o]=Bt(()=>S),[r,i,l,c,u,g,w,,h,y,f,b]=Jt(e,Rt,e=>ce(e)?d:ve(e)?Ve(e,j):j(e),s,n),v=(t,a,s)=>{const n=u(t);tt(s,(t,s)=>a(s,a=>tt(t,t=>a(t,a=>e.forEachCell(n,t,a)))))},S={setIndexDefinition:(e,s,o,r,i,l=Ea)=>{const c=ce(i)?void 0:([e],[t])=>i(e,t);return h(e,s,(s,o,i,d,u,h)=>{let y=0;const f=Ht(),b=Ht(),v=g(e);if(tt(o,([e,t],a)=>{const s=Ht(e),n=Ht(t);tt(s,e=>at(n,e)?at(s,e):0),tt(s,e=>{Ft(f,e),he(Et(v,e),t=>{at(t,a),Ke(t)&&(Mt(v,e),y=1)})}),tt(n,e=>{Ft(f,e),Xe(v,e)||(Mt(v,e,Ht()),y=1),Ft(Et(v,e),a),ce(r)||Ft(b,e)})}),s(),Ke(u)||(h?Dt(v,e=>Ft(b,e)):Dt(i,e=>he(Et(d,e),e=>ke(ve(e)?e:[e],e=>Ft(b,e)))),tt(b,e=>{const t=(t,a)=>l(Et(u,t),Et(u,a),e),a=[...Et(v,e)];Ae(a,t)||(Mt(v,e,Ht(Pe(a,t))),Ft(f,e))})),(y||h)&&!ce(c)){const t=[...v];Ae(t,c)||(w(e,Rt(Pe(t,c))),y=1)}y&&n(t,[e]),tt(f,t=>n(a,[e,t]))},Ut(o),he(r,Ut)),S},delIndexDefinition:e=>(y(e),S),getStore:r,getIndexIds:i,forEachIndex:e=>l((t,a)=>e(t,e=>v(t,e,a))),forEachSlice:(e,t)=>v(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Xe(g(e),t),getTableId:u,getSliceIds:e=>Lt(g(e)),getSliceRowIds:(e,t)=>Ze(Et(g(e),t)),addIndexIdsListener:f,addSliceIdsListener:(e,a)=>s(a,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,a,[e,t]),delListener:e=>(o(e),S),destroy:b,getListenerStats:()=>({sliceIds:ze(t),sliceRowIds:Qe(a)})};return ct(S)}),Na=e=>{if(de(e))return"null";if(ve(e))return b;if(it(e))return f;const t=l(e);return ye(t)||t==h&&ie(e)?t:void 0},Ma=e=>ce(e)||!ce(Na(e)),Oa=e=>e==f||e==b,Aa=e=>it(e)||ve(e)?"�"+ta(e):e,Pa=e=>fe(e)&&"�"==e[0],ka=(e,t,a)=>!a&&Pa(e)?aa(Se(e,1)):e,_a=([e,t])=>Va(e,t),Va=(e,t)=>t?[e,t]:[e],$a=(e,t,a)=>[e,t,a],xa=e=>e[2],Wa=(e,t)=>t>e?(e?la(e):0)^la(t):0,Ha=(e,t)=>((e??"")>(t??"")?e:t)??"",Fa=(e,t,a)=>{t>e[1]&&(e[1]=t),e[2]=a>>>0},Ja=(e=d)=>Va(dt(),e),Ua=(e=d)=>[Rt(),e,0],ja=([e,t,a],s)=>[Pt(e,s),t,a],Ga=([e,t],a=_a)=>Va(Pt(e,a),t),qa=(e,t)=>ve(e)&&3==Ce(e)&&fe(e[1])&&l(e[2])==h&&ie(e[2])&&t(e[0]),Ba=e=>[e,e],za=(e,t=ze)=>t(e[0])+t(e[1]),Qa=()=>[Rt(),Rt()],Ya=e=>[...e],Xa=([e,t])=>e===t,Ka=(e,t,a)=>Mt(e,t,Et(e,t)==-a?void 0:a),Za=([e,t],[a,s])=>pt(e,a)&&pt(t,s),es=()=>{let e,t,a=!1,s=!1,n=0,o=[],r=[],i=0;const l=Rt(),c=Rt(),d=Rt(),u=Rt(),g=Rt(),w=Rt(),y=Rt(),f=Rt(),b=Rt(),v=Rt(),m=Rt(),T=Rt(),E=Rt(),k=Rt(),H=Ht(),F=Rt(),J=Rt(),U=Rt(),G=Rt(),q=Qa(),B=Qa(),z=Qa(),Q=Qa(),Y=Qa(),X=Qa(),K=Qa(),Z=Qa(),ee=Qa(),te=Qa(),ae=Qa(),se=Qa(),ne=Qa(),oe=Qa(),re=Qa(),ie=Qa(),le=Qa(),ue=Qa(),ge=Qa(),we=Qa(),fe=Qa(),Ce=Qa(),pe=Rt(),me=Qa(),[Ie,Te,Le,Ne]=Bt(()=>is),Oe=e=>{const t=i;i=1;const a=e();return i=t,a},Ae=(e,t,a,s=Object.is)=>he(t(),t=>e===t||s(e,t)?a(t):Oe(()=>a(t))),_e=e=>{if(!It(e,(e,t)=>De([S,C,p],t)))return!1;const t=e[S];if(!ye(t)&&t!=h&&!Oa(t))return!1;const a=e[C];return!(de(a)&&!e[p]||(de(a)||(Na(a)!=t?ht(e,C):e[C]=Aa(a)),0))},$e=ve,xe=(t,a)=>(!e||Xe(m,a)||Xt(a))&&It(t,(e,t)=>We(a,t,e),()=>Xt(a)),We=(e,t,a,s)=>It(s?a:je(a,e,t),(s,n)=>he(He(e,t,n,s),e=>(a[n]=e,!0),()=>!1),()=>Xt(e,t)),He=(t,a,s,n)=>e?he(Et(Et(m,t),s),e=>de(n)?e[p]?n:Xt(t,a,s,n,e[C]):Na(n)===e[S]?Aa(n):Oa(e[S])&&Pa(n)?n:Xt(t,a,s,n,e[C]),()=>Xt(t,a,s,n)):ce(Na(n))?Xt(t,a,s,n):Aa(n),Fe=(e,t)=>It(t?e:Ge(e),(t,a)=>he(Ue(a,t),t=>(e[a]=t,!0),()=>!1),()=>Kt()),Ue=(e,a)=>t?he(Et(E,e),t=>de(a)?t[p]?a:Kt(e,a,t[C]):Na(a)===t[S]?Aa(a):Oa(t[S])&&Pa(a)?a:Kt(e,a,t[C]),()=>Kt(e,a)):ce(Na(a))?Kt(e,a):Aa(a),je=(e,t,a)=>(he(Et(T,t),([s,n])=>{tt(s,(t,a)=>{wt(e,a)||(e[a]=t)}),tt(n,s=>{wt(e,s)||Xt(t,a,s)})}),e),Ge=e=>(t&&(tt(k,(t,a)=>{wt(e,a)||(e[a]=t)}),tt(H,t=>{wt(e,t)||Kt(t)})),e),qe=e=>At(m,e,(e,t,a)=>{const s=Rt(),n=Ht();At(Ot(m,t,Rt),a,(e,t,a)=>{Mt(e,t,a),he(a[C],e=>Mt(s,t,e),()=>Ft(n,t))}),Mt(T,t,[s,n])},(e,t)=>{Mt(m,t),Mt(T,t)}),Ze=e=>At(E,e,(e,t,a)=>{Mt(E,t,a),he(a[C],e=>Mt(k,t,e),()=>Ft(H,t))},(e,t)=>{Mt(E,t),Mt(k,t),at(H,t)}),st=e=>Ct(e)?Ja():_a(e),nt=(e,t,a,s,n,o)=>ce(s)?Ga(e,t,a,!0,n):Va(e,t,a,s,n,o),ot=e=>Ct(e)?qa():$a(e),rt=(e,t,a)=>ce(t)?ts(e,a):xa(e,t,a),lt=(e,t)=>Ae(e,()=>t?e:he(o[1],t=>Oe(()=>t(Re(e))),()=>e),e=>At(U,e,(e,t,a)=>dt(t,a),(e,t)=>mt(t)),pt),dt=(e,t,a)=>Ae(t,()=>a?t:he(o[2],a=>Oe(()=>a(e,Re(t))),()=>t),t=>At(Ot(U,e,()=>(Ut(e,1),Mt(F,e,qt()),Mt(J,e,Rt()),Rt())),t,(t,a,s)=>ut(e,t,a,s),(t,a)=>Tt(e,t,a)),pt),ut=(e,t,a,s,n)=>Ae(s,()=>n?s:he(o[3],t=>Oe(()=>t(e,a,Re(s))),()=>s),s=>At(Ot(t,a,()=>(jt(e,a,1),Rt())),s,(t,s,n)=>gt(e,a,t,s,n),(s,o)=>Wt(e,t,a,s,o,n)),pt),gt=(e,t,a,s,n,r)=>Ae(n,()=>he(r?void 0:o[4],a=>Oe(()=>a(e,t,s,n)),()=>n),n=>{Xe(a,s)||Gt(e,t,s,1);const o=Et(a,s);n!==o&&(zt(e,t,s,o,n),Mt(a,s,n))}),yt=(e,t,a,s,n,o)=>he(Et(t,a),t=>gt(e,a,t,s,n,o),()=>{const r=Rt();Mt(t,a,r),jt(e,a,1),bt(je({[s]:n},e,a),(t,s)=>gt(e,a,r,s,t,o))}),ft=(e,t)=>Ae(e,()=>t?e:he(o[5],t=>Oe(()=>t(Re(e))),()=>e),e=>At(G,e,(e,t,a)=>vt(t,a),(e,t)=>Jt(t)),pt),vt=(e,t,a)=>Ae(t,()=>he(a?void 0:o[6],a=>Oe(()=>a(e,t)),()=>t),t=>{Xe(G,e)||Qt(e,1);const a=Et(G,e);t!==a&&(Yt(e,a,t),Mt(G,e,t))}),St=e=>Ot(U,e,()=>(Ut(e,1),Mt(F,e,qt()),Mt(J,e,Rt()),Rt())),mt=e=>Oe(()=>o[8]?.(e))??1?dt(e,{},!0):Et(U,e),Tt=(e,t,a)=>{if(Oe(()=>o[9]?.(e,a))??1){const[,s]=Et(F,e);s(a),ut(e,t,a,{},!0)}},Wt=(e,t,a,s,n,r,i)=>{const l=Et(Et(T,e)?.[0],n);if(!ce(l)&&!r)return gt(e,a,s,n,l);if(i||(Oe(()=>o[10]?.(e,a,n))??1)){const o=t=>{zt(e,a,t,Et(s,t)),Gt(e,a,t,-1),Mt(s,t)};ce(l)?o(n):Dt(s,o),Ke(s)&&(jt(e,a,-1),Ke(Mt(t,a))&&(Ut(e,-1),Mt(U,e),Mt(F,e),Mt(J,e)))}},Jt=(e,t)=>{const a=Et(k,e);if(!ce(a))return vt(e,a);(t||(Oe(()=>o[12]?.(e))??1))&&(Yt(e,Et(G,e)),Qt(e,-1),Mt(G,e))},Ut=(e,t)=>Ka(l,e,t),jt=(e,t,a)=>Ka(Ot(u,e,Rt),t,a)&&Mt(d,e,Ot(d,e,()=>0)+a),Gt=(e,t,a,s)=>{const n=Et(J,e),o=Et(n,a)??0;(0==o&&1==s||1==o&&-1==s)&&Ka(Ot(c,e,Rt),a,s),Mt(n,a,o!=-s?o+s:void 0),Ka(Ot(Ot(g,e,Rt),t,Rt),a,s)},zt=(e,t,a,s,n)=>{Ot(Ot(Ot(w,e,Rt),t,Rt),a,()=>[s,0])[1]=n,r[3]?.(e,t,a,n,i)},Qt=(e,t)=>Ka(y,e,t),Yt=(e,t,a)=>{Ot(f,e,()=>[t,0])[1]=a,r[4]?.(e,a,i)},Xt=(e,t,a,s,n)=>(Je(Ot(Ot(Ot(b,e,Rt),t,Rt),a,()=>[]),s),n),Kt=(e,t,a)=>(Je(Ot(v,e,()=>[]),t),a),Zt=(e,t,a)=>he(Et(Et(Et(w,e),t),a),([e,t])=>[!0,ka(e),ka(t)],()=>[!1,...Ba(va(e,t,a))]),ea=e=>he(Et(f,e),([e,t])=>[!0,ka(e),ka(t)],()=>[!1,...Ba(pa(e))]),ta=e=>Ke(b)||Ke(ie[e])?0:tt(e?xt(b):b,(t,a)=>tt(t,(t,s)=>tt(t,(t,n)=>Te(ie[e],[a,s,n],t)))),na=e=>Ke(v)||Ke(le[e])?0:tt(e?Vt(v):v,(t,a)=>Te(le[e],[a],t)),oa=(e,t,a,s)=>{if(!Ke(e))return Te(t,s,()=>Pt(e)),Dt(e,(e,t)=>Te(a,[...s??[],e],1==t)),1},ra=e=>{const t=!Ke(q[e]),s=!Ke(te[e]),n=!(Ke(ne[e])&&Ke(oe[e])&&Ke(ee[e])&&Ke(ae[e])&&Ke(X[e])&&Ke(K[e])&&Ke(Z[e])&&!s&&Ke(z[e])&&Ke(Q[e])),o=!(Ke(re[e])&&Ke(se[e])&&Ke(Y[e])&&Ke(B[e]));if(t||n||o){const i=e?[Vt(l),$t(c),Vt(d),$t(u),xt(g),(r=w,Vt(r,e=>Vt(e,e=>Vt(e,Ya))))]:[l,c,d,u,g,w];if(t){const t=ma();t!=a&&Te(q[e],void 0,t)}if(n){oa(i[0],z[e],Q[e]),tt(i[1],(t,a)=>oa(t,X[e],K[e],[a])),tt(i[2],(t,a)=>{0!=t&&Te(Z[e],[a],ha(a))});const t=Ht();tt(i[3],(a,n)=>{oa(a,ee[e],ae[e],[n])&&s&&(Te(te[e],[n,null]),Ft(t,n))}),s&&tt(i[5],(a,s)=>{if(!Xe(t,s)){const t=Ht();tt(a,e=>tt(e,([a,s],n)=>s!==a?Ft(t,n):at(e,n))),tt(t,t=>Te(te[e],[s,t]))}}),tt(i[4],(t,a)=>tt(t,(t,s)=>oa(t,ne[e],oe[e],[a,s])))}if(o){let t;tt(i[5],(a,s)=>{let n;tt(a,(a,o)=>{let r;tt(a,([a,i],l)=>{i!==a&&(Te(re[e],[s,o,l],ka(i),ka(a),Zt),t=n=r=1)}),r&&Te(se[e],[s,o],Zt)}),n&&Te(Y[e],[s],Zt)}),t&&Te(B[e],void 0,Zt)}}var r},ia=e=>{const t=!Ke(ue[e]),a=!Ke(we[e])||!Ke(fe[e]),n=!Ke(Ce[e])||!Ke(ge[e]);if(t||a||n){const o=e?[Vt(y),Vt(f,Ya)]:[y,f];if(t){const t=Da();t!=s&&Te(ue[e],void 0,t)}if(a&&oa(o[0],we[e],fe[e]),n){let t;tt(o[1],([a,s],n)=>{s!==a&&(Te(Ce[e],[n],ka(s),ka(a),ea),t=1)}),t&&Te(ge[e],void 0,ea)}}},la=(e,...t)=>(ns(()=>e(...Ve(t,j))),is),ca=(e,t,a,s,n)=>{let o=fa(e,t,...a);return Ie(()=>{const n=fa(e,t,...a);Me(n,o)||(o=n,s(is,e,t,...a,o))},te[n?1:0],[e,t],[ga])},da=(e=!1)=>[Pt(w,(t,a)=>-1===Et(l,a)?void 0:Pt(t,(t,s)=>-1===Et(Et(u,a),s)?void 0:Pt(t,([,t])=>ka(t,0,e),e=>Xa(e)),Ke,Ct),Ke,Ct),Pt(f,([,t])=>ka(t,0,e),e=>Xa(e)),1],ua=()=>_t(U,ka),ga=()=>Lt(U),wa=e=>Lt(Et(J,j(e))),ha=e=>Be(Et(U,j(e))),ya=e=>Lt(Et(U,j(e))),fa=(e,t,a,s=0,n)=>it(e)?fa(e.tableId,e.cellId,e.descending,e.offset,e.limit):Ve(Se(Pe(Nt(Et(U,j(e)),(e,a)=>[ce(t)?a:Et(e,j(t)),a]),([e],[t])=>Ea(e,t)*(a?-1:1)),s,ce(n)?n:s+n),([,e])=>e),ba=(e,t)=>Lt(Et(Et(U,j(e)),j(t))),va=(e,t,a)=>ka(Et(Et(Et(U,j(e)),j(t)),j(a))),Sa=()=>Pt(G,ka),Ca=()=>Lt(G),pa=e=>ka(Et(G,j(e))),ma=()=>!Ke(U),Ia=e=>Xe(U,j(e)),Ta=(e,t)=>Xe(Et(J,j(e)),j(t)),Ra=(e,t)=>Xe(Et(U,j(e)),j(t)),La=(e,t,a)=>Xe(Et(Et(U,j(e)),j(t)),j(a)),Da=()=>!Ke(G),Ma=e=>Xe(G,j(e)),_a=e=>la(()=>(e=>It(e,xe,Xt))(e)?lt(e):0),Va=(e,t,a,s,n,r)=>la((e,t,a)=>he(He(e,t,a,be(s)?s(va(e,t,a)):s),s=>{const i=St(e);he(n||r||!o[14]?.()?void 0:o[3],o=>{const r=Et(i,t),l={...r?Pt(r):{},[a]:s};he(Oe(()=>o(e,t,Re(l))),a=>((e,t,a,s,n)=>{At(Ot(t,a,()=>(jt(e,a,1),Rt())),s,(t,s,o)=>he(He(e,a,s,o),o=>gt(e,a,t,s,o,n)),(s,n)=>Wt(e,t,a,s,n,!0))})(e,i,t,a,n))},()=>yt(e,i,t,a,s,n))}),e,t,a),$a=e=>la(()=>Fe(e)?ft(e):0),xa=(e,t,a)=>la(e=>he(Ue(e,be(t)?t(pa(e)):t),t=>vt(e,t,a)),e),Wa=e=>(Ee(()=>st(aa(e))),is),Ha=t=>la(()=>{if((e=It(t,e=>It(e,_e)))&&(qe(t),!Ke(U))){const e=ua();Ja(),_a(e)}}),Fa=e=>la(()=>{if(t=(e=>It(e,_e))(e)){const a=Sa();ss(),qa(),t=!0,Ze(e),$a(a)}}),Ja=()=>la(()=>Oe(()=>o[7]?.())??1?lt({},!0):0),Ua=e=>la(e=>Xe(U,e)?mt(e):0,e),ja=(e,t)=>la((e,t)=>he(Et(U,e),a=>Xe(a,t)?Tt(e,a,t):0),e,t),Ga=(e,t,a,s,n)=>la((e,t,a)=>he(Et(U,e),o=>he(Et(o,t),r=>Xe(r,a)?Wt(e,o,t,r,a,s,n):0)),e,t,a),qa=()=>la(()=>Oe(()=>o[11]?.())??1?ft({},!0):0),ts=(e,t)=>la(e=>Xe(G,e)?Jt(e,t):0,e),as=()=>la(()=>{qe({}),e=!1}),ss=()=>la(()=>{Ze({}),t=!1}),ns=(e,t)=>{if(-1!=n){os();const a=e();return rs(t),a}},os=()=>(-1!=n&&n++,1==n&&(r[0]?.(),Te(pe)),is),rs=e=>(n>0&&(n--,0==n&&(n=1,Oe(()=>{ta(1),Ke(w)||ra(1),na(1),Ke(f)||ia(1)}),e?.(is)&&(tt(w,(e,t)=>tt(e,(e,a)=>tt(e,([e],s)=>nt(t,a,s,e,!0)))),et(w),tt(f,([e],t)=>rt(t,e,!0)),et(f)),Te(me[0],void 0),n=-1,ta(0),Ke(w)||ra(0),na(0),Ke(f)||ia(0),r[1]?.(),Te(me[1],void 0),r[2]?.(),n=0,a=ma(),s=Da(),ke([l,c,d,u,g,w,b,y,f,v],et))),is),is={getContent:()=>[ua(),Sa()],getTables:ua,getTableIds:ga,getTable:e=>kt(Et(U,j(e)),ka),getTableCellIds:wa,getRowCount:ha,getRowIds:ya,getSortedRowIds:fa,getRow:(e,t)=>Pt(Et(Et(U,j(e)),j(t)),ka),getCellIds:ba,getCell:va,getValues:Sa,getValueIds:Ca,getValue:pa,hasTables:ma,hasTable:Ia,hasTableCell:Ta,hasRow:Ra,hasCell:La,hasValues:Da,hasValue:Ma,getTablesJson:()=>sa(U),getValuesJson:()=>sa(G),getJson:()=>sa([U,G]),getTablesSchemaJson:()=>sa(m),getValuesSchemaJson:()=>sa(E),getSchemaJson:()=>sa([m,E]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>la(()=>{const t=be(e)?e():e;$e(t)&&(e=>{Ae(e,()=>he(o[0],t=>Oe(()=>t(Re(e))),()=>e),([e,t])=>{(Ct(e)?Ja:_a)(e),(Ct(t)?qa:$a)(t)},Za)})(t)}),setTables:_a,setTable:(e,t)=>la(e=>xe(t,e)?dt(e,t):0,e),setRow:(e,t,a)=>la((e,t)=>We(e,t,a)?ut(e,St(e),t,a):0,e,t),addRow:(e,t,a=!0)=>ns(()=>{let s;return We(e,s,t)&&(e=j(e),ut(e,St(e),s=((e,t)=>{const[a]=Et(F,e);let s;do{s=a(t)}while(Xe(Et(U,e),s));return s})(e,a?1:0),t)),s}),setPartialRow:(e,t,a)=>la((e,t)=>{if(We(e,t,a,1)){const s=St(e);bt(a,(a,n)=>yt(e,s,t,n,a))}},e,t),setCell:Va,setValues:$a,setPartialValues:e=>la(()=>Fe(e,1)?bt(e,(e,t)=>vt(t,e)):0),setValue:xa,applyChanges:e=>la(()=>Ae(e,()=>he(o[13],t=>Oe(()=>t(Re(e))),()=>e),e=>{bt(e[0],(e,t)=>ce(e)?Ua(t):bt(e,(e,a)=>ce(e)?ja(t,a):bt(e,(e,s)=>nt(t,a,s,e,void 0,!0)))),bt(e[1],(e,t)=>rt(t,e))},Za)),setTablesJson:Wa,setValuesJson:e=>(Ee(()=>ot(aa(e))),is),setJson:e=>la(()=>Ee(()=>{const[t,a]=aa(e);st(t),ot(a)},()=>Wa(e))),setTablesSchema:Ha,setValuesSchema:Fa,setSchema:(e,t)=>la(()=>{Ha(e),Fa(t)}),delTables:Ja,delTable:Ua,delRow:ja,delCell:Ga,delValues:qa,delValue:ts,delTablesSchema:as,delValuesSchema:ss,delSchema:()=>la(()=>{as(),ss()}),transaction:ns,startTransaction:os,getTransactionChanges:()=>da(),getTransactionLog:()=>[!Ke(w),!Ke(f),_t(w,Ya,Xa),_t(b),Pt(f,Ya,Xa),Pt(v),Pt(l),kt(u),_t(g),Pt(y)],finishTransaction:rs,forEachTable:e=>tt(U,(t,a)=>e(a,e=>tt(t,(t,a)=>e(a,e=>Dt(t,(t,a)=>e(t,ka(a))))))),forEachTableCell:(e,t)=>Dt(Et(J,j(e)),t),forEachRow:(e,t)=>tt(Et(U,j(e)),(e,a)=>t(a,t=>Dt(e,(e,a)=>t(e,ka(a))))),forEachCell:(e,t,a)=>Dt(Et(Et(U,j(e)),j(t)),(e,t)=>a(e,ka(t))),forEachValue:e=>Dt(G,(t,a)=>e(t,ka(a))),addSortedRowIdsListener:(e,t,a,s,n,o,r)=>it(e)?ca(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,a):ca(e,t,[a,s,n],o,r),addStartTransactionListener:e=>Ie(e,pe),addWillFinishTransactionListener:e=>Ie(e,me[0]),addDidFinishTransactionListener:e=>Ie(e,me[1]),callListener:e=>(Ne(e),is),delListener:e=>(Le(e),is),getListenerStats:()=>({hasTables:za(q),tables:za(B),tableIds:za(z),hasTable:za(Q),table:za(Y),tableCellIds:za(X),hasTableCell:za(K,Qe),rowCount:za(Z),rowIds:za(ee),sortedRowIds:za(te),hasRow:za(ae,Qe),row:za(se,Qe),cellIds:za(ne,Qe),hasCell:za(oe,Ye),cell:za(re,Ye),invalidCell:za(ie,Ye),hasValues:za(ue),values:za(ge),valueIds:za(we),hasValue:za(fe),value:za(Ce),invalidValue:za(le),transaction:ze(pe)+za(me)}),isMergeable:()=>!1,_:[es,Ie,Te,(e,t,a,s,n)=>r=[e,t,a,s,n],(e,t,a,s,n,r,i,l,c,d,u,g,w,h,y)=>o=[e,t,a,s,n,r,i,l,c,d,u,g,w,h,y],nt,rt,()=>[_t(U),Pt(G)],()=>da(!0)]};return bt({[L+N]:[0,q,[],()=>[ma()]],[N]:[0,B],[M]:[0,z],[L+D]:[1,Q,[ga],e=>[Ia(...e)]],[D]:[1,Y,[ga]],[D+V]:[1,X,[ga]],[L+D+_]:[2,K,[ga,wa],e=>[Ta(...e)]],[A]:[1,Z,[ga]],[P]:[1,ee,[ga]],[L+O]:[2,ae,[ga,ya],e=>[Ra(...e)]],[O]:[2,se,[ga,ya]],[V]:[2,ne,[ga,ya]],[L+_]:[3,oe,[ga,ya,ba],e=>[La(...e)]],[_]:[3,re,[ga,ya,ba],e=>Ba(va(...e))],InvalidCell:[3,ie],[L+x]:[0,ue,[],()=>[Da()]],[x]:[0,ge],[W]:[0,we],[L+$]:[1,fe,[Ca],e=>[Ma(...e)]],[$]:[1,Ce,[Ca],e=>Ba(pa(e[0]))],InvalidValue:[1,le]},([e,t,a,s],n)=>{is[R+n+I]=(...n)=>Ie(n[e],t[n[e+1]?1:0],e>0?Se(n,0,e):void 0,a,s)}),ct(is)},ts={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},as=(e=d)=>[Ua(e),Ua(e)],ss=(e,t)=>{let a=1,s=as(),n=0,o=0;const r=Rt(),i=Ht(),[l,c]=La(e,t),u=es(),g=e=>{const t=a;return a=0,e(),a=t,p},w=(e,t=0)=>{const a={},n={},[[o,r=d,i=0],l]=e,[u,g]=s,[w,y,f]=u;let b=t?i:f,v=r;yt(o,([e,s=d,n=0],o)=>{const r=Ot(w,o,Ua),[i,l,c]=r;let u=t?n:c,g=s;yt(e,(e,s)=>{const[n,r,l]=h(e,Ot(i,s,Ua),mt(mt(a,o,dt),s,dt),t);u^=t?0:ca(r?ua(s,r):0,ua(s,l)),g=Ha(g,n)}),u^=t?0:Wa(l,s),Fa(r,s,u),b^=t?0:ca(c?ua(o,c):0,ua(o,r[2])),v=Ha(v,g)}),b^=t?0:Wa(y,r),Fa(u,r,b);const[S]=h(l,g,n,t);return c(Ha(v,S)),[a,n,1]},h=(e,t,a,s)=>{const[n,o=d,r=0]=e,[i,l,c]=t;let u=o,g=s?r:c;return yt(n,([e,t=d,n=0],o)=>{const r=Ot(i,o,()=>[void 0,d,0]),[,l,c]=r;(!l||t>l)&&(Fa(r,t,s?n:ga(e,t)),r[0]=e,a[o]=e,g^=s?0:ca(ua(o,c),ua(o,r[2])),u=Ha(u,t))}),g^=s?0:Wa(l,o),Fa(t,o,g),[u,c,t[2]]},y=me,f=me,b=(e=!1)=>[ja(s[0],t=>ja(t,t=>ja(t,([t,a,s])=>[ka(t,0,e),a,s]))),ja(s[1],([t,a,s])=>[ka(t,0,e),a,s])],v=(e,t=!1)=>{const[[a,n,o],[l,c,d]]=s,u=e?$a:Va,g={};tt(r,(e,s)=>he(Et(a,s),([a,n,o])=>{const r={};tt(e,(e,s)=>he(Et(a,s),([a,n,o])=>{const i={};tt(e,e=>{he(Et(a,e),([a,s,n])=>i[e]=u(t?a:ka(a),s,n))}),r[s]=u(i,n,o)})),g[s]=u(r,n,o)}));const w={};return tt(i,e=>he(Et(l,e),([a,s,n])=>w[e]=u(t?a:ka(a),s,n))),[u(g,n,o),u(w,c,d),1]},S=()=>b(),C=e=>g(()=>u.applyChanges(w(e))),p={getMergeableContent:S,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>Pt(s[0][0],xa),getMergeableTableDiff:e=>{const t=Ja(s[0][1]),a={};return Dt(s[0][0],(s,[n,o,r])=>wt(e,s)?r!=e[s]?a[s]=r:0:t[0][s]=Ga([n,o],e=>Ga(e))),[t,a]},getMergeableRowHashes:e=>{const t={};return yt(e,(e,a)=>he(Et(s[0][0],a),([s,,n])=>n!=e?Dt(s,(e,[,,s])=>mt(t,a,dt)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=Ja(s[0][1]),a={};return yt(e,(e,n)=>Dt(Et(s[0][0],n)?.[0],(s,[o,r,i])=>wt(e,s)?i!==e[s]?mt(a,n,dt)[s]=i:0:mt(t[0],n,Ja)[0][s]=Ga([o,r]))),[t,a]},getMergeableCellHashes:e=>{const t={};return yt(e,(e,a)=>he(Et(s[0][0],a),([s])=>yt(e,(e,n)=>he(Et(s,n),([s,,o])=>o!==e?Dt(s,(e,[,,s])=>mt(mt(t,a,dt),n,dt)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,a]]=s,n={};return yt(e,(e,a)=>yt(e,(e,s)=>he(Et(t,a),([t,o])=>he(Et(t,s),([t,r])=>Dt(t,(t,[i,l,c])=>c!==e[t]?mt(mt(n,a,()=>Ja(o))[0],s,()=>Ja(r))[0][t]=[i,l]:0))))),Va(n,a)},getMergeableValueHashes:()=>Pt(s[1][0],xa),getMergeableValueDiff:e=>{const[,[t,a]]=s,n=Pt(t,_a,([,,t],a)=>t==e?.[a]);return Va(n,a)},setMergeableContent:e=>g(()=>(e=>ve(e)&&2==Ce(e)&&qa(e[0],e=>It(e,e=>qa(e,e=>It(e,e=>qa(e,e=>It(e,e=>qa(e,Ma),void 0,1)),void 0,1)),void 0,1))&&qa(e[1],e=>It(e,e=>qa(e,Ma),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),s=as(),u.applyChanges(w(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),p),getTransactionMergeableChanges:(e=!1)=>v(e),applyMergeableChanges:C,merge:e=>{const t=S(),a=e.getMergeableContent();return e.applyMergeableChanges(t),C(a)},__:[()=>{const e=o;return o=0,e},()=>b(!0),e=>v(e,!0)]};return u._[3](y,f,()=>{et(r),et(i)},(e,t,s,i,c)=>{Ft(Ot(Ot(r,e,Rt),t,Ht),s),(a||c)&&(c&&(o=1),w([[{[e]:[{[t]:[{[s]:[i,n?d:l()]}]}]}],[{}],1]))},(e,t,s)=>{Ft(i,e),(a||s)&&(s&&(o=1),w([[{}],[{[e]:[t,n?d:l()]}],1]))}),bt(u,(e,t)=>p[t]=G(t,"set")||G(t,"del")||G(t,"apply")||q(t,"Transaction")||t=="call"+I||"use"==t?(...t)=>(e(...t),p):G(t,R)&&q(t,I)?(...a)=>{const s=ts[Se(t,3,-8)]??0,n=a[s];return a[s]=(e,...t)=>n(p,...t),e(...a)}:"isMergeable"==t?()=>!0:e),ct(p)},ns=Rt([["avg",[(e,t)=>$e(e)/t,(e,t,a)=>e+(t-e)/(a+1),(e,t,a)=>e+(e-t)/(a-1),(e,t,a,s)=>e+(t-a)/s]],["max",[e=>ne(...e),(e,t)=>ne(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:ne(t,e)]],["min",[e=>oe(...e),(e,t)=>oe(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:oe(t,e)]],["sum",[e=>$e(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,a)=>e-a+t]]]),os=(e,t,a,s,n,o=!1)=>{if(Ke(a))return;const[r,i,l,c]=n;return o||=ce(e),tt(s,([a,s])=>{o||(e=ce(a)?i?.(e,s,t++):ce(s)?l?.(e,a,t--):c?.(e,s,a,t),o||=ce(e))}),o?r(Ze(a),Be(a)):e},rs=jt(e=>{const t=Rt(),[a,s,n]=Bt(()=>b),[o,r,i,l,c,u,g,,w,h,y,f]=Jt(e,pe,e=>isNaN(e)||ce(e)||ue(e)||ge(e)||e===d?void 0:1*e,a,s),b={setMetricDefinition:(e,a,n,o,r,i,l)=>{const c=be(n)?[n,r,i,l]:Et(ns,n)??Et(ns,"sum");return w(e,a,(a,n,o,r,i,l)=>{const d=u(e),w=Be(r);l||=ce(d),a();let h=os(d,w,r,n,c,l);ie(h)||(h=void 0),h!=d&&(g(e,h),s(t,[e],h,d))},Ut(o,1)),b},delMetricDefinition:e=>(h(e),b),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:u,addMetricIdsListener:y,addMetricListener:(e,s)=>a(s,t,[e]),delListener:e=>(n(e),b),destroy:f,getListenerStats:()=>({metric:ze(t)})};return ct(b)}),is=(e,t,...a)=>We(e,(e,t)=>ce(e)?e:t(...a,e),t),ls=(e,...t)=>Ne(e,e=>e(...t)),cs=jt(e=>{const t=e=>t=>(Je(e,t),M),a=[],s=[],n=[],o=[],r=[],i=[],l=[],c=[],d=[],u=[],g=[],w=[],h=[],y=[],f=t(a),b=t(s),v=t(n),S=t(o),C=t(r),p=t(i),m=t(l),I=t(c),T=t(d),R=t(u),L=t(g),E=t(w),D=t(h),N=t(y),M=ct({getStore:()=>e,addWillSetContentCallback:f,addWillSetTablesCallback:b,addWillSetTableCallback:v,addWillSetRowCallback:S,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:m,addWillDelTablesCallback:I,addWillDelTableCallback:T,addWillDelRowCallback:R,addWillDelCellCallback:L,addWillDelValuesCallback:E,addWillDelValueCallback:D,addWillApplyChangesCallback:N,destroy:()=>{}});return e._[4](e=>is(a,e),e=>is(s,e),(e,t)=>is(n,t,e),(e,t,a)=>is(o,a,e,t),(e,t,a,s)=>is(r,s,e,t,a),e=>is(i,e),(e,t)=>is(l,t,e),()=>ls(c),e=>ls(d,e),(e,t)=>ls(u,e,t),(e,t,a)=>ls(g,e,t,a),()=>ls(w),e=>ls(h,e),e=>is(y,e),()=>o.length>0),M}),ds={Idle:0,Loading:1,Saving:2},us={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},gs=Rt(),ws=Rt(),hs=(e,t,a,s,n,o,r,i={},l=0,c=[])=>{let d,u,g,w=0,h=0,y=0;Ot(gs,c,()=>0),Ot(ws,c,()=>[]);const f=Rt(),[b,v,S,C,p]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!a),([[e],[t]])=>!Ct(e)||!Ct(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!Ct(e)||!Ct(t),t.setContent]:Le("Store type not supported by this Persister"))(r,e,l),[m,I,T]=Bt(()=>$),R=e=>{e!=w&&(w=e,I(f,void 0,w))},L=t=>{(b&&ve(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async()=>{k()&&e.__?.[0]?.()&&await O()},D=async e=>(2!=w&&(R(1),h++,await V(async()=>{await Ee(async()=>{const a=await t();ve(a)?L(a):e?p(e):Le("Content is not an array: "+a)},()=>{e&&p(e)}),R(0),await E()})),$),N=async e=>(M(),await D(e),await Ee(async()=>u=await s(async(e,t)=>{t||e?2!=w&&(R(1),h++,L(t??e),R(0),await E()):await D()}),o),$),M=async()=>(u&&(await Ee(()=>n(u),o),u=void 0),$),O=async e=>(1!=w&&(R(2),y++,await V(async()=>{await Ee(()=>a(v,e),o),R(0)})),$),A=async()=>(P(),await O(),g=e.addDidFinishTransactionListener(()=>{const e=S();C(e)&&O(e)}),$),P=async()=>(g&&(e.delListener(g),g=void 0),$),k=()=>!ce(g),_=async(e=!1)=>{const[t,a]=e?[P,M]:[M,P];return await t(),await a(),$},V=async(...e)=>(Je(Et(ws,c),...e),await(async()=>{if(!Et(gs,c)){for(Mt(gs,c,1);!ce(d=Ge(Et(ws,c)));)await Ee(d,o);Mt(gs,c,0)}})(),$),$={load:D,startAutoLoad:N,stopAutoLoad:M,isAutoLoading:()=>!ce(u),save:O,startAutoSave:A,stopAutoSave:P,isAutoSaving:k,startAutoPersisting:async(e,t=!1)=>{const[a,s]=t?[A,N]:[N,A];return await a(e),await s(e),$},stopAutoPersisting:_,getStatus:()=>w,addStatusListener:e=>m(e,f),delListener:t=>(T(t),e),schedule:V,getStore:()=>e,destroy:()=>(Fe(Et(ws,c)),_()),getStats:()=>({loads:h,saves:y}),...i};return ct($)},ys="_",fs="_id",bs="SELECT",vs="WHERE",Ss="TABLE",Cs="INSERT",ps="DELETE",ms="UPDATE",Is="ALTER "+Ss,Ts="FROM",Rs=ps+" "+Ts,Ls=bs+"*"+Ts,Es="pragma_",Ds="data_version",Ns="schema_version",Ms="pragma_table_",Os="CREATE ",As=Os+Ss,Ps="OR REPLACE ",ks="FUNCTION",_s="$tableName",Vs=(e,t)=>t?async(a,s)=>(t(a,s),await e(a,s)):e,$s=e=>_e(Ve(z(e,"."),e=>`"${Q(e,/"/g,'""')}"`),"."),xs=(...e)=>$s(_e(e,"_")),Ws=(...e)=>_e(Ve(e,$s),u),Hs=(e,t=[1])=>_e(Ve(e,()=>"$"+t[0]++),u),Fs=(e,t=v)=>vs+`(${Q(t,_s,$s(e))})`,Js="ColumnName",Us="store",js="json",Gs=Us+"TableName",qs=Us+"Id"+Js,Bs=Us+Js,zs="autoLoadIntervalSeconds",Qs="rowId"+Js,Ys="tableId",Xs="tableName",Ks="deleteEmptyColumns",Zs="deleteEmptyTable",en="condition",tn={mode:js,[zs]:1},an={load:0,save:0,[Xs]:c+"_values"},sn=(e,t,a,s,n)=>{const o=Rt();return bt(e,(e,r)=>{const i=Se(vt(ut(t,fe(e)?{[a]:e}:e)),0,St(t));de(i[0])||s(r,i[0])||(n(r,i[0]),Mt(o,r,i))}),o},nn=e=>{const t=(e=>ut(tn,fe(e)?{[Gs]:e}:e??{}))(e),a=t[zs];if(t.mode==js){const e=t[Gs]??c;return[1,a,[e,t[qs]??fs,t[Bs]??Us],Ht(e)]}const{tables:{load:s={},save:n={}}={},values:o={}}=t,r=Se(vt(ut(an,o)),0,St(an)),i=r[2],l=Ht(i),d=Ht(i),u=sn(s,{[Ys]:null,[Qs]:fs,[en]:v},Ys,e=>Xe(d,e),e=>Ft(l,e)),g=sn(n,{[Xs]:null,[Qs]:fs,[Ks]:0,[Zs]:0,[en]:null},Xs,(e,t)=>Xe(d,t),(e,t)=>Ft(l,t));return Dt(g,(e,t)=>t[4]??=Et(u,t[0])?.[2]??v),[0,a,[u,g,r],l]},on=(e,t,a,s,n,o=rn,r,i)=>{const l=Rt();return[async()=>{et(l),Ve(await a(e,t),({tn:e,cn:t})=>Ft(Ot(l,e,Ht),t))},async(t,a,s)=>((e,t)=>Xe(Et(l,e),t))(t,a)?dt(He(Ve(await e(Ls+$s(t)+Fs(t,s)),e=>[e[a],i?bt(ht(e,a),i):ht(e,a)]),([e,t])=>!ce(e)&&!Ct(t))):{},async(t,a,s,i,c,d=!1,g=v)=>{const w=Ht();bt(s??{},e=>Ve(lt(e??{}),e=>Ft(w,e)));const h=Ze(w);if(!d&&c&&g==v&&xe(h)&&Xe(l,t))return await e("DROP "+Ss+$s(t)),void Mt(l,t);const y=Et(l,t),f=Ht(Ze(y));if(xe(h)||(Xe(l,t)?await Te(Ve([a,...h],async(s,o)=>{at(f,s)||(await e(Is+$s(t)+"ADD"+$s(s)+n),0==o&&await e("CREATE UNIQUE INDEX pk ON "+$s(t)+`(${$s(a)})`),Ft(y,s))})):(await e(As+$s(t)+`(${$s(a)}${n} PRIMARY KEY${_e(Ve(h,e=>u+$s(e)+n))});`),Mt(l,t,Ht([a,...h])))),await Te([...!d&&i?Ve(Ze(f),async s=>{s!=a&&(await e(Is+$s(t)+"DROP"+$s(s)),at(y,s))}):[]]),d)ce(s)?await e(Rs+$s(t)+Fs(t,g)):await Te(ft(s,async(s,n)=>{ce(s)?await e(Rs+$s(t)+Fs(t,g)+`AND(${$s(a)}=$1)`,[n]):xe(h)||await o(e,t,a,lt(s),{[n]:r?Ve(vt(s),r):vt(s)},y)}));else if(xe(h))Xe(l,t)&&await e(Rs+$s(t)+Fs(t,g));else{const n=He(Ze(Et(l,t)),e=>e!=a),i={},c=[];bt(s??{},(e,t)=>{i[t]=Ve(n,t=>r?r(e?.[t]):e?.[t]),Je(c,t)}),await o(e,t,a,n,i),await e(Rs+$s(t)+Fs(t,g)+`AND${$s(a)}NOT IN(${Hs(c)})`,c)}},async t=>{let a;return await e("BEGIN"),await Ee(async()=>a=await t(),s),await e("END"),a}]},rn=async(e,t,a,s,n)=>{const o=[1];await e(Cs+" INTO"+$s(t)+"("+Ws(a,...s)+")VALUES"+_e(ft(n,e=>"($"+o[0]+++","+Hs(e,o)+")"),u)+"ON CONFLICT("+$s(a)+`)DO ${ms} SET`+_e(Ve(s,e=>$s(e)+"=excluded."+$s(e)),u),ft(n,(e,t)=>[t,...Ve(e,e=>e??null)]).flat())},ln=(e,t,a,s,n,o,r,[i,l,c],d,u,g,w,h,y)=>{const[f,b,v,S]=on(t,d,u,n,h,y),C=hs(e,()=>S(async()=>(await f(),oa((await b(i,l))[ys]?.[c]??"null"))),e=>S(async()=>{await f(),await v(i,l,{[ys]:{[c]:na(e()??null)}},!0,!0)}),a,s,n,r,{[w]:()=>g,destroy:async()=>(await C.stopAutoPersisting(),o(),C)},0,g);return C},cn=(e,t,a,s,n,o,r,[i,l,[c,d,u]],g,w,h,y,f,b,v,S)=>{const[C,p,m,I]=on(t,g,w,n,f,b,v,S),T=(e,t)=>Te(Nt(l,async([a,s,n,o,r],i)=>{t&&!wt(e,i)||await m(a,s,e[i],n,o,t,r)})),R=async(e,t)=>d?await m(u,fs,{[ys]:e},!0,!0,t):null,L=hs(e,()=>I(async()=>{await C();const e=await(async()=>dt(He(await Te(Nt(i,async([e,t,a],s)=>[e,await p(s,t,a)])),e=>!Ct(e[1]))))(),t=await(async()=>c?(await p(u,fs))[ys]:{})();return Ct(e)&&ce(t)?void 0:[e,t]}),(e,t)=>I(async()=>{if(await C(),ce(t)){const[t,a]=e();await T(t),await R(a)}else await T(t[0],!0),await R(t[1],!0)}),a,s,n,r,{[y]:()=>h,destroy:async()=>(await L.stopAutoPersisting(),o(),L)},0,h);return L},dn=/^([cd]:)(.+)/,un=(e,t,a,s,n,o,r,i,l,u,g="getDb")=>{const w=Vs(a,o),[h,,y,f]=nn(t),b=d+la(na(y)),S=c+"_"+b,C=async(e,t,a="",s="")=>{const n=xs(c,e,b);return await w(Os+Ps+ks+n+`()RETURNS ${a}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),n},p=async(e,t,a,s)=>(await w(Os+e+"TRIGGER"+t+a+"EXECUTE "+ks+s+"()"),t),m=e=>`PERFORM pg_notify('${S}',${e});`,I=(e,t)=>h?v:2===t?I(e,0)+" OR "+I(e,1):Q(Et(y[0],e)?.[2]??v,_s,0==t?"NEW":"OLD"),T=(e,t)=>Te(Ve([Cs,ps,ms],(a,s)=>p(Ps,xs(c,"d",b,e,a),`AFTER ${a} ON${$s(e)}FOR EACH ROW WHEN(${I(e,s)})`,t)));return(h?ln:cn)(e,w,async e=>{const t=await C("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${vs} command_tag='${As}' LOOP ${m("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await p("EVENT ",xs(c,"c",b),`ON ddl_command_end WHEN TAG IN('${As}')`,t);const a=await C("d",m("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await Te(Ve(Ze(f),async e=>(await w(As+` IF NOT EXISTS${$s(e)}("_id"text PRIMARY KEY)`),await T(e,a)))),[await s(S,t=>he(B(t,dn),async([,t,s])=>{Xe(f,s)&&("c:"==t&&await T(s,a),e())})),[t,a]]},async([e,t])=>{n(e),await w(`DROP FUNCTION IF EXISTS${_e(t,",")}CASCADE`)},r,i,l,y,Ze(f),async(e,t)=>await e(bs+` table_name tn,column_name cn FROM information_schema.columns ${vs} table_schema='public'AND table_name IN(${Hs(t)})`,t),u,g,"text",void 0,e=>ta(e),e=>aa(e))},gn=(e,t,a,s,n,o,r,i,l,c,u="getDb",g)=>{let w,h,y;const f=Vs(a,o),[b,v,S,C]=nn(t);return(b?ln:cn)(e,f,e=>{let t;const a=()=>t=ee(()=>Ee(async()=>{const[{d:t,s:a,c:s}]=await f(bs+` ${Ds} d,${Ns} s,TOTAL_CHANGES() c FROM ${Es}${Ds} JOIN ${Es}${Ns}`);t==w&&a==h&&s==y||(le(w)||e(),w=t,h=a,y=s)}),v),o=()=>{w=h=y=null,te(t)},r=s(t=>{C.has(t)&&(o(),e(),a())});return a(),()=>{o(),n(r)}},e=>e(),r,i,l,S,Ze(C),async(e,t)=>await e(bs+` t.name tn,c.name cn FROM ${Ms}list()t,${Ms}info(t.name)c ${vs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Hs(t)})ORDER BY t.name,c.name`,t),c,u,d,g,e=>ue(e)?1:ge(e)?0:e,void 0)},wn=(e,t)=>[e[t].t,e[t].v],hn=(e,t,a,s)=>{const n=ce(t)?e:mt(e,t,()=>({}));let o;return bt(a,(e,t)=>{s(n,t,e)&&(o=1)}),bt(n,(e,t)=>{wt(a,t)||(ht(n,t),o=1)}),!ce(t)&&Ct(n)&&ht(e,t),o},yn=(e,t,a=c,s)=>(t.change(e=>mt(e,a,dt)),hs(e,async()=>{const e=t.doc();return 2==St(e?.[a])?wn(e,a):void 0},async(e,s)=>t.change(t=>((e,t,a,s)=>{((e,t)=>{Ct(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[n,o]=wn(e,t),r=()=>{i=1};let i=1;if(he(s,([e,t])=>{i=0,bt(e,(e,t)=>i?0:ce(e)?ht(n,t):he(n[t],t=>bt(e,(e,a)=>i?0:ce(e)?ht(t,a):he(gt(t,a),t=>bt(e,(e,a)=>ce(e)?ht(t,a):t[a]=e),r)),r)),bt(t,(e,t)=>i?0:ce(e)?ht(o,t):o[t]=e)}),i){const[e,t]=a();hn(n,void 0,e,(e,t,a)=>hn(n,t,a,(e,t,a)=>hn(e,t,a,(e,t,a)=>{if(gt(e,t)!==a)return e[t]=a,1}))),hn(o,void 0,t,(e,t,a)=>{gt(o,t)!==a&&(o[t]=a)})}})(t,a,e,s)),e=>{const s=({doc:t})=>e(wn(t,a));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),fn="storage",bn=(e,t,a,s)=>hs(e,async()=>oa(a.getItem(t)),async e=>a.setItem(t,na(e())),e=>{const s=s=>{s.storageArea===a&&s.key===t&&Ee(()=>e(oa(s.newValue)),e)};return Z.addEventListener(fn,s),s},e=>Z.removeEventListener(fn,e),s,3,{getStorageName:()=>t}),vn=(e,t,a)=>bn(e,t,localStorage,a),Sn=(e,t,a)=>bn(e,t,sessionStorage,a),Cn=(e,t,a)=>hs(e,async()=>oa(await(await t.getFile()).text()),async e=>{const a=await t.createWritable();await a.write(na(e())),await a.close()},async e=>{const a=new FileSystemObserver(()=>e());return await a.observe(t),a},e=>e?.disconnect(),a,3,{getHandle:()=>t}),pn=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>await t.execO(e,a),e=>t.onUpdate((t,a,s)=>e(s)),e=>e(),s,n,me,1,t),mn=()=>$a({},d,0),In=(e,t,a=d,s)=>{const n=(e,...t)=>a+e+Se(na(t),1,-1);return hs(e,async()=>{const e=mn(),s=mn();return(await t.list({prefix:a})).forEach(async([t,n,o],r)=>he((e=>{if(G(e,a)){const t=Se(e,Ce(a),Ce(a)+1);return t==J||t==U?[t,...JSON.parse("["+Se(e,Ce(a)+1)+"]")]:void 0}})(r),([a,...r])=>a==J?he(r[0],a=>{const s=mt(e[0],a,mn);he(r[1],e=>{const a=mt(s[0],e,mn);he(r[2],e=>a[0][e]=[t,n,o],()=>Fa(a,n,o))},()=>Fa(s,n,o))},()=>Fa(e,n,o)):a==U?he(r[0],e=>s[0][e]=[t,n,o],()=>Fa(s,n,o)):0)),Ct(e[0])&&Ct(s[0])?void 0:[e,s]},async(e,[[a,s,o],[r,i,l]]=e())=>{const c=Rt();Mt(c,n(J),[0,s,o]),yt(a,([e,t,a],s)=>{Mt(c,n(J,s),[0,t,a]),yt(e,([e,t,a],o)=>{Mt(c,n(J,s,o),[0,t,a]),yt(e,(e,t)=>Mt(c,n(J,s,o,t),e))})}),Mt(c,n(U),[0,i,l]),yt(r,(e,t)=>Mt(c,n(U,t),e)),await t.put(Pt(c))},me,me,s,2,{getStorage:()=>t})},Tn=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>await t.db.raw({sql:e,args:a}),e=>t.notifier.subscribeToDataChanges(a=>ke(t.notifier.alias(a),({tablename:t})=>e(t))),e=>e(),s,n,me,1,t,"getElectricClient"),Rn=(t,a,s,n,o)=>gn(t,s,async(e,t=[])=>await a.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),n,o,me,3,a),Ln=(e,r,i)=>hs(e,async()=>oa(await o(r,m)),async e=>await n(r,na(e()),m),e=>(t(r)||a(r,d,m),s(r,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>r}),En=[J,U],Dn={keyPath:"k"},Nn=async(e,t)=>{const a=ft(t,(t,a)=>Mn(e,"put",{k:a,v:t}));Ve(await Mn(e,"getAllKeys"),s=>wt(t,s)?0:Je(a,Mn(e,"delete",s))),await Te(a)},Mn=async(e,t,a)=>Ie((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}),On=(e,t,a=1,s)=>{const n=async(e,a=[],s=0)=>Ie((n,o)=>{const r=(Z?Z.indexedDB:indexedDB).open(t,s?2:void 0);r.onupgradeneeded=()=>s&&Ve(En,e=>Ee(()=>r.result.createObjectStore(e,Dn))),r.onsuccess=()=>Ee(async()=>{const t=r.result.transaction(En,"readwrite"),s=await Te(Ve(En,(s,n)=>e(t.objectStore(s),a[n])));r.result.close(),n(s)},e=>{r.result.close(),o(e)}),r.onerror=()=>o("indexedDB.open error")});return hs(e,async()=>await n(async e=>dt(Ve(await Mn(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>n((e,t)=>Nn(e,t),e(),1),e=>ee(e,a),e=>te(e),s,1,{getDbName:()=>t})},An=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>(await t.execute({sql:e,args:a})).rows,()=>me,e=>e(),s,n,me,1,t,"getClient"),Pn="s",kn="/store",_n=(e,t,a)=>e+t+(fe(a)?a:na(a)),Vn=(e,t,a)=>{const s=Ce(e);return G(t,e)?[t[s],(a?oa:String)(Se(t,s+1))]:void 0},$n=(e,t,a,s)=>{const{host:n,room:o}=t.partySocketOptions,{storeProtocol:r="https",storePath:i=kn,messagePrefix:l=d}={...fe(a)?{storeProtocol:a}:a},c=r+"://"+n+"/parties/"+t.name+"/"+o+i,u=async e=>await(await fetch(c,{...e?{method:"PUT",body:sa(e)}:{},mode:"cors",cache:"no-store"})).json();return hs(e,u,async(e,a)=>{a?t.send(_n(l,Pn,a)):await u(e())},e=>{const a=t=>he(Vn(l,t.data,1),([t,a])=>{t==Pn&&e(void 0,a)});return t.addEventListener(H,a),a},e=>{t.removeEventListener(H,e)},s,1,{getConnection:()=>t})},xn="hasStore",Wn=dt(Ve(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),Hn=async(e,t=d)=>!!await e.get(t+xn),Fn=async(e,t=d)=>{const a={},s={};return Dt(await e.list(),(e,n)=>he(Vn(t,e),([e,t])=>{if(e==J){const[e,s,o]=aa("["+t+"]");mt(mt(a,e,dt),s,dt)[o]=n}else e==U&&(s[t]=n)})),[a,s]},Jn=async(e,t,a)=>e.party.broadcast(_n(e.config.messagePrefix??d,Pn,t),a),Un=async(e,t,a,s)=>{const n=e.party.storage,o=e.config.storagePrefix??d,r={[o+xn]:1},i=[],l=[];await Te(ft(t[0],async(t,c)=>ce(t)?!a&&await e.canDelTable(c,s)&&je(l,jn(o,J,c)):await e.canSetTable(c,a,s)&&await Te(ft(t,async(t,d)=>ce(t)?!a&&await e.canDelRow(c,d,s)&&Je(l,jn(o,J,c,d)):await e.canSetRow(c,d,a,s)&&await Te(ft(t,async(t,l)=>{const u=[c,d,l],g=jn(o,J,...u);ce(t)?!a&&await e.canDelCell(...u,s)&&Je(i,g):await e.canSetCell(...u,t,a,s,await n.get(g))&&(r[g]=t)})))))),await Te(ft(t[1],async(t,l)=>{const c=o+U+l;ce(t)?!a&&await e.canDelValue(l,s)&&Je(i,c):await e.canSetValue(l,t,a,s,await n.get(c))&&(r[c]=t)})),xe(l)||Dt(await n.list(),e=>Ne(l,t=>!G(e,t)||Je(i,e)&&0)),await n.delete(i),await n.put(r)},jn=(e,t,...a)=>_n(e,t,Se(sa(a),1,-1)),Gn=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});class qn{constructor(e){this.party=e,this.config.storePath??=kn,this.config.messagePrefix??=d,this.config.storagePrefix??=d,this.config.responseHeaders??=Wn}config={};async onRequest(e){const{party:{storage:t},config:{storePath:a=kn,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await Hn(t,s),n=await e.text();return"PUT"==e.method?a?Gn(this,205):(await Un(this,aa(n),!0,e),Gn(this,201)):Gn(this,200,a?sa(await Fn(t,s)):d)}return Gn(this,404)}async onMessage(e,t){const{config:{messagePrefix:a=d,storagePrefix:s}}=this;await he(Vn(a,e,1),async([e,a])=>{e==Pn&&await Hn(this.party.storage,s)&&(await Un(this,a,!1,t),Jn(this,a,[t.id]))})}async canSetTable(e,t,a){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,a,s){return!0}async canDelRow(e,t,a){return!0}async canSetCell(e,t,a,s,n,o,r){return!0}async canDelCell(e,t,a,s){return!0}async canSetValue(e,t,a,s,n){return!0}async canDelValue(e,t){return!0}}const Bn=async(e,t,a,s,n)=>un(e,a,async(e,a=[])=>(await t.query(e,a)).rows,(e,a)=>t.listen(e,a),e=>Ee(e,n),s,n,me,3,t,"getPglite"),zn=async(e,t,a,s,n)=>{const o=await(t.reserve?.());return un(e,a,o?.unsafe,async(e,a)=>t.listen(e,a),e=>Ee(e.unlisten,n),s,n,()=>o?.release?.(),3,t,"getSql")},Qn=(e,t,a,s,n)=>{let o;return gn(e,a,async(e,a=[])=>t.execute(e,a).then(e=>e.rows?._array??[]),e=>{const a=new AbortController,s=t.onChange({rawTableNames:!0,signal:a.signal});return(async()=>{for await(const e of s)o&&Ve(e.changedTables,o)})(),o=e,a},e=>{o=void 0,e.abort()},s,n,me,1,t,"getPowerSync",Yn)},Yn=async(e,t,a,s,n,o)=>{const r=[1],i=Ht(s),l=o?He([...o],e=>e!=a&&!Xe(i,e)):[];if(!xe(l)){const s=lt(n),o=dt(Ve(await e(bs+Ws(a,...l)+Ts+$s(t)+vs+$s(a)+"IN("+Hs(s)+")",s),e=>[e[a],e]));ke(s,e=>Je(n[e],...Ve(l,t=>o?.[e]?.[t]??null)))}await e(Cs+" "+Ps+"INTO"+$s(t)+"("+Ws(a,...s,...l)+")VALUES"+_e(ft(n,e=>"($"+r[0]+++","+Hs(e,r)+")"),u),ft(n,(e,t)=>[t,...Ve(e,e=>e??null)]).flat())},Xn=(e,t,a="storage",s)=>hs(e,async()=>{const e=t.getString(a),s=ce(e)?void 0:JSON.parse(e);return Promise.resolve(s)},async e=>{const s=e();ce(s)||t.set(a,JSON.stringify(s))},e=>t.addOnValueChangedListener(s=>{if(s===a){const s=t.getString(a);s&&e(JSON.parse(s))}}),e=>{e.remove()},s,3,{getStorageName:()=>a}),Kn=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>(await t.executeSql(e,a))[0].rows.raw(),me,me,s,n,me,3,t),Zn=e=>e.headers.get("ETag")??"",eo=(e,t,a,s=5,n)=>{let o="";return hs(e,async()=>{const e=await fetch(t,{headers:{"If-None-Match":o}});return o=Zn(e),aa(await e.text())},async e=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:sa(e())}),e=>ee(async()=>{const a=await fetch(t,{method:"HEAD",headers:{"If-None-Match":o}}),s=Zn(a);s!=o&&(o=s,e())},s),e=>te(e),n,1,{getUrls:()=>[t,a]})},to=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>t.query(e).all(...a),()=>me,e=>e(),s,n,me,3,t),ao=(e,t,a,s,n,o)=>gn(e,s,async(e,t=[])=>a.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(a,(t,a,s,n)=>e(n),0),()=>t.capi.sqlite3_update_hook(a,me,0),n,o,me,3,a),so="change",no=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>await Ie((s,n)=>t.all(e,a,(e,t)=>e?n(e):s(t))),e=>{const a=(t,a,s)=>e(s);return t.on(so,a),a},e=>t.off(so,e),s,n,me,3,t),oo="delete",ro=e=>[e.get(J),e.get(U)],io=(e,t,a,s)=>{const n=ce(t)?e:e.get(t)??e.set(t,new r);let o;return bt(a,(e,t)=>{s(n,t,e)&&(o=1)}),n.forEach((e,t)=>{wt(a,t)||(n.delete(t),o=1)}),ce(t)||n.size||e.delete(t),o},lo=(e,t,a=c,s)=>{const n=t.getMap(a);return hs(e,async()=>n.size?[n.get(J).toJSON(),n.get(U).toJSON()]:void 0,async(e,a)=>t.transact(()=>((e,t,a)=>{e.size||(e.set(J,new r),e.set(U,new r));const[s,n]=ro(e),o=()=>{i=1};let i=1;if(he(a,([e,t])=>{i=0,bt(e,(e,t)=>i?0:ce(e)?s.delete(t):he(s.get(t),t=>bt(e,(e,a)=>i?0:ce(e)?t.delete(a):he(t.get(a),t=>bt(e,(e,a)=>ce(e)?t.delete(a):t.set(a,e)),o)),o)),bt(t,(e,t)=>i?0:ce(e)?n.delete(t):n.set(t,e))}),i){const[e,a]=t();io(s,void 0,e,(e,t,a)=>io(s,t,a,(e,t,a)=>io(e,t,a,(e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1}))),io(n,void 0,a,(e,t,a)=>{n.get(t)!==a&&n.set(t,a)})}})(n,e,a)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==Ce(t)&&xe(t[0].path))return[e.get(J).toJSON(),e.get(U).toJSON(),1];const[a,s]=ro(e),n={},o={};return ke(t,({path:e,changes:{keys:t}})=>Ge(e)==J?he(Ge(e),s=>{const o=mt(n,s,dt),r=a.get(s);he(Ge(e),e=>{const a=mt(o,e,dt),s=r.get(e);Dt(t,(e,{action:t})=>a[e]=t==oo?void 0:s.get(e))},()=>Dt(t,(e,{action:t})=>o[e]=t==oo?void 0:r.get(e)?.toJSON()))},()=>Dt(t,(e,{action:t})=>n[e]=t==oo?void 0:a.get(e)?.toJSON())):Dt(t,(e,{action:t})=>o[e]=t==oo?void 0:s.get(e))),[n,o,1]})(n,t));return n.observeDeep(t),t},e=>{n.unobserveDeep(e)},s,1,{getYDoc:()=>t})},co=jt(e=>{const t=e._[0],a=t(),s=t(),n=Rt(),o=Rt(),r=Rt(),{_:[,i,l],delListener:c}=s,[u,g,w,h,y,f,b,v,,S,C,p,m,L]=Jt(e,()=>[],pe,i,l),E=(e,t,...a)=>ke(a,a=>Ft(Ot(Ot(n,t,Rt),e,Ht),a)),N=e=>{he(Et(n,e),e=>{Dt(e,(e,t)=>tt(t,t=>e.delListener(t))),et(e)}),ke([s,a],t=>t.delTable(e))},M=(e,t,a)=>E(t,e,t.addStartTransactionListener(a.startTransaction),t.addDidFinishTransactionListener(()=>a.finishTransaction())),$=(t,n,o,r={})=>{const i=H(t);var l;v(t,n),b(t,[o,(l=r,new Map(rt(l)))]),x(t,i,r),N(t);const[,c]=f(t),u=[],g=[[void 0,[n,void 0,void 0,[],Rt()]]],w=[],h=[],y=[];o({select:(e,t)=>{const a=be(e)?[Ce(u)+d,e]:[ce(t)?e:t,a=>a(e,t)];return Je(u,a),{as:e=>a[0]=e}},join:(e,t,a)=>{const s=ce(a)||be(t)?void 0:t,n=ce(s)?t:a,o=[e,[e,s,be(n)?n:e=>e(n),[],Rt()]];return Je(g,o),{as:e=>o[0]=e}},where:(e,t,a)=>Je(w,be(e)?e:ce(a)?a=>a(e)===t:s=>s(e,t)===a),group:(e,t,a,s,n)=>{const o=[e,[e,be(t)?[t,a,s,n]:Et(ns,t)??[(e,t)=>t]]];return Je(h,o),{as:e=>o[0]=e}},having:(e,t)=>Je(y,be(e)?e:a=>a(e)===t),param:e=>Et(c,e)});const S=Rt(u);if(Ke(S))return J;const C=Rt(g);Dt(C,(e,[,t])=>he(Et(C,t),({3:t})=>ce(e)?0:Je(t,e)));const p=Rt(h);let I=a;if(Ke(p)&&xe(y))I=s;else{M(t,I,s);const e=Rt();Dt(p,(t,[a,s])=>Ft(Ot(e,a,Ht),[t,s]));const a=Ht();Dt(S,t=>Xe(e,t)?0:Ft(a,t));const n=Rt(),o=(a,n,o,r)=>he(a,([i,l,c,d])=>{Dt(n,(t,[a])=>{const s=Ot(i,t,Rt),n=Et(s,o),l=r?void 0:a;if(n!==l){const a=Ht([[n,l]]),r=Be(s);Mt(s,o,l),tt(Et(e,t),([e,t])=>{const n=os(d[e],r,s,a,t);d[e]=ce(Na(n))?void 0:n})}}),Ke(l)||!Ne(y,e=>e(e=>d[e]))?s.delRow(t,c):ce(c)?a[2]=s.addRow(t,d):s.setRow(t,c,d)});E(I,t,I.addRowListener(t,null,(s,r,i,l)=>{const c=[],d=[],u=Rt(),g=I.hasRow(t,i);let w=!g;tt(a,e=>{const[a,s,n]=l(t,i,e);Je(c,s),Je(d,n),w||=a}),Dt(e,e=>{const[a,,s]=l(t,i,e);(w||a)&&Mt(u,e,[s])}),w&&o(Wt(n,c,void 0,([,e])=>(at(e,i),Ke(e))),u,i,1),g&&o(Wt(n,d,()=>{const e={};return tt(a,a=>e[a]=I.getCell(t,i,a)),[Rt(),Ht(),void 0,e]},([,e])=>{Ft(e,i)}),u,i)}))}M(t,e,I);const T=(a,s,o,r)=>{const i=t=>e.getCell(s,o,t);ke(r,s=>{const[n,,o,r,l]=Et(C,s),c=o?.(i,a),[d,u]=Et(l,a)??[];c!=d&&(ce(u)||L(t,u),Mt(l,a,ce(c)?void 0:[c,...m(t,1,e.addRowListener(n,c,()=>T(a,n,c,r)))]))}),(a=>{const s=(t,s)=>e.getCell(...ce(s)?[n,a,t]:t===n?[n,a,s]:[Et(C,t)?.[0],Et(Et(C,t)?.[4],a)?.[0],s]);I.transaction(()=>Ne(w,e=>e(s))?Dt(S,(e,n)=>I._[5](t,a,e,n(s,a))):I.delRow(t,a))})(a)},{3:R}=Et(C,void 0);return I.transaction(()=>m(t,1,e.addRowListener(n,null,(a,s,o)=>{e.hasRow(n,o)?T(o,n,o,R):(I.delRow(t,o),tt(C,({4:e})=>he(Et(e,o),([,a])=>{L(t,a),Mt(e,o)})))}))),J},x=(e,t,a)=>{const s=Ht([...lt(t),...lt(a)]);let n=0;tt(s,s=>{const o=gt(a,s);Oe(gt(t,s),o)||(n=1,l(r,[e,s],o))}),n&&l(o,[e],a)},W=(e,t,a=0)=>(he(f(e),([n,o])=>{!a&&pt(Pt(o),t,Oe)||s.transaction(()=>$(e,y(e),n,t))}),J),H=e=>Pt(f(e)?.[1]),F=(e,t)=>Et(f(e)?.[1],t),J={setQueryDefinition:$,delQueryDefinition:e=>{const t=H(e);return N(e),S(e),x(e,t,{}),J},getParamValues:H,getParamValue:F,setParamValues:W,setParamValue:(e,t,a)=>(Oe(F(e,t),a)||W(e,{...H(e),[t]:a},1),J),getStore:u,getQueryIds:g,forEachQuery:w,hasQuery:h,getTableId:y,addQueryIdsListener:e=>C(()=>e(J)),addParamValuesListener:(e,t)=>i((e,a,s)=>t(J,a,s),o,[e]),addParamValueListener:(e,t,a)=>i((e,t,s,n)=>a(J,t,s,n),r,[e,t]),delListener:e=>(c(e),J),destroy:p,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:a,...n}=s.getListenerStats();return{...n,paramValues:ze(o),paramValue:Qe(r)}}};return bt({[D]:[1,1],[D+V]:[0,1],[A]:[0,1],[P]:[0,1],[k]:[0,5],[O]:[1,2],[V]:[0,2],[_]:[1,3]},([e,t],a)=>{ke(e?["get","has","forEach"]:["get"],e=>J[e+T+a]=(...t)=>s[e+a](...t)),J[R+T+a+I]=(...e)=>s[R+a+I](...Se(e,0,t),(a,...s)=>e[t](J,...s),!0)}),ct(J)}),uo=jt(e=>{const t=Rt(),a=Rt(),s=Rt(),n=Rt(),[o,r,i]=Bt(()=>m),[l,c,u,g,w,h,,,y,f,b,v]=Jt(e,()=>[Rt(),Rt(),Rt(),Rt()],e=>ce(e)?void 0:e+d,o,r),S=(e,t,a)=>he(h(e),([s,,n])=>{if(!Xe(n,t)){const o=Ht();if(w(e)!=p(e))Ft(o,t);else{let e=t;for(;!ce(e)&&!Xe(o,e);)Ft(o,e),e=Et(s,e)}if(a)return o;Mt(n,t,o)}return Et(n,t)}),C=(e,t)=>he(h(e),([,,e])=>Mt(e,t)),p=e=>Et(t,e),m={setRelationshipDefinition:(e,o,i,l)=>(Mt(t,e,i),y(e,o,(t,o)=>{const i=Ht(),l=Ht(),c=Ht(),[d,u]=h(e);tt(o,([t,a],s)=>{ce(t)||(Ft(l,t),he(Et(u,t),e=>{at(e,s),Ke(e)&&Mt(u,t)})),ce(a)||(Ft(l,a),Xe(u,a)||Mt(u,a,Ht()),Ft(Et(u,a),s)),Ft(i,s),Mt(d,s,a),Dt(Et(n,e),t=>{Xe(S(e,t),s)&&Ft(c,t)})}),t(),tt(i,t=>r(a,[e,t])),tt(l,t=>r(s,[e,t])),tt(c,t=>{C(e,t),r(n,[e,t])})},Ut(l)),m),delRelationshipDefinition:e=>(Mt(t,e),f(e),m),getStore:l,getRelationshipIds:c,forEachRelationship:t=>u(a=>t(a,t=>e.forEachRow(w(a),t))),hasRelationship:g,getLocalTableId:w,getRemoteTableId:p,getRemoteRowId:(e,t)=>Et(h(e)?.[0],t),getLocalRowIds:(e,t)=>Ze(Et(h(e)?.[1],t)),getLinkedRowIds:(e,t)=>ce(h(e))?[t]:Ze(S(e,t,!0)),addRelationshipIdsListener:b,addRemoteRowIdListener:(e,t,s)=>o(s,a,[e,t]),addLocalRowIdsListener:(e,t,a)=>o(a,s,[e,t]),addLinkedRowIdsListener:(e,t,a)=>(S(e,t),o(a,n,[e,t])),delListener:e=>(C(...i(e)??[]),m),destroy:v,getListenerStats:()=>({remoteRowId:Qe(a),localRowIds:Qe(s),linkedRowIds:Qe(n)})};return ct(m)}),go={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},wo=(e,t,a,s,n,o,r,i,l={})=>{let c,u=0,g=0,w=0;const h=Rt(),y=()=>ea(11),f=(e,a,s,n)=>{g++,o?.(e,a,s,n),t(e,a,s,n)},b=async(e,t,a,s)=>Ie((o,r)=>{const i=s+"."+ea(4),l=ae(()=>{at(h,i),r(`No response from ${e??"anyone"} to ${i}, `+t)},n);Mt(h,i,[e,(e,t)=>{clearTimeout(l),at(h,i),o([e,t,s])}]),f(e,i,t,a)}),v=(e,[t,a])=>{yt(t,([t,a],s)=>{const n=mt(e[0],s,Ja);yt(t,([e,t],a)=>{const s=mt(n[0],a,Ja);yt(e,([e,t],a)=>s[0][a]=Va(e,t)),s[1]=Ha(s[1],t)}),n[1]=Ha(n[1],a)}),e[1]=Ha(e[1],a)},S=(t=null,a,s=y())=>Ee(async()=>{ce(a)&&([a,t,s]=await b(null,1,d,s));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=Ja();if(r!=n){const[a,n]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=a,!Ct(n)){const[a,o]=(await b(t,5,e.getMergeableRowHashes(n),s))[0];if(v(l,a),!Ct(o)){const a=(await b(t,6,e.getMergeableCellHashes(o),s))[0];v(l,a)}}}return[l,i==o?Ja():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=hs(e,async()=>{const e=await S();return!e||Ct(e[0][0])&&Ct(e[1][0])?void 0:e},async(t,a)=>a?f(null,y(),3,a):f(null,y(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(u=1,await C.startAutoPersisting(e)),stopSync:async()=>(u=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:g,receives:w}),...l},1);return a((t,a,s,n)=>{const o=u||C.isAutoLoading();w++,r?.(t,a,s,n),0==s?he(Et(h,a),([e,a])=>de(e)||e==t?a(n,t):0):2==s&&o?S(t,n,a??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&o?c?.(void 0,n):he(1==s&&(u||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{f(t,a,0,e)})}),C},ho=(e,t,a,s,n)=>{const o=ea(),r=new BroadcastChannel(t);return wo(e,(e,t,a,s)=>r.postMessage([o,e,t,a,s]),e=>{r.onmessage=({data:[t,a,s,n,r]})=>de(a)||a==o?e(t,s,n,r):0},()=>{r.close()},.01,a,s,n,{getChannelName:()=>t})},yo=Rt(),fo=(e,t,a,s)=>{const n=ea();return wo(e,(e,t,a,s)=>ae(()=>de(e)?Dt(yo,(e,o)=>e!=n?o(n,t,a,s):0):Et(yo,e)?.(n,t,a,s)),e=>{Mt(yo,n,e)},()=>{at(yo,n)},.01,t,a,s)},bo=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(Se(e,0,a),Se(e,a+1))},vo=(e,t)=>bo(e,(e,a)=>t(e,...oa(a))),So=(e,...t)=>Co(e??d,na(t)),Co=(e,t)=>e+"\n"+t,po=async(e,t,a=1,s,n,o)=>{const r=(e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),i=wo(e,(e,...a)=>t.send(So(e,...a)),e=>r(H,({data:t})=>vo(t.toString(m),e)),()=>{t.close()},a,s,n,o,{getWebSocket:()=>t});return Ie(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&o?.(t),a(),s(),e(i)},a=r("open",()=>t()),s=r(F,t)}else e(i)})},mo=/\/([^?]*)/,Io="S",To=e=>B(new URL(e.url).pathname,mo)?.[1]??d,Ro=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,Lo=(e,t=null,a=null)=>new Response(a,{status:e,webSocket:t}),Eo=()=>Lo(426,null,"Upgrade required");class Do extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await he(await this.createPersister(),async e=>{const t=wo(e.getStore(),(e,t,a,s)=>this.#t(Io,So(e,t,a,s)),e=>this.#e=t=>vo(t,e),me,1);await e.load(),await e.startAutoSave(),ae(t.startSync)}))}fetch(e){const t=To(e);return he(Ro(e),e=>{const[a,s]=vt(new WebSocketPair);return xe(this.#a())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(So(Io,null,1,d)),Lo(101,a)},Eo)}webSocketMessage(e,t){he(this.ctx.getTags(e)[0],a=>this.#t(a,t.toString(),e))}webSocketClose(e){const[t,a]=this.ctx.getTags(e);this.onClientId(a,t,-1),1==Ce(this.#a())&&this.onPathId(a,-1)}#t(e,t,a){bo(t.toString(),(t,s)=>{const n=Co(e,s);this.onMessage(e,t,s),t==d?(e!=Io&&this.#e?.(n),ke(this.#a(),e=>{e!=a&&e.send(n)})):t==Io?this.#e?.(n):t!=e&&this.#a(t)[0]?.send(n)})}#a(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#a()[0])?.[1]}getClientIds(){return Ve(this.#a(),e=>this.ctx.getTags(e)[0])}onPathId(e,t){}onClientId(e,t,a){}onMessage(e,t,a){}}const No=e=>(t,a)=>Ro(t)?a[e].get(a[e].idFromName(To(t))).fetch(t):Eo(),Mo=/\/([^?]*)/,Oo=e=>{const t=Rt();return e.on("connection",(e,a)=>he(B(a.url,Mo),([,s])=>he(a.headers["sec-websocket-key"],async a=>{const n=Ot(t,s,Rt);Mt(n,a,e),e.on(H,e=>bo(e.toString(m),(e,t)=>{const s=Co(a,t);e===d?Dt(n,(e,t)=>e!==a?t.send(s):0):Et(n,e)?.send(s)})),e.on("close",()=>{at(n,a),Ke(n)&&at(t,s)})}))),ct({getWebSocketServer:()=>e,destroy:async()=>{et(t),e.close()}})},Ao=/\/([^?]*)/,Po=(e,t,a)=>{const s=Rt(),n=Rt(),o=Rt(),r=Rt(),[i,l,c]=Bt(()=>w),u=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},g=(e,t,a)=>s=>bo(s,(s,n)=>{const o=Co(e,n);s===d?("S"!==e&&a[3]?.(o),Dt(t,(t,a)=>t!==e?a.send(o):0)):"S"===s?a[3]?.(o):Et(t,s)?.send(o)});e.on("connection",(e,i)=>he(B(i.url,Ao),([,c])=>he(i.headers["sec-websocket-key"],async i=>{const d=Ot(o,c,Rt),w=Ot(r,c,()=>[0]),h=g(i,d,w);Ke(d)&&(l(s,void 0,c,1),await(async(e,s,n)=>he(await(t?.(s)),t=>{e[0]=1,e[1]=ve(t)?t[0]:t;const s=g("S",n,e);e[2]=wo(e[1].getStore(),(e,t,a,n)=>s(So(e,t,a,n)),t=>e[3]=e=>vo(e,t),me,1,void 0,void 0,a),e[4]=[],e[5]=ve(t)?t[1]:e=>0}))(w,c,d)),Mt(d,i,e),l(n,[c],i,1),e.on(H,e=>{const t=e.toString(m);0==w[0]?h(t):Je(w[4],t)}),1==w[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(w),ke(w[4],h),w[4]=[]),e.on("close",async()=>{at(d,i),l(n,[c],i,-1),Ke(d)&&(await u(w),at(r,c),at(o,c),l(s,void 0,c,-1))}),a&&e.on(F,a)}))),a&&e.on(F,a);const w={getWebSocketServer:()=>e,getPathIds:()=>Lt(o),getClientIds:e=>Lt(Et(o,e)),addPathIdsListener:e=>i(e,s),addClientIdsListener:(e,t)=>i(t,n,[e]),delListener:e=>(c(e),w),getStats:()=>({paths:Be(o),clients:ze(o)}),destroy:async()=>{et(o),await Te(Nt(r,u)),e.close()}};return ct(w)};export{go as Message,us as Persists,ds as Status,qn as TinyBasePartyKitServer,Do as WsServerDurableObject,ca as addOrRemoveHash,Jn as broadcastChanges,yn as createAutomergePersister,ho as createBroadcastChannelSynchronizer,zt as createCheckpoints,pn as createCrSqliteWasmPersister,hs as createCustomPersister,un as createCustomPostgreSqlPersister,gn as createCustomSqlitePersister,wo as createCustomSynchronizer,In as createDurableObjectStoragePersister,Tn as createElectricSqlPersister,Rn as createExpoSqlitePersister,Ln as createFilePersister,On as createIndexedDbPersister,Da as createIndexes,An as createLibSqlPersister,vn as createLocalPersister,fo as createLocalSynchronizer,ss as createMergeableStore,rs as createMetrics,cs as createMiddleware,Cn as createOpfsPersister,$n as createPartyKitPersister,Bn as createPglitePersister,zn as createPostgresPersister,Qn as createPowerSyncPersister,co as createQueries,Xn as createReactNativeMmkvPersister,Kn as createReactNativeSqlitePersister,uo as createRelationships,eo as createRemotePersister,Sn as createSessionPersister,no as createSqlite3Persister,to as createSqliteBunPersister,ao as createSqliteWasmPersister,es as createStore,Po as createWsServer,Oo as createWsServerSimple,po as createWsSynchronizer,lo as createYjsPersister,Ea as defaultSorter,wa as getCellHash,ha as getCellInRowHash,la as getHash,La as getHlcFunctions,ya as getRowHash,fa as getRowInTableHash,ba as getTableHash,va as getTableInTablesHash,Sa as getTablesHash,ea as getUniqueId,ga as getValueHash,ua as getValueInValuesHash,da as getValuesHash,No as getWsServerDurableObjectFetch,Hn as hasStoreInStorage,Fn as loadStoreFromStorage,Nn as objectStoreMatch};
|
|
1
|
+
import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as a,watch as s}from"fs";import{writeFile as n,readFile as o}from"fs/promises";import{Map as r}from"yjs";import{DurableObject as i}from"cloudflare:workers";const l=e=>typeof e,c="tinybase",d="",u=",",g=l(d),w=l(!0),h=l(0),y=l(l),f="object",b="array",v="true",S="type",C="default",p="allowNull",m="utf8",T="Listener",I="Result",R="add",L="Has",E="Ids",D="Table",N=D+"s",M=D+E,O="Row",A=O+"Count",P=O+E,k="Sorted"+O+E,_="Cell",V=_+E,$="Value",x=$+"s",W=$+E,H="message",F="error",J="t",U="v",j=e=>d+e,G=(e,t)=>e.startsWith(t),q=(e,t)=>e.endsWith(t),B=(e,t)=>e?.match(t),z=(e,t=d,a)=>e.split(t,a),Q=(e,t,a)=>e.replace(t,a),Y=Promise,X=e=>(t,a,s)=>e(t)?s?.():a(t),K=globalThis,Z=K.window,ee=(e,t,a)=>setInterval(e,1e3*t),te=clearInterval,ae=(e,t=0)=>setTimeout(e,1e3*t),se=Math,ne=se.max,oe=se.min,re=se.floor,ie=isFinite,le=e=>null==e,ce=e=>void 0===e,de=e=>null===e,ue=e=>!0===e,ge=e=>!1===e,we=X(le),he=X(ce),ye=e=>e==g||e==w,fe=e=>l(e)==g,be=e=>l(e)==y,ve=e=>Array.isArray(e),Se=(e,t,a)=>e.slice(t,a),Ce=e=>e.length,pe=()=>{},me=()=>{},Te=e=>new Y(e),Ie=async e=>Y.all(e),Re=K.structuredClone,Le=e=>{throw Error(e)},Ee=async(e,t,a)=>{try{return await e()}catch(e){t?.(e)}},De=(e,t)=>e.includes(t),Ne=(e,t)=>e.every(t),Me=(e,t)=>Ce(e)===Ce(t)&&Ne(e,(e,a)=>t[a]===e),Oe=(e,t)=>ve(e)&&ve(t)?Me(e,t):e===t,Ae=(e,t)=>Ne(e,(a,s)=>0==s||t(e[s-1],a)<=0),Pe=(e,t)=>e.sort(t),ke=(e,t)=>e.forEach(t),_e=(e,t=d)=>e.join(t),Ve=(e,t)=>e.map(t),$e=e=>We(e,(e,t)=>e+t,0),xe=e=>0==Ce(e),We=(e,t,a)=>e.reduce(t,a),He=(e,t)=>e.filter(t),Fe=(e,t)=>e.splice(0,t),Je=(e,...t)=>e.push(...t),Ue=e=>e.pop(),je=(e,...t)=>e.unshift(...t),Ge=e=>e.shift(),qe=e=>t=>We(Ze(t),(t,a)=>t+e(a),0),Be=e=>e?.size??0,ze=qe(Be),Qe=qe(ze),Ye=qe(Qe),Xe=(e,t)=>e?.has(t)??!1,Ke=e=>ce(e)||0==Be(e),Ze=e=>[...e?.values()??[]],et=e=>e.clear(),tt=(e,t)=>e?.forEach(t),at=(e,t)=>e?.delete(t),st=Object,nt=e=>st.getPrototypeOf(e),ot=st.isFrozen,rt=st.entries,it=e=>!le(e)&&we(nt(e),e=>e==st.prototype||le(nt(e)),()=>!0),lt=st.keys,ct=st.freeze,dt=(e=[])=>st.fromEntries(e),ut=(...e)=>st.assign({},...e),gt=(e,t)=>he(e,e=>e[t]),wt=(e,t)=>t in e,ht=(e,t)=>(delete e[t],e),yt=(e,t)=>ke(rt(e),([e,a])=>t(a,e)),ft=(e,t)=>Ve(rt(e),([e,a])=>t(a,e)),bt=(e,t)=>dt(ft(e,(e,a)=>[a,t(e,a)])),vt=e=>st.values(e),St=e=>Ce(lt(e)),Ct=e=>it(e)&&0==St(e),pt=(e,t,a=(e,t)=>e===t)=>{const s=rt(e);return Ce(s)===St(t)&&Ne(s,([e,s])=>it(s)?!!it(t[e])&&pt(t[e],s,a):a(s,t[e]))},mt=(e,t,a)=>(wt(e,t)||(e[t]=a()),e[t]),Tt=(e,t,a,s=0)=>le(e)||!it(e)||!s&&Ct(e)||ot(e)?(a?.(),!1):(yt(e,(a,s)=>{t(a,s)||ht(e,s)}),!!s||!Ct(e)),It=Map,Rt=e=>new It(e),Lt=e=>[...e?.keys()??[]],Et=(e,t)=>e?.get(t),Dt=(e,t)=>tt(e,(e,a)=>t(a,e)),Nt=(e,t)=>Ve([...e?.entries()??[]],([e,a])=>t(a,e)),Mt=(e,t,a)=>ce(a)?(at(e,t),e):e?.set(t,a),Ot=(e,t,a,s)=>(Xe(e,t)?s?.(Et(e,t)):Mt(e,t,a()),Et(e,t)),At=(e,t,a,s=Mt)=>(bt(t,(t,s)=>a(e,s,t)),Dt(e,a=>wt(t,a)?0:s(e,a)),e),Pt=(e,t,a,s)=>{const n={};return tt(e,(e,o)=>{if(!a?.(e,o)){const a=t?t(e,o):e;s?.(a)||(n[o]=a)}}),n},kt=(e,t,a)=>Pt(e,e=>Pt(e,t,a),Ke,Ct),_t=(e,t,a)=>Pt(e,e=>kt(e,t,a),Ke,Ct),Vt=(e,t)=>{const a=Rt();return tt(e,(e,s)=>a.set(s,t?.(e)??e)),a},$t=e=>Vt(e,Vt),xt=e=>Vt(e,$t),Wt=(e,t,a,s,n=0)=>he((a?Ot:Et)(e,t[n],n>Ce(t)-2?a:Rt),o=>{if(n>Ce(t)-2)return s?.(o)&&Mt(e,t[n]),o;const r=Wt(o,t,a,s,n+1);return Ke(o)&&Mt(e,t[n]),r}),Ht=e=>new Set(ve(e)||ce(e)?e:[e]),Ft=(e,t)=>e?.add(t),Jt=(e,t,a,s,n)=>{const o=e.hasRow,r=Rt(),i=Rt(),l=Rt(),c=Rt(),d=Rt(),u=Rt(),g=(t,a,...s)=>{const n=Ot(u,t,Ht);return ke(s,t=>Ft(n,t)&&a&&e.callListener(t)),s},w=(t,...a)=>he(Et(u,t),s=>{ke(xe(a)?Ze(s):a,t=>{e.delListener(t),at(s,t)}),Ke(s)&&Mt(u,t)}),h=(e,a)=>{Mt(r,e,a),Xe(i,e)||(Mt(i,e,t()),Mt(c,e,Rt()),Mt(d,e,Rt()),n(l))},y=e=>{Mt(r,e),Mt(i,e),Mt(c,e),Mt(d,e),w(e),n(l)};return[()=>e,()=>Lt(r),e=>Dt(i,e),e=>Xe(i,e),e=>Et(r,e),e=>Et(i,e),(e,t)=>Mt(i,e,t),h,(t,s,n,r,i)=>{h(t,s);const l=Rt(),u=Rt(),y=Et(c,t),f=Et(d,t),b=t=>{const n=a=>e.getCell(s,t,a),c=Et(y,t),d=o(s,t)?a(r(n,t)):void 0;if(c===d||ve(c)&&ve(d)&&Me(c,d)||Mt(l,t,[c,d]),!ce(i)){const e=Et(f,t),a=o(s,t)?i(n,t):void 0;e!=a&&Mt(u,t,a)}},v=e=>{n(()=>{tt(l,([,e],t)=>Mt(y,t,e)),tt(u,(e,t)=>Mt(f,t,e))},l,u,y,f,e),et(l),et(u)};Dt(y,b),e.hasTable(s)&&ke(e.getRowIds(s),e=>{Xe(y,e)||b(e)}),v(!0),w(t),g(t,0,e.addRowListener(s,null,(e,t,a)=>b(a)),e.addTableListener(s,()=>v()))},y,e=>s(e,l),()=>Dt(u,y),g,w]},Ut=(e,t)=>fe(e)?t=>t(e):e??(()=>t??d),jt=(e,t)=>{const a=new WeakMap;return s=>{a.has(s)||a.set(s,e(s));const n=a.get(s);return t?.(n),n}},Gt=/^\d+$/,qt=()=>{const e=[];let t=0;return[a=>(a?Ge(e):null)??d+t++,t=>{Gt.test(t)&&Ce(e)<1e3&&Je(e,t)}]},Bt=e=>{let t;const[a,s]=qt(),n=Rt();return[(s,o,r,i=[],l=()=>[])=>{t??=e();const c=a(1);return Mt(n,c,[s,o,r,i,l]),Ft(Wt(o,r??[d],Ht),c),c},(e,a,...s)=>ke(((e,t=[d])=>{const a=[],s=(e,n)=>n==Ce(t)?Je(a,e):de(t[n])?tt(e,e=>s(e,n+1)):ke([t[n],null],t=>s(Et(e,t),n+1));return s(e,0),a})(e,a),e=>tt(e,e=>Et(n,e)[0](t,...a??[],...s))),e=>he(Et(n,e),([,t,a])=>(Wt(t,a??[d],void 0,t=>(at(t,e),Ke(t)?1:0)),Mt(n,e),s(e),a)),e=>he(Et(n,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=Ce(r);i==Ce(a)?e(t,...r,...n(r)):de(a[i])?ke(s[i]?.(...r)??[],e=>o(...r,e)):o(...r,a[i])};o()})]},zt=jt(e=>{let t,a,s,n=100,o=Rt(),r=Rt(),i=1;const l=Rt(),c=Rt(),[u,g,w]=Bt(()=>P),h=Rt(),y=Rt(),f=[],b=[],v=(t,a)=>{i=0,e.transaction(()=>{const[s,n]=Et(h,a);tt(s,(a,s)=>tt(a,(a,n)=>tt(a,(a,o)=>e._[5](s,n,o,a[t],!0)))),tt(n,(a,s)=>e._[6](s,a[t],!0))}),i=1},S=e=>{Mt(h,e),Mt(y,e),g(c,[e])},C=(e,t)=>ke(Fe(e,t??Ce(e)),S),p=()=>C(f,Ce(f)-n),m=()=>he(t,()=>{Je(f,t),p(),C(b),t=void 0,s=1}),T=()=>{t=Ue(f),s=1};let I,R;const L=(e=d)=>(ce(t)&&(t=d+a++,Mt(h,t,[o,r]),O(t,e),o=Rt(),r=Rt(),s=1),t),E=()=>{xe(f)||(je(b,L()),v(0,t),t=Ue(f),s=1)},D=()=>{xe(b)||(Je(f,t),t=Ge(b),v(1,t),s=1)},N=()=>{s&&(g(l),s=0)},M=e=>{const t=L(e);return N(),t},O=(e,t)=>(A(e)&&Et(y,e)!==t&&(Mt(y,e,t),g(c,[e])),P),A=e=>Xe(h,e),P={setSize:e=>(n=e,p(),P),addCheckpoint:M,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...f],t,[...b]],forEachCheckpoint:e=>Dt(y,e),hasCheckpoint:A,getCheckpoint:e=>Et(y,e),goBackward:()=>(E(),N(),P),goForward:()=>(D(),N(),P),goTo:e=>{const a=De(f,e)?E:De(b,e)?D:void 0;for(;!ce(a)&&e!=t;)a();return N(),P},addCheckpointIdsListener:e=>u(e,l),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(w(e),P),clear:()=>(C(f),C(b),ce(t)||S(t),t=void 0,a=0,M(),P),clearForward:()=>(xe(b)||(C(b),g(l)),P),destroy:()=>{e.delListener(I),e.delListener(R)},getListenerStats:()=>({checkpointIds:ze(l),checkpoint:ze(c)}),_registerListeners:()=>{I=e.addCellListener(null,null,null,(e,t,a,s,n,r)=>{if(i){m();const e=Ot(o,t,Rt),i=Ot(e,a,Rt),l=Ot(i,s,()=>[r,void 0]);l[1]=n,l[0]===n&&Ke(Mt(i,s))&&Ke(Mt(e,a))&&Ke(Mt(o,t))&&T(),N()}}),R=e.addValueListener(null,(e,t,a,s)=>{if(i){m();const e=Ot(r,t,()=>[s,void 0]);e[1]=a,e[0]===a&&Ke(Mt(r,t))&&T(),N()}})}};return ct(P.clear())},e=>e._registerListeners()),Qt=z("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Yt=Rt(Ve(Qt,(e,t)=>[e,t])),Xt=e=>Qt[63&e],Kt=(e,t)=>Et(Yt,e[t])??0,Zt=K.crypto?e=>K.crypto.getRandomValues(e):e=>Ve(e,()=>re(256*se.random())),ea=(e=16)=>We(Zt(new Uint8Array(e)),(e,t)=>e+Xt(t),d),ta=JSON.stringify,aa=JSON.parse,sa=e=>ta(e,(e,t)=>t instanceof Map?st.fromEntries([...t]):t),na=e=>ta(e,(e,t)=>ce(t)?"":t),oa=e=>ra(aa(e)),ra=e=>""===e?void 0:ve(e)?Ve(e,ra):it(e)?bt(e,ra):e,ia=new K.TextEncoder,la=e=>{let t=2166136261;return ke(ia.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},ca=(e,t)=>(e^t)>>>0,da=e=>We(rt(e),(e,[t,a])=>ca(e,ua(t,a)^ua(t,0)),0),ua=(e,t)=>la(e+":"+t),ga=(e,t)=>la(sa(e??null)+":"+t),wa=ga,ha=ua,ya=da,fa=ua,ba=e=>We(rt(e),(e,[t,a])=>ca(e,ua(t,a)),0),va=ua,Sa=ba,Ca=2**36,pa=2**30,ma=2**24,Ta=2**18,Ia=4096,Ra=e=>{const t=la(e);return Xt(t/ma)+Xt(t/Ta)+Xt(t/Ia)+Xt(t/64)+Xt(t)},La=(e,t=Date.now)=>{let a=0,s=-1;const n=he(e,Ra,()=>ea(5)),o=e=>{const n=a,[o,r]=ce(e)||""==e?[0,0]:i(e);a=ne(n,o,t()),s=a==n?a==o?ne(s,r):s:a==o?r:-1},r=(e,t,a)=>Xt(e/Ca)+Xt(e/pa)+Xt(e/ma)+Xt(e/Ta)+Xt(e/Ia)+Xt(e/64)+Xt(e)+Xt(t/Ta)+Xt(t/Ia)+Xt(t/64)+Xt(t)+(ce(a)?n:Ra(a)),i=e=>[Kt(e,0)*Ca+Kt(e,1)*pa+Kt(e,2)*ma+Kt(e,3)*Ta+Kt(e,4)*Ia+64*Kt(e,5)+Kt(e,6),Kt(e,7)*Ta+Kt(e,8)*Ia+64*Kt(e,9)+Kt(e,10),e.slice(11)];return[()=>(o(),r(a,++s)),o,r,i,()=>a,()=>s,()=>n]},Ea=(e,t)=>(e??0)<(t??0)?-1:1,Da=jt(e=>{const t=Rt(),a=Rt(),[s,n,o]=Bt(()=>S),[r,i,l,c,u,g,w,,h,y,f,b]=Jt(e,Rt,e=>ce(e)?d:ve(e)?Ve(e,j):j(e),s,n),v=(t,a,s)=>{const n=u(t);tt(s,(t,s)=>a(s,a=>tt(t,t=>a(t,a=>e.forEachCell(n,t,a)))))},S={setIndexDefinition:(e,s,o,r,i,l=Ea)=>{const c=ce(i)?void 0:([e],[t])=>i(e,t);return h(e,s,(s,o,i,d,u,h)=>{let y=0;const f=Ht(),b=Ht(),v=g(e);if(tt(o,([e,t],a)=>{const s=Ht(e),n=Ht(t);tt(s,e=>at(n,e)?at(s,e):0),tt(s,e=>{Ft(f,e),he(Et(v,e),t=>{at(t,a),Ke(t)&&(Mt(v,e),y=1)})}),tt(n,e=>{Ft(f,e),Xe(v,e)||(Mt(v,e,Ht()),y=1),Ft(Et(v,e),a),ce(r)||Ft(b,e)})}),s(),Ke(u)||(h?Dt(v,e=>Ft(b,e)):Dt(i,e=>he(Et(d,e),e=>ke(ve(e)?e:[e],e=>Ft(b,e)))),tt(b,e=>{const t=(t,a)=>l(Et(u,t),Et(u,a),e),a=[...Et(v,e)];Ae(a,t)||(Mt(v,e,Ht(Pe(a,t))),Ft(f,e))})),(y||h)&&!ce(c)){const t=[...v];Ae(t,c)||(w(e,Rt(Pe(t,c))),y=1)}y&&n(t,[e]),tt(f,t=>n(a,[e,t]))},Ut(o),he(r,Ut)),S},delIndexDefinition:e=>(y(e),S),getStore:r,getIndexIds:i,forEachIndex:e=>l((t,a)=>e(t,e=>v(t,e,a))),forEachSlice:(e,t)=>v(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Xe(g(e),t),getTableId:u,getSliceIds:e=>Lt(g(e)),getSliceRowIds:(e,t)=>Ze(Et(g(e),t)),addIndexIdsListener:f,addSliceIdsListener:(e,a)=>s(a,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,a,[e,t]),delListener:e=>(o(e),S),destroy:b,getListenerStats:()=>({sliceIds:ze(t),sliceRowIds:Qe(a)})};return ct(S)}),Na=e=>{if(de(e))return"null";if(ve(e))return b;if(it(e))return f;const t=l(e);return ye(t)||t==h&&ie(e)?t:void 0},Ma=e=>ce(e)||!ce(Na(e)),Oa=e=>e==f||e==b,Aa=e=>it(e)||ve(e)?"�"+ta(e):e,Pa=e=>fe(e)&&"�"==e[0],ka=(e,t,a)=>!a&&Pa(e)?aa(Se(e,1)):e,_a=([e,t])=>Va(e,t),Va=(e,t)=>t?[e,t]:[e],$a=(e,t,a)=>[e,t,a],xa=e=>e[2],Wa=(e,t)=>t>e?(e?la(e):0)^la(t):0,Ha=(e,t)=>((e??"")>(t??"")?e:t)??"",Fa=(e,t,a)=>{t>e[1]&&(e[1]=t),e[2]=a>>>0},Ja=(e=d)=>Va(dt(),e),Ua=(e=d)=>[Rt(),e,0],ja=([e,t,a],s)=>[Pt(e,s),t,a],Ga=([e,t],a=_a)=>Va(Pt(e,a),t),qa=(e,t)=>ve(e)&&3==Ce(e)&&fe(e[1])&&l(e[2])==h&&ie(e[2])&&t(e[0]),Ba=e=>[e,e],za=(e,t=ze)=>t(e[0])+t(e[1]),Qa=()=>[Rt(),Rt()],Ya=e=>[...e],Xa=([e,t])=>e===t,Ka=(e,t,a)=>Mt(e,t,Et(e,t)==-a?void 0:a),Za=([e,t],[a,s])=>pt(e,a)&&pt(t,s),es=()=>{let e,t,a=!1,s=!1,n=0,o=[],r=[],i=0;const l=Rt(),c=Rt(),d=Rt(),u=Rt(),g=Rt(),w=Rt(),y=Rt(),f=Rt(),b=Rt(),v=Rt(),m=Rt(),I=Rt(),E=Rt(),k=Rt(),H=Ht(),F=Rt(),J=Rt(),U=Rt(),G=Rt(),q=Qa(),B=Qa(),z=Qa(),Q=Qa(),Y=Qa(),X=Qa(),K=Qa(),Z=Qa(),ee=Qa(),te=Qa(),ae=Qa(),se=Qa(),ne=Qa(),oe=Qa(),re=Qa(),ie=Qa(),le=Qa(),ue=Qa(),ge=Qa(),we=Qa(),fe=Qa(),Ce=Qa(),pe=Rt(),me=Qa(),[Te,Ie,Le,Ne]=Bt(()=>is),Oe=e=>{const t=i;i=1;const a=e();return i=t,a},Ae=(e,t,a,s=Object.is)=>he(t(),t=>e===t||s(e,t)?a(t):Oe(()=>a(t))),_e=e=>{if(!Tt(e,(e,t)=>De([S,C,p],t)))return!1;const t=e[S];if(!ye(t)&&t!=h&&!Oa(t))return!1;const a=e[C];return!(de(a)&&!e[p]||(de(a)||(Na(a)!=t?ht(e,C):e[C]=Aa(a)),0))},$e=ve,xe=(t,a)=>(!e||Xe(m,a)||Xt(a))&&Tt(t,(e,t)=>We(a,t,e),()=>Xt(a)),We=(e,t,a,s)=>Tt(s?a:je(a,e,t),(s,n)=>he(He(e,t,n,s),e=>(a[n]=e,!0),()=>!1),()=>Xt(e,t)),He=(t,a,s,n)=>e?he(Et(Et(m,t),s),e=>de(n)?e[p]?n:Xt(t,a,s,n,e[C]):Na(n)===e[S]?Aa(n):Oa(e[S])&&Pa(n)?n:Xt(t,a,s,n,e[C]),()=>Xt(t,a,s,n)):ce(Na(n))?Xt(t,a,s,n):Aa(n),Fe=(e,t)=>Tt(t?e:Ge(e),(t,a)=>he(Ue(a,t),t=>(e[a]=t,!0),()=>!1),()=>Kt()),Ue=(e,a)=>t?he(Et(E,e),t=>de(a)?t[p]?a:Kt(e,a,t[C]):Na(a)===t[S]?Aa(a):Oa(t[S])&&Pa(a)?a:Kt(e,a,t[C]),()=>Kt(e,a)):ce(Na(a))?Kt(e,a):Aa(a),je=(e,t,a)=>(he(Et(I,t),([s,n])=>{tt(s,(t,a)=>{wt(e,a)||(e[a]=t)}),tt(n,s=>{wt(e,s)||Xt(t,a,s)})}),e),Ge=e=>(t&&(tt(k,(t,a)=>{wt(e,a)||(e[a]=t)}),tt(H,t=>{wt(e,t)||Kt(t)})),e),qe=e=>At(m,e,(e,t,a)=>{const s=Rt(),n=Ht();At(Ot(m,t,Rt),a,(e,t,a)=>{Mt(e,t,a),he(a[C],e=>Mt(s,t,e),()=>Ft(n,t))}),Mt(I,t,[s,n])},(e,t)=>{Mt(m,t),Mt(I,t)}),Ze=e=>At(E,e,(e,t,a)=>{Mt(E,t,a),he(a[C],e=>Mt(k,t,e),()=>Ft(H,t))},(e,t)=>{Mt(E,t),Mt(k,t),at(H,t)}),st=e=>Ct(e)?Ja():_a(e),nt=(e,t,a,s,n,o)=>ce(s)?Ga(e,t,a,!0,n):Va(e,t,a,s,n,o),ot=e=>Ct(e)?qa():$a(e),rt=(e,t,a)=>ce(t)?ts(e,a):xa(e,t,a),lt=(e,t)=>Ae(e,()=>t?e:he(o[1],t=>Oe(()=>t(Re(e))),()=>e),e=>At(U,e,(e,t,a)=>dt(t,a),(e,t)=>mt(t)),pt),dt=(e,t,a)=>Ae(t,()=>a?t:he(o[2],a=>Oe(()=>a(e,Re(t))),()=>t),t=>At(Ot(U,e,()=>(Ut(e,1),Mt(F,e,qt()),Mt(J,e,Rt()),Rt())),t,(t,a,s)=>ut(e,t,a,s),(t,a)=>It(e,t,a)),pt),ut=(e,t,a,s,n)=>Ae(s,()=>n?s:he(o[3],t=>Oe(()=>t(e,a,Re(s))),()=>s),s=>At(Ot(t,a,()=>(jt(e,a,1),Rt())),s,(t,s,n)=>gt(e,a,t,s,n),(s,o)=>Wt(e,t,a,s,o,n)),pt),gt=(e,t,a,s,n,r)=>Ae(n,()=>he(r?void 0:o[4],a=>Oe(()=>a(e,t,s,n)),()=>n),n=>{Xe(a,s)||Gt(e,t,s,1);const o=Et(a,s);n!==o&&(zt(e,t,s,o,n),Mt(a,s,n))}),yt=(e,t,a,s,n,o)=>he(Et(t,a),t=>gt(e,a,t,s,n,o),()=>{const r=Rt();Mt(t,a,r),jt(e,a,1),bt(je({[s]:n},e,a),(t,s)=>gt(e,a,r,s,t,o))}),ft=(e,t)=>Ae(e,()=>t?e:he(o[5],t=>Oe(()=>t(Re(e))),()=>e),e=>At(G,e,(e,t,a)=>vt(t,a),(e,t)=>Jt(t)),pt),vt=(e,t,a)=>Ae(t,()=>he(a?void 0:o[6],a=>Oe(()=>a(e,t)),()=>t),t=>{Xe(G,e)||Qt(e,1);const a=Et(G,e);t!==a&&(Yt(e,a,t),Mt(G,e,t))}),St=e=>Ot(U,e,()=>(Ut(e,1),Mt(F,e,qt()),Mt(J,e,Rt()),Rt())),mt=e=>Oe(()=>o[8]?.(e))??1?dt(e,{},!0):Et(U,e),It=(e,t,a)=>{if(Oe(()=>o[9]?.(e,a))??1){const[,s]=Et(F,e);s(a),ut(e,t,a,{},!0)}},Wt=(e,t,a,s,n,r,i)=>{const l=Et(Et(I,e)?.[0],n);if(!ce(l)&&!r)return gt(e,a,s,n,l);if(i||(Oe(()=>o[10]?.(e,a,n))??1)){const o=t=>{zt(e,a,t,Et(s,t)),Gt(e,a,t,-1),Mt(s,t)};ce(l)?o(n):Dt(s,o),Ke(s)&&(jt(e,a,-1),Ke(Mt(t,a))&&(Ut(e,-1),Mt(U,e),Mt(F,e),Mt(J,e)))}},Jt=(e,t)=>{const a=Et(k,e);if(!ce(a))return vt(e,a);(t||(Oe(()=>o[12]?.(e))??1))&&(Yt(e,Et(G,e)),Qt(e,-1),Mt(G,e))},Ut=(e,t)=>Ka(l,e,t),jt=(e,t,a)=>Ka(Ot(u,e,Rt),t,a)&&Mt(d,e,Ot(d,e,()=>0)+a),Gt=(e,t,a,s)=>{const n=Et(J,e),o=Et(n,a)??0;(0==o&&1==s||1==o&&-1==s)&&Ka(Ot(c,e,Rt),a,s),Mt(n,a,o!=-s?o+s:void 0),Ka(Ot(Ot(g,e,Rt),t,Rt),a,s)},zt=(e,t,a,s,n)=>{Ot(Ot(Ot(w,e,Rt),t,Rt),a,()=>[s,0])[1]=n,r[3]?.(e,t,a,n,i)},Qt=(e,t)=>Ka(y,e,t),Yt=(e,t,a)=>{Ot(f,e,()=>[t,0])[1]=a,r[4]?.(e,a,i)},Xt=(e,t,a,s,n)=>(Je(Ot(Ot(Ot(b,e,Rt),t,Rt),a,()=>[]),s),n),Kt=(e,t,a)=>(Je(Ot(v,e,()=>[]),t),a),Zt=(e,t,a)=>he(Et(Et(Et(w,e),t),a),([e,t])=>[!0,ka(e),ka(t)],()=>[!1,...Ba(va(e,t,a))]),ea=e=>he(Et(f,e),([e,t])=>[!0,ka(e),ka(t)],()=>[!1,...Ba(pa(e))]),ta=e=>Ke(b)||Ke(ie[e])?0:tt(e?xt(b):b,(t,a)=>tt(t,(t,s)=>tt(t,(t,n)=>Ie(ie[e],[a,s,n],t)))),na=e=>Ke(v)||Ke(le[e])?0:tt(e?Vt(v):v,(t,a)=>Ie(le[e],[a],t)),oa=(e,t,a,s)=>{if(!Ke(e))return Ie(t,s,()=>Pt(e)),Dt(e,(e,t)=>Ie(a,[...s??[],e],1==t)),1},ra=e=>{const t=!Ke(q[e]),s=!Ke(te[e]),n=!(Ke(ne[e])&&Ke(oe[e])&&Ke(ee[e])&&Ke(ae[e])&&Ke(X[e])&&Ke(K[e])&&Ke(Z[e])&&!s&&Ke(z[e])&&Ke(Q[e])),o=!(Ke(re[e])&&Ke(se[e])&&Ke(Y[e])&&Ke(B[e]));if(t||n||o){const i=e?[Vt(l),$t(c),Vt(d),$t(u),xt(g),(r=w,Vt(r,e=>Vt(e,e=>Vt(e,Ya))))]:[l,c,d,u,g,w];if(t){const t=ma();t!=a&&Ie(q[e],void 0,t)}if(n){oa(i[0],z[e],Q[e]),tt(i[1],(t,a)=>oa(t,X[e],K[e],[a])),tt(i[2],(t,a)=>{0!=t&&Ie(Z[e],[a],ha(a))});const t=Ht();tt(i[3],(a,n)=>{oa(a,ee[e],ae[e],[n])&&s&&(Ie(te[e],[n,null]),Ft(t,n))}),s&&tt(i[5],(a,s)=>{if(!Xe(t,s)){const t=Ht();tt(a,e=>tt(e,([a,s],n)=>s!==a?Ft(t,n):at(e,n))),tt(t,t=>Ie(te[e],[s,t]))}}),tt(i[4],(t,a)=>tt(t,(t,s)=>oa(t,ne[e],oe[e],[a,s])))}if(o){let t;tt(i[5],(a,s)=>{let n;tt(a,(a,o)=>{let r;tt(a,([a,i],l)=>{i!==a&&(Ie(re[e],[s,o,l],ka(i),ka(a),Zt),t=n=r=1)}),r&&Ie(se[e],[s,o],Zt)}),n&&Ie(Y[e],[s],Zt)}),t&&Ie(B[e],void 0,Zt)}}var r},ia=e=>{const t=!Ke(ue[e]),a=!Ke(we[e])||!Ke(fe[e]),n=!Ke(Ce[e])||!Ke(ge[e]);if(t||a||n){const o=e?[Vt(y),Vt(f,Ya)]:[y,f];if(t){const t=Da();t!=s&&Ie(ue[e],void 0,t)}if(a&&oa(o[0],we[e],fe[e]),n){let t;tt(o[1],([a,s],n)=>{s!==a&&(Ie(Ce[e],[n],ka(s),ka(a),ea),t=1)}),t&&Ie(ge[e],void 0,ea)}}},la=(e,...t)=>(ns(()=>e(...Ve(t,j))),is),ca=(e,t,a,s,n)=>{let o=fa(e,t,...a);return Te(()=>{const n=fa(e,t,...a);Me(n,o)||(o=n,s(is,e,t,...a,o))},te[n?1:0],[e,t],[ga])},da=(e=!1)=>[Pt(w,(t,a)=>-1===Et(l,a)?void 0:Pt(t,(t,s)=>-1===Et(Et(u,a),s)?void 0:Pt(t,([,t])=>ka(t,0,e),e=>Xa(e)),Ke,Ct),Ke,Ct),Pt(f,([,t])=>ka(t,0,e),e=>Xa(e)),1],ua=()=>_t(U,ka),ga=()=>Lt(U),wa=e=>Lt(Et(J,j(e))),ha=e=>Be(Et(U,j(e))),ya=e=>Lt(Et(U,j(e))),fa=(e,t,a,s=0,n)=>it(e)?fa(e.tableId,e.cellId,e.descending,e.offset,e.limit):Ve(Se(Pe(Nt(Et(U,j(e)),(e,a)=>[ce(t)?a:Et(e,j(t)),a]),([e],[t])=>Ea(e,t)*(a?-1:1)),s,ce(n)?n:s+n),([,e])=>e),ba=(e,t)=>Lt(Et(Et(U,j(e)),j(t))),va=(e,t,a)=>ka(Et(Et(Et(U,j(e)),j(t)),j(a))),Sa=()=>Pt(G,ka),Ca=()=>Lt(G),pa=e=>ka(Et(G,j(e))),ma=()=>!Ke(U),Ta=e=>Xe(U,j(e)),Ia=(e,t)=>Xe(Et(J,j(e)),j(t)),Ra=(e,t)=>Xe(Et(U,j(e)),j(t)),La=(e,t,a)=>Xe(Et(Et(U,j(e)),j(t)),j(a)),Da=()=>!Ke(G),Ma=e=>Xe(G,j(e)),_a=e=>la(()=>(e=>Tt(e,xe,Xt))(e)?lt(e):0),Va=(e,t,a,s,n,r)=>la((e,t,a)=>he(He(e,t,a,be(s)?s(va(e,t,a)):s),s=>{const i=St(e);he(n||r||!o[14]?.()?void 0:o[3],o=>{const r=Et(i,t),l={...r?Pt(r):{},[a]:s};he(Oe(()=>o(e,t,Re(l))),a=>((e,t,a,s,n)=>{At(Ot(t,a,()=>(jt(e,a,1),Rt())),s,(t,s,o)=>he(He(e,a,s,o),o=>gt(e,a,t,s,o,n)),(s,n)=>Wt(e,t,a,s,n,!0))})(e,i,t,a,n))},()=>yt(e,i,t,a,s,n))}),e,t,a),$a=e=>la(()=>Fe(e)?ft(e):0),xa=(e,t,a)=>la(e=>he(Ue(e,be(t)?t(pa(e)):t),t=>vt(e,t,a)),e),Wa=e=>(Ee(()=>st(aa(e))),is),Ha=t=>la(()=>{if((e=Tt(t,e=>Tt(e,_e)))&&(qe(t),!Ke(U))){const e=ua();Ja(),_a(e)}}),Fa=e=>la(()=>{if(t=(e=>Tt(e,_e))(e)){const a=Sa();ss(),qa(),t=!0,Ze(e),$a(a)}}),Ja=()=>la(()=>Oe(()=>o[7]?.())??1?lt({},!0):0),Ua=e=>la(e=>Xe(U,e)?mt(e):0,e),ja=(e,t)=>la((e,t)=>he(Et(U,e),a=>Xe(a,t)?It(e,a,t):0),e,t),Ga=(e,t,a,s,n)=>la((e,t,a)=>he(Et(U,e),o=>he(Et(o,t),r=>Xe(r,a)?Wt(e,o,t,r,a,s,n):0)),e,t,a),qa=()=>la(()=>Oe(()=>o[11]?.())??1?ft({},!0):0),ts=(e,t)=>la(e=>Xe(G,e)?Jt(e,t):0,e),as=()=>la(()=>{qe({}),e=!1}),ss=()=>la(()=>{Ze({}),t=!1}),ns=(e,t)=>{if(-1!=n){os();const a=e();return rs(t),a}},os=()=>(-1!=n&&n++,1==n&&(r[0]?.(),Ie(pe)),is),rs=e=>(n>0&&(n--,0==n&&(n=1,Oe(()=>{ta(1),Ke(w)||ra(1),na(1),Ke(f)||ia(1)}),e?.(is)&&(tt(w,(e,t)=>tt(e,(e,a)=>tt(e,([e],s)=>nt(t,a,s,e,!0)))),et(w),tt(f,([e],t)=>rt(t,e,!0)),et(f)),Ie(me[0],void 0),n=-1,ta(0),Ke(w)||ra(0),na(0),Ke(f)||ia(0),r[1]?.(),Ie(me[1],void 0),r[2]?.(),n=0,a=ma(),s=Da(),ke([l,c,d,u,g,w,b,y,f,v],et))),is),is={getContent:()=>[ua(),Sa()],getTables:ua,getTableIds:ga,getTable:e=>kt(Et(U,j(e)),ka),getTableCellIds:wa,getRowCount:ha,getRowIds:ya,getSortedRowIds:fa,getRow:(e,t)=>Pt(Et(Et(U,j(e)),j(t)),ka),getCellIds:ba,getCell:va,getValues:Sa,getValueIds:Ca,getValue:pa,hasTables:ma,hasTable:Ta,hasTableCell:Ia,hasRow:Ra,hasCell:La,hasValues:Da,hasValue:Ma,getTablesJson:()=>sa(U),getValuesJson:()=>sa(G),getJson:()=>sa([U,G]),getTablesSchemaJson:()=>sa(m),getValuesSchemaJson:()=>sa(E),getSchemaJson:()=>sa([m,E]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>la(()=>{const t=be(e)?e():e;$e(t)&&(e=>{Ae(e,()=>he(o[0],t=>Oe(()=>t(Re(e))),()=>e),([e,t])=>{(Ct(e)?Ja:_a)(e),(Ct(t)?qa:$a)(t)},Za)})(t)}),setTables:_a,setTable:(e,t)=>la(e=>xe(t,e)?dt(e,t):0,e),setRow:(e,t,a)=>la((e,t)=>We(e,t,a)?ut(e,St(e),t,a):0,e,t),addRow:(e,t,a=!0)=>ns(()=>{let s;return We(e,s,t)&&(e=j(e),ut(e,St(e),s=((e,t)=>{const[a]=Et(F,e);let s;do{s=a(t)}while(Xe(Et(U,e),s));return s})(e,a?1:0),t)),s}),setPartialRow:(e,t,a)=>la((e,t)=>{if(We(e,t,a,1)){const s=St(e);bt(a,(a,n)=>yt(e,s,t,n,a))}},e,t),setCell:Va,setValues:$a,setPartialValues:e=>la(()=>Fe(e,1)?bt(e,(e,t)=>vt(t,e)):0),setValue:xa,applyChanges:e=>la(()=>Ae(e,()=>he(o[13],t=>Oe(()=>t(Re(e))),()=>e),e=>{bt(e[0],(e,t)=>ce(e)?Ua(t):bt(e,(e,a)=>ce(e)?ja(t,a):bt(e,(e,s)=>nt(t,a,s,e,void 0,!0)))),bt(e[1],(e,t)=>rt(t,e))},Za)),setTablesJson:Wa,setValuesJson:e=>(Ee(()=>ot(aa(e))),is),setJson:e=>la(()=>Ee(()=>{const[t,a]=aa(e);st(t),ot(a)},()=>Wa(e))),setTablesSchema:Ha,setValuesSchema:Fa,setSchema:(e,t)=>la(()=>{Ha(e),Fa(t)}),delTables:Ja,delTable:Ua,delRow:ja,delCell:Ga,delValues:qa,delValue:ts,delTablesSchema:as,delValuesSchema:ss,delSchema:()=>la(()=>{as(),ss()}),transaction:ns,startTransaction:os,getTransactionChanges:()=>da(),getTransactionLog:()=>[!Ke(w),!Ke(f),_t(w,Ya,Xa),_t(b),Pt(f,Ya,Xa),Pt(v),Pt(l),kt(u),_t(g),Pt(y)],finishTransaction:rs,forEachTable:e=>tt(U,(t,a)=>e(a,e=>tt(t,(t,a)=>e(a,e=>Dt(t,(t,a)=>e(t,ka(a))))))),forEachTableCell:(e,t)=>Dt(Et(J,j(e)),t),forEachRow:(e,t)=>tt(Et(U,j(e)),(e,a)=>t(a,t=>Dt(e,(e,a)=>t(e,ka(a))))),forEachCell:(e,t,a)=>Dt(Et(Et(U,j(e)),j(t)),(e,t)=>a(e,ka(t))),forEachValue:e=>Dt(G,(t,a)=>e(t,ka(a))),addSortedRowIdsListener:(e,t,a,s,n,o,r)=>it(e)?ca(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,a):ca(e,t,[a,s,n],o,r),addStartTransactionListener:e=>Te(e,pe),addWillFinishTransactionListener:e=>Te(e,me[0]),addDidFinishTransactionListener:e=>Te(e,me[1]),callListener:e=>(Ne(e),is),delListener:e=>(Le(e),is),getListenerStats:()=>({hasTables:za(q),tables:za(B),tableIds:za(z),hasTable:za(Q),table:za(Y),tableCellIds:za(X),hasTableCell:za(K,Qe),rowCount:za(Z),rowIds:za(ee),sortedRowIds:za(te),hasRow:za(ae,Qe),row:za(se,Qe),cellIds:za(ne,Qe),hasCell:za(oe,Ye),cell:za(re,Ye),invalidCell:za(ie,Ye),hasValues:za(ue),values:za(ge),valueIds:za(we),hasValue:za(fe),value:za(Ce),invalidValue:za(le),transaction:ze(pe)+za(me)}),isMergeable:()=>!1,_:[es,Te,Ie,(e,t,a,s,n)=>r=[e,t,a,s,n],(e,t,a,s,n,r,i,l,c,d,u,g,w,h,y)=>o=[e,t,a,s,n,r,i,l,c,d,u,g,w,h,y],nt,rt,()=>[_t(U),Pt(G)],()=>da(!0)]};return bt({[L+N]:[0,q,[],()=>[ma()]],[N]:[0,B],[M]:[0,z],[L+D]:[1,Q,[ga],e=>[Ta(...e)]],[D]:[1,Y,[ga]],[D+V]:[1,X,[ga]],[L+D+_]:[2,K,[ga,wa],e=>[Ia(...e)]],[A]:[1,Z,[ga]],[P]:[1,ee,[ga]],[L+O]:[2,ae,[ga,ya],e=>[Ra(...e)]],[O]:[2,se,[ga,ya]],[V]:[2,ne,[ga,ya]],[L+_]:[3,oe,[ga,ya,ba],e=>[La(...e)]],[_]:[3,re,[ga,ya,ba],e=>Ba(va(...e))],InvalidCell:[3,ie],[L+x]:[0,ue,[],()=>[Da()]],[x]:[0,ge],[W]:[0,we],[L+$]:[1,fe,[Ca],e=>[Ma(...e)]],[$]:[1,Ce,[Ca],e=>Ba(pa(e[0]))],InvalidValue:[1,le]},([e,t,a,s],n)=>{is[R+n+T]=(...n)=>Te(n[e],t[n[e+1]?1:0],e>0?Se(n,0,e):void 0,a,s)}),ct(is)},ts={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},as=(e=d)=>[Ua(e),Ua(e)],ss=(e,t)=>{let a=1,s=as(),n=0,o=0;const r=Rt(),i=Ht(),[l,c]=La(e,t),u=es(),g=e=>{const t=a;return a=0,e(),a=t,p},w=(e,t=0)=>{const a={},n={},[[o,r=d,i=0],l]=e,[u,g]=s,[w,y,f]=u;let b=t?i:f,v=r;yt(o,([e,s=d,n=0],o)=>{const r=Ot(w,o,Ua),[i,l,c]=r;let u=t?n:c,g=s;yt(e,(e,s)=>{const[n,r,l]=h(e,Ot(i,s,Ua),mt(mt(a,o,dt),s,dt),t);u^=t?0:ca(r?ua(s,r):0,ua(s,l)),g=Ha(g,n)}),u^=t?0:Wa(l,s),Fa(r,s,u),b^=t?0:ca(c?ua(o,c):0,ua(o,r[2])),v=Ha(v,g)}),b^=t?0:Wa(y,r),Fa(u,r,b);const[S]=h(l,g,n,t);return c(Ha(v,S)),[a,n,1]},h=(e,t,a,s)=>{const[n,o=d,r=0]=e,[i,l,c]=t;let u=o,g=s?r:c;return yt(n,([e,t=d,n=0],o)=>{const r=Ot(i,o,()=>[void 0,d,0]),[,l,c]=r;(!l||t>l)&&(Fa(r,t,s?n:ga(e,t)),r[0]=e,a[o]=e,g^=s?0:ca(ua(o,c),ua(o,r[2])),u=Ha(u,t))}),g^=s?0:Wa(l,o),Fa(t,o,g),[u,c,t[2]]},y=me,f=me,b=(e=!1)=>[ja(s[0],t=>ja(t,t=>ja(t,([t,a,s])=>[ka(t,0,e),a,s]))),ja(s[1],([t,a,s])=>[ka(t,0,e),a,s])],v=(e,t=!1)=>{const[[a,n,o],[l,c,d]]=s,u=e?$a:Va,g={};tt(r,(e,s)=>he(Et(a,s),([a,n,o])=>{const r={};tt(e,(e,s)=>he(Et(a,s),([a,n,o])=>{const i={};tt(e,e=>{he(Et(a,e),([a,s,n])=>i[e]=u(t?a:ka(a),s,n))}),r[s]=u(i,n,o)})),g[s]=u(r,n,o)}));const w={};return tt(i,e=>he(Et(l,e),([a,s,n])=>w[e]=u(t?a:ka(a),s,n))),[u(g,n,o),u(w,c,d),1]},S=()=>b(),C=e=>g(()=>u.applyChanges(w(e))),p={getMergeableContent:S,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>Pt(s[0][0],xa),getMergeableTableDiff:e=>{const t=Ja(s[0][1]),a={};return Dt(s[0][0],(s,[n,o,r])=>wt(e,s)?r!=e[s]?a[s]=r:0:t[0][s]=Ga([n,o],e=>Ga(e))),[t,a]},getMergeableRowHashes:e=>{const t={};return yt(e,(e,a)=>he(Et(s[0][0],a),([s,,n])=>n!=e?Dt(s,(e,[,,s])=>mt(t,a,dt)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=Ja(s[0][1]),a={};return yt(e,(e,n)=>Dt(Et(s[0][0],n)?.[0],(s,[o,r,i])=>wt(e,s)?i!==e[s]?mt(a,n,dt)[s]=i:0:mt(t[0],n,Ja)[0][s]=Ga([o,r]))),[t,a]},getMergeableCellHashes:e=>{const t={};return yt(e,(e,a)=>he(Et(s[0][0],a),([s])=>yt(e,(e,n)=>he(Et(s,n),([s,,o])=>o!==e?Dt(s,(e,[,,s])=>mt(mt(t,a,dt),n,dt)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,a]]=s,n={};return yt(e,(e,a)=>yt(e,(e,s)=>he(Et(t,a),([t,o])=>he(Et(t,s),([t,r])=>Dt(t,(t,[i,l,c])=>c!==e[t]?mt(mt(n,a,()=>Ja(o))[0],s,()=>Ja(r))[0][t]=[i,l]:0))))),Va(n,a)},getMergeableValueHashes:()=>Pt(s[1][0],xa),getMergeableValueDiff:e=>{const[,[t,a]]=s,n=Pt(t,_a,([,,t],a)=>t==e?.[a]);return Va(n,a)},setMergeableContent:e=>g(()=>(e=>ve(e)&&2==Ce(e)&&qa(e[0],e=>Tt(e,e=>qa(e,e=>Tt(e,e=>qa(e,e=>Tt(e,e=>qa(e,Ma),void 0,1)),void 0,1)),void 0,1))&&qa(e[1],e=>Tt(e,e=>qa(e,Ma),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),s=as(),u.applyChanges(w(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),p),getTransactionMergeableChanges:(e=!1)=>v(e),applyMergeableChanges:C,merge:e=>{const t=S(),a=e.getMergeableContent();return e.applyMergeableChanges(t),C(a)},__:[()=>{const e=o;return o=0,e},()=>b(!0),e=>v(e,!0)]};return u._[3](y,f,()=>{et(r),et(i)},(e,t,s,i,c)=>{Ft(Ot(Ot(r,e,Rt),t,Ht),s),(a||c)&&(c&&(o=1),w([[{[e]:[{[t]:[{[s]:[i,n?d:l()]}]}]}],[{}],1]))},(e,t,s)=>{Ft(i,e),(a||s)&&(s&&(o=1),w([[{}],[{[e]:[t,n?d:l()]}],1]))}),bt(u,(e,t)=>p[t]=G(t,"set")||G(t,"del")||G(t,"apply")||q(t,"Transaction")||t=="call"+T||"use"==t?(...t)=>(e(...t),p):G(t,R)&&q(t,T)?(...a)=>{const s=ts[Se(t,3,-8)]??0,n=a[s];return a[s]=(e,...t)=>n(p,...t),e(...a)}:"isMergeable"==t?()=>!0:e),ct(p)},ns=Rt([["avg",[(e,t)=>$e(e)/t,(e,t,a)=>e+(t-e)/(a+1),(e,t,a)=>e+(e-t)/(a-1),(e,t,a,s)=>e+(t-a)/s]],["max",[e=>ne(...e),(e,t)=>ne(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:ne(t,e)]],["min",[e=>oe(...e),(e,t)=>oe(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:oe(t,e)]],["sum",[e=>$e(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,a)=>e-a+t]]]),os=(e,t,a,s,n,o=!1)=>{if(Ke(a))return;const[r,i,l,c]=n;return o||=ce(e),tt(s,([a,s])=>{o||(e=ce(a)?i?.(e,s,t++):ce(s)?l?.(e,a,t--):c?.(e,s,a,t),o||=ce(e))}),o?r(Ze(a),Be(a)):e},rs=jt(e=>{const t=Rt(),[a,s,n]=Bt(()=>b),[o,r,i,l,c,u,g,,w,h,y,f]=Jt(e,pe,e=>isNaN(e)||ce(e)||ue(e)||ge(e)||e===d?void 0:1*e,a,s),b={setMetricDefinition:(e,a,n,o,r,i,l)=>{const c=be(n)?[n,r,i,l]:Et(ns,n)??Et(ns,"sum");return w(e,a,(a,n,o,r,i,l)=>{const d=u(e),w=Be(r);l||=ce(d),a();let h=os(d,w,r,n,c,l);ie(h)||(h=void 0),h!=d&&(g(e,h),s(t,[e],h,d))},Ut(o,1)),b},delMetricDefinition:e=>(h(e),b),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:u,addMetricIdsListener:y,addMetricListener:(e,s)=>a(s,t,[e]),delListener:e=>(n(e),b),destroy:f,getListenerStats:()=>({metric:ze(t)})};return ct(b)}),is=(e,t,...a)=>We(e,(e,t)=>ce(e)?e:t(...a,e),t),ls=(e,...t)=>Ne(e,e=>e(...t)),cs=jt(e=>{const t=e=>t=>(Je(e,t),M),a=[],s=[],n=[],o=[],r=[],i=[],l=[],c=[],d=[],u=[],g=[],w=[],h=[],y=[],f=t(a),b=t(s),v=t(n),S=t(o),C=t(r),p=t(i),m=t(l),T=t(c),I=t(d),R=t(u),L=t(g),E=t(w),D=t(h),N=t(y),M=ct({getStore:()=>e,addWillSetContentCallback:f,addWillSetTablesCallback:b,addWillSetTableCallback:v,addWillSetRowCallback:S,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:m,addWillDelTablesCallback:T,addWillDelTableCallback:I,addWillDelRowCallback:R,addWillDelCellCallback:L,addWillDelValuesCallback:E,addWillDelValueCallback:D,addWillApplyChangesCallback:N,destroy:()=>{}});return e._[4](e=>is(a,e),e=>is(s,e),(e,t)=>is(n,t,e),(e,t,a)=>is(o,a,e,t),(e,t,a,s)=>is(r,s,e,t,a),e=>is(i,e),(e,t)=>is(l,t,e),()=>ls(c),e=>ls(d,e),(e,t)=>ls(u,e,t),(e,t,a)=>ls(g,e,t,a),()=>ls(w),e=>ls(h,e),e=>is(y,e),()=>o.length>0),M}),ds={Idle:0,Loading:1,Saving:2},us={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},gs=Rt(),ws=Rt(),hs=(e,t,a,s,n,o,r,i={},l=0,c=[])=>{let d,u,g,w=0,h=0,y=0;Ot(gs,c,()=>0),Ot(ws,c,()=>[]);const f=Rt(),[b,v,S,C,p]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!a),([[e],[t]])=>!Ct(e)||!Ct(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!Ct(e)||!Ct(t),t.setContent]:Le("Store type not supported by this Persister"))(r,e,l),[m,T,I]=Bt(()=>$),R=e=>{e!=w&&(w=e,T(f,void 0,w))},L=t=>{(b&&ve(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async()=>{k()&&e.__?.[0]?.()&&await O()},D=async e=>(2!=w&&(R(1),h++,await V(async()=>{await Ee(async()=>{const a=await t();ve(a)?L(a):e?p(e):Le("Content is not an array: "+a)},()=>{e&&p(e)}),R(0),await E()})),$),N=async e=>(M(),await D(e),await Ee(async()=>u=await s(async(e,t)=>{t||e?2!=w&&(R(1),h++,L(t??e),R(0),await E()):await D()}),o),$),M=async()=>(u&&(await Ee(()=>n(u),o),u=void 0),$),O=async e=>(1!=w&&(R(2),y++,await V(async()=>{await Ee(()=>a(v,e),o),R(0)})),$),A=async()=>(P(),await O(),g=e.addDidFinishTransactionListener(()=>{const e=S();C(e)&&O(e)}),$),P=async()=>(g&&(e.delListener(g),g=void 0),$),k=()=>!ce(g),_=async(e=!1)=>{const[t,a]=e?[P,M]:[M,P];return await t(),await a(),$},V=async(...e)=>(Je(Et(ws,c),...e),await(async()=>{if(!Et(gs,c)){for(Mt(gs,c,1);!ce(d=Ge(Et(ws,c)));)await Ee(d,o);Mt(gs,c,0)}})(),$),$={load:D,startAutoLoad:N,stopAutoLoad:M,isAutoLoading:()=>!ce(u),save:O,startAutoSave:A,stopAutoSave:P,isAutoSaving:k,startAutoPersisting:async(e,t=!1)=>{const[a,s]=t?[A,N]:[N,A];return await a(e),await s(e),$},stopAutoPersisting:_,getStatus:()=>w,addStatusListener:e=>m(e,f),delListener:t=>(I(t),e),schedule:V,getStore:()=>e,destroy:()=>(Fe(Et(ws,c)),_()),getStats:()=>({loads:h,saves:y}),...i};return ct($)},ys="_",fs="_id",bs="SELECT",vs="WHERE",Ss="TABLE",Cs="INSERT",ps="DELETE",ms="UPDATE",Ts="ALTER "+Ss,Is="FROM",Rs=ps+" "+Is,Ls=bs+"*"+Is,Es="pragma_",Ds="data_version",Ns="schema_version",Ms="pragma_table_",Os="CREATE ",As=Os+Ss,Ps="OR REPLACE ",ks="FUNCTION",_s="$tableName",Vs=(e,t)=>t?async(a,s)=>(t(a,s),await e(a,s)):e,$s=e=>_e(Ve(z(e,"."),e=>`"${Q(e,/"/g,'""')}"`),"."),xs=(...e)=>$s(_e(e,"_")),Ws=(...e)=>_e(Ve(e,$s),u),Hs=(e,t=[1])=>_e(Ve(e,()=>"$"+t[0]++),u),Fs=(e,t=v)=>vs+`(${Q(t,_s,$s(e))})`,Js="ColumnName",Us="store",js="json",Gs=Us+"TableName",qs=Us+"Id"+Js,Bs=Us+Js,zs="autoLoadIntervalSeconds",Qs="rowId"+Js,Ys="tableId",Xs="tableName",Ks="deleteEmptyColumns",Zs="deleteEmptyTable",en="condition",tn={mode:js,[zs]:1},an={load:0,save:0,[Xs]:c+"_values"},sn=(e,t,a,s,n)=>{const o=Rt();return bt(e,(e,r)=>{const i=Se(vt(ut(t,fe(e)?{[a]:e}:e)),0,St(t));de(i[0])||s(r,i[0])||(n(r,i[0]),Mt(o,r,i))}),o},nn=e=>{const t=(e=>ut(tn,fe(e)?{[Gs]:e}:e??{}))(e),a=t[zs];if(t.mode==js){const e=t[Gs]??c;return[1,a,[e,t[qs]??fs,t[Bs]??Us],Ht(e)]}const{tables:{load:s={},save:n={}}={},values:o={}}=t,r=Se(vt(ut(an,o)),0,St(an)),i=r[2],l=Ht(i),d=Ht(i),u=sn(s,{[Ys]:null,[Qs]:fs,[en]:v},Ys,e=>Xe(d,e),e=>Ft(l,e)),g=sn(n,{[Xs]:null,[Qs]:fs,[Ks]:0,[Zs]:0,[en]:null},Xs,(e,t)=>Xe(d,t),(e,t)=>Ft(l,t));return Dt(g,(e,t)=>t[4]??=Et(u,t[0])?.[2]??v),[0,a,[u,g,r],l]},on=(e,t,a,s,n,o=rn,r,i)=>{const l=Rt();return[async()=>{et(l),Ve(await a(e,t),({tn:e,cn:t})=>Ft(Ot(l,e,Ht),t))},async(t,a,s)=>((e,t)=>Xe(Et(l,e),t))(t,a)?dt(He(Ve(await e(Ls+$s(t)+Fs(t,s)),e=>[e[a],i?bt(ht(e,a),i):ht(e,a)]),([e,t])=>!ce(e)&&!Ct(t))):{},async(t,a,s,i,c,d=!1,g=v)=>{const w=Ht();bt(s??{},e=>Ve(lt(e??{}),e=>Ft(w,e)));const h=Ze(w);if(!d&&c&&g==v&&xe(h)&&Xe(l,t))return await e("DROP "+Ss+$s(t)),void Mt(l,t);const y=Et(l,t),f=Ht(Ze(y));if(xe(h)||(Xe(l,t)?await Ie(Ve([a,...h],async(s,o)=>{at(f,s)||(await e(Ts+$s(t)+"ADD"+$s(s)+n),0==o&&await e("CREATE UNIQUE INDEX pk ON "+$s(t)+`(${$s(a)})`),Ft(y,s))})):(await e(As+$s(t)+`(${$s(a)}${n} PRIMARY KEY${_e(Ve(h,e=>u+$s(e)+n))});`),Mt(l,t,Ht([a,...h])))),await Ie([...!d&&i?Ve(Ze(f),async s=>{s!=a&&(await e(Ts+$s(t)+"DROP"+$s(s)),at(y,s))}):[]]),d)ce(s)?await e(Rs+$s(t)+Fs(t,g)):await Ie(ft(s,async(s,n)=>{ce(s)?await e(Rs+$s(t)+Fs(t,g)+`AND(${$s(a)}=$1)`,[n]):xe(h)||await o(e,t,a,lt(s),{[n]:r?Ve(vt(s),r):vt(s)},y)}));else if(xe(h))Xe(l,t)&&await e(Rs+$s(t)+Fs(t,g));else{const n=He(Ze(Et(l,t)),e=>e!=a),i={},c=[];bt(s??{},(e,t)=>{i[t]=Ve(n,t=>r?r(e?.[t]):e?.[t]),Je(c,t)}),await o(e,t,a,n,i),await e(Rs+$s(t)+Fs(t,g)+`AND${$s(a)}NOT IN(${Hs(c)})`,c)}},async t=>{let a;return await e("BEGIN"),await Ee(async()=>a=await t(),s),await e("END"),a}]},rn=async(e,t,a,s,n)=>{const o=[1];await e(Cs+" INTO"+$s(t)+"("+Ws(a,...s)+")VALUES"+_e(ft(n,e=>"($"+o[0]+++","+Hs(e,o)+")"),u)+"ON CONFLICT("+$s(a)+`)DO ${ms} SET`+_e(Ve(s,e=>$s(e)+"=excluded."+$s(e)),u),ft(n,(e,t)=>[t,...Ve(e,e=>e??null)]).flat())},ln=(e,t,a,s,n,o,r,[i,l,c],d,u,g,w,h,y)=>{const[f,b,v,S]=on(t,d,u,n,h,y),C=hs(e,()=>S(async()=>(await f(),oa((await b(i,l))[ys]?.[c]??"null"))),e=>S(async()=>{await f(),await v(i,l,{[ys]:{[c]:na(e()??null)}},!0,!0)}),a,s,n,r,{[w]:()=>g,destroy:async()=>(await C.stopAutoPersisting(),o(),C)},0,g);return C},cn=(e,t,a,s,n,o,r,[i,l,[c,d,u]],g,w,h,y,f,b,v,S)=>{const[C,p,m,T]=on(t,g,w,n,f,b,v,S),I=(e,t)=>Ie(Nt(l,async([a,s,n,o,r],i)=>{t&&!wt(e,i)||await m(a,s,e[i],n,o,t,r)})),R=async(e,t)=>d?await m(u,fs,{[ys]:e},!0,!0,t):null,L=hs(e,()=>T(async()=>{await C();const e=await(async()=>dt(He(await Ie(Nt(i,async([e,t,a],s)=>[e,await p(s,t,a)])),e=>!Ct(e[1]))))(),t=await(async()=>c?(await p(u,fs))[ys]:{})();return Ct(e)&&ce(t)?void 0:[e,t]}),(e,t)=>T(async()=>{if(await C(),ce(t)){const[t,a]=e();await I(t),await R(a)}else await I(t[0],!0),await R(t[1],!0)}),a,s,n,r,{[y]:()=>h,destroy:async()=>(await L.stopAutoPersisting(),o(),L)},0,h);return L},dn=/^([cd]:)(.+)/,un=(e,t,a,s,n,o,r,i,l,u,g="getDb")=>{const w=Vs(a,o),[h,,y,f]=nn(t),b=d+la(na(y)),S=c+"_"+b,C=async(e,t,a="",s="")=>{const n=xs(c,e,b);return await w(Os+Ps+ks+n+`()RETURNS ${a}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),n},p=async(e,t,a,s)=>(await w(Os+e+"TRIGGER"+t+a+"EXECUTE "+ks+s+"()"),t),m=e=>`PERFORM pg_notify('${S}',${e});`,T=(e,t)=>h?v:2===t?T(e,0)+" OR "+T(e,1):Q(Et(y[0],e)?.[2]??v,_s,0==t?"NEW":"OLD"),I=(e,t)=>Ie(Ve([Cs,ps,ms],(a,s)=>p(Ps,xs(c,"d",b,e,a),`AFTER ${a} ON${$s(e)}FOR EACH ROW WHEN(${T(e,s)})`,t)));return(h?ln:cn)(e,w,async e=>{const t=await C("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${vs} command_tag='${As}' LOOP ${m("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await p("EVENT ",xs(c,"c",b),`ON ddl_command_end WHEN TAG IN('${As}')`,t);const a=await C("d",m("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await Ie(Ve(Ze(f),async e=>(await w(As+` IF NOT EXISTS${$s(e)}("_id"text PRIMARY KEY)`),await I(e,a)))),[await s(S,t=>he(B(t,dn),async([,t,s])=>{Xe(f,s)&&("c:"==t&&await I(s,a),e())})),[t,a]]},async([e,t])=>{n(e),await w(`DROP FUNCTION IF EXISTS${_e(t,",")}CASCADE`)},r,i,l,y,Ze(f),async(e,t)=>await e(bs+` table_name tn,column_name cn FROM information_schema.columns ${vs} table_schema='public'AND table_name IN(${Hs(t)})`,t),u,g,"text",void 0,e=>ta(e),e=>aa(e))},gn=(e,t,a,s,n,o,r,i,l,c,u="getDb",g)=>{let w,h,y;const f=Vs(a,o),[b,v,S,C]=nn(t);return(b?ln:cn)(e,f,e=>{let t;const a=()=>t=ee(()=>Ee(async()=>{const[{d:t,s:a,c:s}]=await f(bs+` ${Ds} d,${Ns} s,TOTAL_CHANGES() c FROM ${Es}${Ds} JOIN ${Es}${Ns}`);t==w&&a==h&&s==y||(le(w)||e(),w=t,h=a,y=s)}),v),o=()=>{w=h=y=null,te(t)},r=s(t=>{C.has(t)&&(o(),e(),a())});return a(),()=>{o(),n(r)}},e=>e(),r,i,l,S,Ze(C),async(e,t)=>await e(bs+` t.name tn,c.name cn FROM ${Ms}list()t,${Ms}info(t.name)c ${vs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Hs(t)})ORDER BY t.name,c.name`,t),c,u,d,g,e=>ue(e)?1:ge(e)?0:e,void 0)},wn=(e,t)=>[e[t].t,e[t].v],hn=(e,t,a,s)=>{const n=ce(t)?e:mt(e,t,()=>({}));let o;return bt(a,(e,t)=>{s(n,t,e)&&(o=1)}),bt(n,(e,t)=>{wt(a,t)||(ht(n,t),o=1)}),!ce(t)&&Ct(n)&&ht(e,t),o},yn=(e,t,a=c,s)=>(t.change(e=>mt(e,a,dt)),hs(e,async()=>{const e=t.doc();return 2==St(e?.[a])?wn(e,a):void 0},async(e,s)=>t.change(t=>((e,t,a,s)=>{((e,t)=>{Ct(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[n,o]=wn(e,t),r=()=>{i=1};let i=1;if(he(s,([e,t])=>{i=0,bt(e,(e,t)=>i?0:ce(e)?ht(n,t):he(n[t],t=>bt(e,(e,a)=>i?0:ce(e)?ht(t,a):he(gt(t,a),t=>bt(e,(e,a)=>ce(e)?ht(t,a):t[a]=e),r)),r)),bt(t,(e,t)=>i?0:ce(e)?ht(o,t):o[t]=e)}),i){const[e,t]=a();hn(n,void 0,e,(e,t,a)=>hn(n,t,a,(e,t,a)=>hn(e,t,a,(e,t,a)=>{if(gt(e,t)!==a)return e[t]=a,1}))),hn(o,void 0,t,(e,t,a)=>{gt(o,t)!==a&&(o[t]=a)})}})(t,a,e,s)),e=>{const s=({doc:t})=>e(wn(t,a));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),fn="storage",bn=(e,t,a,s)=>hs(e,async()=>oa(a.getItem(t)),async e=>a.setItem(t,na(e())),e=>{const s=s=>{s.storageArea===a&&s.key===t&&Ee(()=>e(oa(s.newValue)),e)};return Z.addEventListener(fn,s),s},e=>Z.removeEventListener(fn,e),s,3,{getStorageName:()=>t}),vn=(e,t,a)=>bn(e,t,localStorage,a),Sn=(e,t,a)=>bn(e,t,sessionStorage,a),Cn=(e,t,a)=>hs(e,async()=>oa(await(await t.getFile()).text()),async e=>{const a=await t.createWritable();await a.write(na(e())),await a.close()},async e=>{const a=new FileSystemObserver(()=>e());return await a.observe(t),a},e=>e?.disconnect(),a,3,{getHandle:()=>t}),pn=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>await t.execO(e,a),e=>t.onUpdate((t,a,s)=>e(s)),e=>e(),s,n,me,1,t),mn=()=>$a({},d,0),Tn=(e,t,a=d,s)=>{const n=(e,...t)=>a+e+Se(na(t),1,-1);return hs(e,async()=>{const e=mn(),s=mn();return(await t.list({prefix:a})).forEach(async([t,n,o],r)=>he((e=>{if(G(e,a)){const t=Se(e,Ce(a),Ce(a)+1);return t==J||t==U?[t,...JSON.parse("["+Se(e,Ce(a)+1)+"]")]:void 0}})(r),([a,...r])=>a==J?he(r[0],a=>{const s=mt(e[0],a,mn);he(r[1],e=>{const a=mt(s[0],e,mn);he(r[2],e=>a[0][e]=[t,n,o],()=>Fa(a,n,o))},()=>Fa(s,n,o))},()=>Fa(e,n,o)):a==U?he(r[0],e=>s[0][e]=[t,n,o],()=>Fa(s,n,o)):0)),Ct(e[0])&&Ct(s[0])?void 0:[e,s]},async(e,[[a,s,o],[r,i,l]]=e())=>{const c=Rt();Mt(c,n(J),[0,s,o]),yt(a,([e,t,a],s)=>{Mt(c,n(J,s),[0,t,a]),yt(e,([e,t,a],o)=>{Mt(c,n(J,s,o),[0,t,a]),yt(e,(e,t)=>Mt(c,n(J,s,o,t),e))})}),Mt(c,n(U),[0,i,l]),yt(r,(e,t)=>Mt(c,n(U,t),e)),await t.put(Pt(c))},me,me,s,2,{getStorage:()=>t})},In=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>await t.db.raw({sql:e,args:a}),e=>t.notifier.subscribeToDataChanges(a=>ke(t.notifier.alias(a),({tablename:t})=>e(t))),e=>e(),s,n,me,1,t,"getElectricClient"),Rn=(t,a,s,n,o)=>gn(t,s,async(e,t=[])=>await a.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),n,o,me,3,a),Ln=(e,r,i)=>hs(e,async()=>oa(await o(r,m)),async e=>await n(r,na(e()),m),e=>(t(r)||a(r,d,m),s(r,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>r}),En=[J,U],Dn={keyPath:"k"},Nn=async(e,t)=>{const a=ft(t,(t,a)=>Mn(e,"put",{k:a,v:t}));Ve(await Mn(e,"getAllKeys"),s=>wt(t,s)?0:Je(a,Mn(e,"delete",s))),await Ie(a)},Mn=async(e,t,a)=>Te((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}),On=(e,t,a=1,s)=>{const n=async(e,a=[],s=0)=>Te((n,o)=>{const r=(Z?Z.indexedDB:indexedDB).open(t,s?2:void 0);r.onupgradeneeded=()=>s&&Ve(En,e=>Ee(()=>r.result.createObjectStore(e,Dn))),r.onsuccess=()=>Ee(async()=>{const t=r.result.transaction(En,"readwrite"),s=await Ie(Ve(En,(s,n)=>e(t.objectStore(s),a[n])));r.result.close(),n(s)},e=>{r.result.close(),o(e)}),r.onerror=()=>o("indexedDB.open error")});return hs(e,async()=>await n(async e=>dt(Ve(await Mn(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>n((e,t)=>Nn(e,t),e(),1),e=>ee(e,a),e=>te(e),s,1,{getDbName:()=>t})},An=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>(await t.execute({sql:e,args:a})).rows,()=>me,e=>e(),s,n,me,1,t,"getClient"),Pn="s",kn="/store",_n=(e,t,a)=>e+t+(fe(a)?a:na(a)),Vn=(e,t,a)=>{const s=Ce(e);return G(t,e)?[t[s],(a?oa:String)(Se(t,s+1))]:void 0},$n=(e,t,a,s)=>{const{host:n,room:o}=t.partySocketOptions,{storeProtocol:r="https",storePath:i=kn,messagePrefix:l=d}={...fe(a)?{storeProtocol:a}:a},c=r+"://"+n+"/parties/"+t.name+"/"+o+i,u=async e=>await(await fetch(c,{...e?{method:"PUT",body:sa(e)}:{},mode:"cors",cache:"no-store"})).json();return hs(e,u,async(e,a)=>{a?t.send(_n(l,Pn,a)):await u(e())},e=>{const a=t=>he(Vn(l,t.data,1),([t,a])=>{t==Pn&&e(void 0,a)});return t.addEventListener(H,a),a},e=>{t.removeEventListener(H,e)},s,1,{getConnection:()=>t})},xn="hasStore",Wn=dt(Ve(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),Hn=async(e,t=d)=>!!await e.get(t+xn),Fn=async(e,t=d)=>{const a={},s={};return Dt(await e.list(),(e,n)=>he(Vn(t,e),([e,t])=>{if(e==J){const[e,s,o]=aa("["+t+"]");mt(mt(a,e,dt),s,dt)[o]=n}else e==U&&(s[t]=n)})),[a,s]},Jn=async(e,t,a)=>e.party.broadcast(_n(e.config.messagePrefix??d,Pn,t),a),Un=async(e,t,a,s)=>{const n=e.party.storage,o=e.config.storagePrefix??d,r={[o+xn]:1},i=[],l=[];await Ie(ft(t[0],async(t,c)=>ce(t)?!a&&await e.canDelTable(c,s)&&je(l,jn(o,J,c)):await e.canSetTable(c,a,s)&&await Ie(ft(t,async(t,d)=>ce(t)?!a&&await e.canDelRow(c,d,s)&&Je(l,jn(o,J,c,d)):await e.canSetRow(c,d,a,s)&&await Ie(ft(t,async(t,l)=>{const u=[c,d,l],g=jn(o,J,...u);ce(t)?!a&&await e.canDelCell(...u,s)&&Je(i,g):await e.canSetCell(...u,t,a,s,await n.get(g))&&(r[g]=t)})))))),await Ie(ft(t[1],async(t,l)=>{const c=o+U+l;ce(t)?!a&&await e.canDelValue(l,s)&&Je(i,c):await e.canSetValue(l,t,a,s,await n.get(c))&&(r[c]=t)})),xe(l)||Dt(await n.list(),e=>Ne(l,t=>!G(e,t)||Je(i,e)&&0)),await n.delete(i),await n.put(r)},jn=(e,t,...a)=>_n(e,t,Se(sa(a),1,-1)),Gn=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});class qn{constructor(e){this.party=e,this.config.storePath??=kn,this.config.messagePrefix??=d,this.config.storagePrefix??=d,this.config.responseHeaders??=Wn}party;config={};async onRequest(e){const{party:{storage:t},config:{storePath:a=kn,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await Hn(t,s),n=await e.text();return"PUT"==e.method?a?Gn(this,205):(await Un(this,aa(n),!0,e),Gn(this,201)):Gn(this,200,a?sa(await Fn(t,s)):d)}return Gn(this,404)}async onMessage(e,t){const{config:{messagePrefix:a=d,storagePrefix:s}}=this;await he(Vn(a,e,1),async([e,a])=>{e==Pn&&await Hn(this.party.storage,s)&&(await Un(this,a,!1,t),Jn(this,a,[t.id]))})}async canSetTable(e,t,a){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,a,s){return!0}async canDelRow(e,t,a){return!0}async canSetCell(e,t,a,s,n,o,r){return!0}async canDelCell(e,t,a,s){return!0}async canSetValue(e,t,a,s,n){return!0}async canDelValue(e,t){return!0}}const Bn=async(e,t,a,s,n)=>un(e,a,async(e,a=[])=>(await t.query(e,a)).rows,(e,a)=>t.listen(e,a),e=>Ee(e,n),s,n,me,3,t,"getPglite"),zn=async(e,t,a,s,n)=>{const o=await(t.reserve?.());return un(e,a,o?.unsafe,async(e,a)=>t.listen(e,a),e=>Ee(e.unlisten,n),s,n,()=>o?.release?.(),3,t,"getSql")},Qn=(e,t,a,s,n)=>{let o;return gn(e,a,async(e,a=[])=>t.execute(e,a).then(e=>e.rows?._array??[]),e=>{const a=new AbortController,s=t.onChange({rawTableNames:!0,signal:a.signal});return(async()=>{for await(const e of s)o&&Ve(e.changedTables,o)})(),o=e,a},e=>{o=void 0,e.abort()},s,n,me,1,t,"getPowerSync",Yn)},Yn=async(e,t,a,s,n,o)=>{const r=[1],i=Ht(s),l=o?He([...o],e=>e!=a&&!Xe(i,e)):[];if(!xe(l)){const s=lt(n),o=dt(Ve(await e(bs+Ws(a,...l)+Is+$s(t)+vs+$s(a)+"IN("+Hs(s)+")",s),e=>[e[a],e]));ke(s,e=>Je(n[e],...Ve(l,t=>o?.[e]?.[t]??null)))}await e(Cs+" "+Ps+"INTO"+$s(t)+"("+Ws(a,...s,...l)+")VALUES"+_e(ft(n,e=>"($"+r[0]+++","+Hs(e,r)+")"),u),ft(n,(e,t)=>[t,...Ve(e,e=>e??null)]).flat())},Xn=(e,t,a="storage",s)=>hs(e,async()=>{const e=t.getString(a),s=ce(e)?void 0:JSON.parse(e);return Promise.resolve(s)},async e=>{const s=e();ce(s)||t.set(a,JSON.stringify(s))},e=>t.addOnValueChangedListener(s=>{if(s===a){const s=t.getString(a);s&&e(JSON.parse(s))}}),e=>{e.remove()},s,3,{getStorageName:()=>a}),Kn=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>(await t.executeSql(e,a))[0].rows.raw(),me,me,s,n,me,3,t),Zn=e=>e.headers.get("ETag")??"",eo=e=>""==e?void 0:{"If-None-Match":e},to=(e,t,a,s=5,n)=>{let o="";return hs(e,async()=>{const e=await fetch(t,{headers:eo(o)});return o=Zn(e),aa(await e.text())},async e=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:sa(e())}),e=>ee(async()=>{const a=await fetch(t,{method:"HEAD",headers:eo(o)}),s=Zn(a);s!=o&&(o=s,e())},s),e=>te(e),n,1,{getUrls:()=>[t,a]})},ao=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>t.query(e).all(...a),()=>me,e=>e(),s,n,me,3,t),so=(e,t,a,s,n,o)=>gn(e,s,async(e,t=[])=>a.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(a,(t,a,s,n)=>e(n),0),()=>t.capi.sqlite3_update_hook(a,me,0),n,o,me,3,a),no="change",oo=(e,t,a,s,n)=>gn(e,a,async(e,a=[])=>await Te((s,n)=>t.all(e,a,(e,t)=>e?n(e):s(t))),e=>{const a=(t,a,s)=>e(s);return t.on(no,a),a},e=>t.off(no,e),s,n,me,3,t),ro="delete",io=e=>[e.get(J),e.get(U)],lo=(e,t,a,s)=>{const n=ce(t)?e:e.get(t)??e.set(t,new r);let o;return bt(a,(e,t)=>{s(n,t,e)&&(o=1)}),n.forEach((e,t)=>{wt(a,t)||(n.delete(t),o=1)}),ce(t)||n.size||e.delete(t),o},co=(e,t,a=c,s)=>{const n=t.getMap(a);return hs(e,async()=>n.size?[n.get(J).toJSON(),n.get(U).toJSON()]:void 0,async(e,a)=>t.transact(()=>((e,t,a)=>{e.size||(e.set(J,new r),e.set(U,new r));const[s,n]=io(e),o=()=>{i=1};let i=1;if(he(a,([e,t])=>{i=0,bt(e,(e,t)=>i?0:ce(e)?s.delete(t):he(s.get(t),t=>bt(e,(e,a)=>i?0:ce(e)?t.delete(a):he(t.get(a),t=>bt(e,(e,a)=>ce(e)?t.delete(a):t.set(a,e)),o)),o)),bt(t,(e,t)=>i?0:ce(e)?n.delete(t):n.set(t,e))}),i){const[e,a]=t();lo(s,void 0,e,(e,t,a)=>lo(s,t,a,(e,t,a)=>lo(e,t,a,(e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1}))),lo(n,void 0,a,(e,t,a)=>{n.get(t)!==a&&n.set(t,a)})}})(n,e,a)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==Ce(t)&&xe(t[0].path))return[e.get(J).toJSON(),e.get(U).toJSON(),1];const[a,s]=io(e),n={},o={};return ke(t,({path:e,changes:{keys:t}})=>Ge(e)==J?he(Ge(e),s=>{const o=mt(n,s,dt),r=a.get(s);he(Ge(e),e=>{const a=mt(o,e,dt),s=r.get(e);Dt(t,(e,{action:t})=>a[e]=t==ro?void 0:s.get(e))},()=>Dt(t,(e,{action:t})=>o[e]=t==ro?void 0:r.get(e)?.toJSON()))},()=>Dt(t,(e,{action:t})=>n[e]=t==ro?void 0:a.get(e)?.toJSON())):Dt(t,(e,{action:t})=>o[e]=t==ro?void 0:s.get(e))),[n,o,1]})(n,t));return n.observeDeep(t),t},e=>{n.unobserveDeep(e)},s,1,{getYDoc:()=>t})},uo=jt(e=>{const t=e._[0],a=t(),s=t(),n=Rt(),o=Rt(),r=Rt(),{_:[,i,l],delListener:c}=s,[u,g,w,h,y,f,b,v,,S,C,p,m,L]=Jt(e,()=>[],pe,i,l),E=(e,t,...a)=>ke(a,a=>Ft(Ot(Ot(n,t,Rt),e,Ht),a)),N=e=>{he(Et(n,e),e=>{Dt(e,(e,t)=>tt(t,t=>e.delListener(t))),et(e)}),ke([s,a],t=>t.delTable(e))},M=(e,t,a)=>E(t,e,t.addStartTransactionListener(a.startTransaction),t.addDidFinishTransactionListener(()=>a.finishTransaction())),$=(t,n,o,r={})=>{const i=H(t);var l;v(t,n),b(t,[o,(l=r,new Map(rt(l)))]),x(t,i,r),N(t);const[,c]=f(t),u=[],g=[[void 0,[n,void 0,void 0,[],Rt()]]],w=[],h=[],y=[];o({select:(e,t)=>{const a=be(e)?[Ce(u)+d,e]:[ce(t)?e:t,a=>a(e,t)];return Je(u,a),{as:e=>a[0]=e}},join:(e,t,a)=>{const s=ce(a)||be(t)?void 0:t,n=ce(s)?t:a,o=[e,[e,s,be(n)?n:e=>e(n),[],Rt()]];return Je(g,o),{as:e=>o[0]=e}},where:(e,t,a)=>Je(w,be(e)?e:ce(a)?a=>a(e)===t:s=>s(e,t)===a),group:(e,t,a,s,n)=>{const o=[e,[e,be(t)?[t,a,s,n]:Et(ns,t)??[(e,t)=>t]]];return Je(h,o),{as:e=>o[0]=e}},having:(e,t)=>Je(y,be(e)?e:a=>a(e)===t),param:e=>Et(c,e)});const S=Rt(u);if(Ke(S))return J;const C=Rt(g);Dt(C,(e,[,t])=>he(Et(C,t),({3:t})=>ce(e)?0:Je(t,e)));const p=Rt(h);let T=a;if(Ke(p)&&xe(y))T=s;else{M(t,T,s);const e=Rt();Dt(p,(t,[a,s])=>Ft(Ot(e,a,Ht),[t,s]));const a=Ht();Dt(S,t=>Xe(e,t)?0:Ft(a,t));const n=Rt(),o=(a,n,o,r)=>he(a,([i,l,c,d])=>{Dt(n,(t,[a])=>{const s=Ot(i,t,Rt),n=Et(s,o),l=r?void 0:a;if(n!==l){const a=Ht([[n,l]]),r=Be(s);Mt(s,o,l),tt(Et(e,t),([e,t])=>{const n=os(d[e],r,s,a,t);d[e]=ce(Na(n))?void 0:n})}}),Ke(l)||!Ne(y,e=>e(e=>d[e]))?s.delRow(t,c):ce(c)?a[2]=s.addRow(t,d):s.setRow(t,c,d)});E(T,t,T.addRowListener(t,null,(s,r,i,l)=>{const c=[],d=[],u=Rt(),g=T.hasRow(t,i);let w=!g;tt(a,e=>{const[a,s,n]=l(t,i,e);Je(c,s),Je(d,n),w||=a}),Dt(e,e=>{const[a,,s]=l(t,i,e);(w||a)&&Mt(u,e,[s])}),w&&o(Wt(n,c,void 0,([,e])=>(at(e,i),Ke(e))),u,i,1),g&&o(Wt(n,d,()=>{const e={};return tt(a,a=>e[a]=T.getCell(t,i,a)),[Rt(),Ht(),void 0,e]},([,e])=>{Ft(e,i)}),u,i)}))}M(t,e,T);const I=(a,s,o,r)=>{const i=t=>e.getCell(s,o,t);ke(r,s=>{const[n,,o,r,l]=Et(C,s),c=o?.(i,a),[d,u]=Et(l,a)??[];c!=d&&(ce(u)||L(t,u),Mt(l,a,ce(c)?void 0:[c,...m(t,1,e.addRowListener(n,c,()=>I(a,n,c,r)))]))}),(a=>{const s=(t,s)=>e.getCell(...ce(s)?[n,a,t]:t===n?[n,a,s]:[Et(C,t)?.[0],Et(Et(C,t)?.[4],a)?.[0],s]);T.transaction(()=>Ne(w,e=>e(s))?Dt(S,(e,n)=>T._[5](t,a,e,n(s,a))):T.delRow(t,a))})(a)},{3:R}=Et(C,void 0);return T.transaction(()=>m(t,1,e.addRowListener(n,null,(a,s,o)=>{e.hasRow(n,o)?I(o,n,o,R):(T.delRow(t,o),tt(C,({4:e})=>he(Et(e,o),([,a])=>{L(t,a),Mt(e,o)})))}))),J},x=(e,t,a)=>{const s=Ht([...lt(t),...lt(a)]);let n=0;tt(s,s=>{const o=gt(a,s);Oe(gt(t,s),o)||(n=1,l(r,[e,s],o))}),n&&l(o,[e],a)},W=(e,t,a=0)=>(he(f(e),([n,o])=>{!a&&pt(Pt(o),t,Oe)||s.transaction(()=>$(e,y(e),n,t))}),J),H=e=>Pt(f(e)?.[1]),F=(e,t)=>Et(f(e)?.[1],t),J={setQueryDefinition:$,delQueryDefinition:e=>{const t=H(e);return N(e),S(e),x(e,t,{}),J},getParamValues:H,getParamValue:F,setParamValues:W,setParamValue:(e,t,a)=>(Oe(F(e,t),a)||W(e,{...H(e),[t]:a},1),J),getStore:u,getQueryIds:g,forEachQuery:w,hasQuery:h,getTableId:y,addQueryIdsListener:e=>C(()=>e(J)),addParamValuesListener:(e,t)=>i((e,a,s)=>t(J,a,s),o,[e]),addParamValueListener:(e,t,a)=>i((e,t,s,n)=>a(J,t,s,n),r,[e,t]),delListener:e=>(c(e),J),destroy:p,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:a,...n}=s.getListenerStats();return{...n,paramValues:ze(o),paramValue:Qe(r)}}};return bt({[D]:[1,1],[D+V]:[0,1],[A]:[0,1],[P]:[0,1],[k]:[0,5],[O]:[1,2],[V]:[0,2],[_]:[1,3]},([e,t],a)=>{ke(e?["get","has","forEach"]:["get"],e=>J[e+I+a]=(...t)=>s[e+a](...t)),J[R+I+a+T]=(...e)=>s[R+a+T](...Se(e,0,t),(a,...s)=>e[t](J,...s),!0)}),ct(J)}),go=jt(e=>{const t=Rt(),a=Rt(),s=Rt(),n=Rt(),[o,r,i]=Bt(()=>m),[l,c,u,g,w,h,,,y,f,b,v]=Jt(e,()=>[Rt(),Rt(),Rt(),Rt()],e=>ce(e)?void 0:e+d,o,r),S=(e,t,a)=>he(h(e),([s,,n])=>{if(!Xe(n,t)){const o=Ht();if(w(e)!=p(e))Ft(o,t);else{let e=t;for(;!ce(e)&&!Xe(o,e);)Ft(o,e),e=Et(s,e)}if(a)return o;Mt(n,t,o)}return Et(n,t)}),C=(e,t)=>he(h(e),([,,e])=>Mt(e,t)),p=e=>Et(t,e),m={setRelationshipDefinition:(e,o,i,l)=>(Mt(t,e,i),y(e,o,(t,o)=>{const i=Ht(),l=Ht(),c=Ht(),[d,u]=h(e);tt(o,([t,a],s)=>{ce(t)||(Ft(l,t),he(Et(u,t),e=>{at(e,s),Ke(e)&&Mt(u,t)})),ce(a)||(Ft(l,a),Xe(u,a)||Mt(u,a,Ht()),Ft(Et(u,a),s)),Ft(i,s),Mt(d,s,a),Dt(Et(n,e),t=>{Xe(S(e,t),s)&&Ft(c,t)})}),t(),tt(i,t=>r(a,[e,t])),tt(l,t=>r(s,[e,t])),tt(c,t=>{C(e,t),r(n,[e,t])})},Ut(l)),m),delRelationshipDefinition:e=>(Mt(t,e),f(e),m),getStore:l,getRelationshipIds:c,forEachRelationship:t=>u(a=>t(a,t=>e.forEachRow(w(a),t))),hasRelationship:g,getLocalTableId:w,getRemoteTableId:p,getRemoteRowId:(e,t)=>Et(h(e)?.[0],t),getLocalRowIds:(e,t)=>Ze(Et(h(e)?.[1],t)),getLinkedRowIds:(e,t)=>ce(h(e))?[t]:Ze(S(e,t,!0)),addRelationshipIdsListener:b,addRemoteRowIdListener:(e,t,s)=>o(s,a,[e,t]),addLocalRowIdsListener:(e,t,a)=>o(a,s,[e,t]),addLinkedRowIdsListener:(e,t,a)=>(S(e,t),o(a,n,[e,t])),delListener:e=>(C(...i(e)??[]),m),destroy:v,getListenerStats:()=>({remoteRowId:Qe(a),localRowIds:Qe(s),linkedRowIds:Qe(n)})};return ct(m)}),wo={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},ho=(e,t,a,s,n,o,r,i,l={})=>{let c,u=0,g=0,w=0;const h=Rt(),y=()=>ea(11),f=(e,a,s,n)=>{g++,o?.(e,a,s,n),t(e,a,s,n)},b=async(e,t,a,s)=>Te((o,r)=>{const i=s+"."+ea(4),l=ae(()=>{at(h,i),r(`No response from ${e??"anyone"} to ${i}, `+t)},n);Mt(h,i,[e,(e,t)=>{clearTimeout(l),at(h,i),o([e,t,s])}]),f(e,i,t,a)}),v=(e,[t,a])=>{yt(t,([t,a],s)=>{const n=mt(e[0],s,Ja);yt(t,([e,t],a)=>{const s=mt(n[0],a,Ja);yt(e,([e,t],a)=>s[0][a]=Va(e,t)),s[1]=Ha(s[1],t)}),n[1]=Ha(n[1],a)}),e[1]=Ha(e[1],a)},S=(t=null,a,s=y())=>Ee(async()=>{ce(a)&&([a,t,s]=await b(null,1,d,s));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=Ja();if(r!=n){const[a,n]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=a,!Ct(n)){const[a,o]=(await b(t,5,e.getMergeableRowHashes(n),s))[0];if(v(l,a),!Ct(o)){const a=(await b(t,6,e.getMergeableCellHashes(o),s))[0];v(l,a)}}}return[l,i==o?Ja():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=hs(e,async()=>{const e=await S();return!e||Ct(e[0][0])&&Ct(e[1][0])?void 0:e},async(t,a)=>a?f(null,y(),3,a):f(null,y(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(u=1,await C.startAutoPersisting(e)),stopSync:async()=>(u=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:g,receives:w}),...l},1);return a((t,a,s,n)=>{const o=u||C.isAutoLoading();w++,r?.(t,a,s,n),0==s?he(Et(h,a),([e,a])=>de(e)||e==t?a(n,t):0):2==s&&o?S(t,n,a??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&o?c?.(void 0,n):he(1==s&&(u||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{f(t,a,0,e)})}),C},yo=(e,t,a,s,n)=>{const o=ea(),r=new BroadcastChannel(t);return ho(e,(e,t,a,s)=>r.postMessage([o,e,t,a,s]),e=>{r.onmessage=({data:[t,a,s,n,r]})=>de(a)||a==o?e(t,s,n,r):0},()=>{r.close()},.01,a,s,n,{getChannelName:()=>t})},fo=Rt(),bo=(e,t,a,s)=>{const n=ea();return ho(e,(e,t,a,s)=>ae(()=>de(e)?Dt(fo,(e,o)=>e!=n?o(n,t,a,s):0):Et(fo,e)?.(n,t,a,s)),e=>{Mt(fo,n,e)},()=>{at(fo,n)},.01,t,a,s)},vo=(e,t)=>{const a=e.indexOf("\n");-1!==a&&t(Se(e,0,a),Se(e,a+1))},So=(e,t)=>vo(e,(e,a)=>t(e,...oa(a))),Co=(e,...t)=>po(e??d,na(t)),po=(e,t)=>e+"\n"+t,mo=async(e,t,a=1,s,n,o)=>{const r=(e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),i=ho(e,(e,...a)=>t.send(Co(e,...a)),e=>r(H,({data:t})=>So(t.toString(m),e)),()=>{t.close()},a,s,n,o,{getWebSocket:()=>t});return Te(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&o?.(t),a(),s(),e(i)},a=r("open",()=>t()),s=r(F,t)}else e(i)})},To=/\/([^?]*)/,Io="S",Ro=e=>B(new URL(e.url).pathname,To)?.[1]??d,Lo=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,Eo=(e,t=null,a=null)=>new Response(a,{status:e,webSocket:t}),Do=()=>Eo(426,null,"Upgrade required");class No extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await he(await this.createPersister(),async e=>{const t=ho(e.getStore(),(e,t,a,s)=>this.#t(Io,Co(e,t,a,s)),e=>this.#e=t=>So(t,e),me,1);await e.load(),await e.startAutoSave(),ae(t.startSync)}))}fetch(e){const t=Ro(e);return he(Lo(e),e=>{const[a,s]=vt(new WebSocketPair);return xe(this.#a())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(Co(Io,null,1,d)),Eo(101,a)},Do)}webSocketMessage(e,t){he(this.ctx.getTags(e)[0],a=>this.#t(a,t.toString(),e))}webSocketClose(e){const[t,a]=this.ctx.getTags(e);this.onClientId(a,t,-1),1==Ce(this.#a())&&this.onPathId(a,-1)}#t(e,t,a){vo(t.toString(),(t,s)=>{const n=po(e,s);this.onMessage(e,t,s),t==d?(e!=Io&&this.#e?.(n),ke(this.#a(),e=>{e!=a&&e.send(n)})):t==Io?this.#e?.(n):t!=e&&this.#a(t)[0]?.send(n)})}#a(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#a()[0])?.[1]}getClientIds(){return Ve(this.#a(),e=>this.ctx.getTags(e)[0])}onPathId(e,t){}onClientId(e,t,a){}onMessage(e,t,a){}}const Mo=e=>(t,a)=>Lo(t)?a[e].get(a[e].idFromName(Ro(t))).fetch(t):Do(),Oo=/\/([^?]*)/,Ao=e=>{const t=Rt();return e.on("connection",(e,a)=>he(B(a.url,Oo),([,s])=>he(a.headers["sec-websocket-key"],async a=>{const n=Ot(t,s,Rt);Mt(n,a,e),e.on(H,e=>vo(e.toString(m),(e,t)=>{const s=po(a,t);e===d?Dt(n,(e,t)=>e!==a?t.send(s):0):Et(n,e)?.send(s)})),e.on("close",()=>{at(n,a),Ke(n)&&at(t,s)})}))),ct({getWebSocketServer:()=>e,destroy:async()=>{et(t),e.close()}})},Po=/\/([^?]*)/,ko=(e,t,a)=>{const s=Rt(),n=Rt(),o=Rt(),r=Rt(),[i,l,c]=Bt(()=>w),u=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},g=(e,t,a)=>s=>vo(s,(s,n)=>{const o=po(e,n);s===d?("S"!==e&&a[3]?.(o),Dt(t,(t,a)=>t!==e?a.send(o):0)):"S"===s?a[3]?.(o):Et(t,s)?.send(o)});e.on("connection",(e,i)=>he(B(i.url,Po),([,c])=>he(i.headers["sec-websocket-key"],async i=>{const d=Ot(o,c,Rt),w=Ot(r,c,()=>[0]),h=g(i,d,w);Ke(d)&&(l(s,void 0,c,1),await(async(e,s,n)=>he(await(t?.(s)),t=>{e[0]=1,e[1]=ve(t)?t[0]:t;const s=g("S",n,e);e[2]=ho(e[1].getStore(),(e,t,a,n)=>s(Co(e,t,a,n)),t=>e[3]=e=>So(e,t),me,1,void 0,void 0,a),e[4]=[],e[5]=ve(t)?t[1]:e=>0}))(w,c,d)),Mt(d,i,e),l(n,[c],i,1),e.on(H,e=>{const t=e.toString(m);0==w[0]?h(t):Je(w[4],t)}),1==w[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(w),ke(w[4],h),w[4]=[]),e.on("close",async()=>{at(d,i),l(n,[c],i,-1),Ke(d)&&(await u(w),at(r,c),at(o,c),l(s,void 0,c,-1))}),a&&e.on(F,a)}))),a&&e.on(F,a);const w={getWebSocketServer:()=>e,getPathIds:()=>Lt(o),getClientIds:e=>Lt(Et(o,e)),addPathIdsListener:e=>i(e,s),addClientIdsListener:(e,t)=>i(t,n,[e]),delListener:e=>(c(e),w),getStats:()=>({paths:Be(o),clients:ze(o)}),destroy:async()=>{et(o),await Ie(Nt(r,u)),e.close()}};return ct(w)};export{wo as Message,us as Persists,ds as Status,qn as TinyBasePartyKitServer,No as WsServerDurableObject,ca as addOrRemoveHash,Jn as broadcastChanges,yn as createAutomergePersister,yo as createBroadcastChannelSynchronizer,zt as createCheckpoints,pn as createCrSqliteWasmPersister,hs as createCustomPersister,un as createCustomPostgreSqlPersister,gn as createCustomSqlitePersister,ho as createCustomSynchronizer,Tn as createDurableObjectStoragePersister,In as createElectricSqlPersister,Rn as createExpoSqlitePersister,Ln as createFilePersister,On as createIndexedDbPersister,Da as createIndexes,An as createLibSqlPersister,vn as createLocalPersister,bo as createLocalSynchronizer,ss as createMergeableStore,rs as createMetrics,cs as createMiddleware,Cn as createOpfsPersister,$n as createPartyKitPersister,Bn as createPglitePersister,zn as createPostgresPersister,Qn as createPowerSyncPersister,uo as createQueries,Xn as createReactNativeMmkvPersister,Kn as createReactNativeSqlitePersister,go as createRelationships,to as createRemotePersister,Sn as createSessionPersister,oo as createSqlite3Persister,ao as createSqliteBunPersister,so as createSqliteWasmPersister,es as createStore,ko as createWsServer,Ao as createWsServerSimple,mo as createWsSynchronizer,co as createYjsPersister,Ea as defaultSorter,wa as getCellHash,ha as getCellInRowHash,la as getHash,La as getHlcFunctions,ya as getRowHash,fa as getRowInTableHash,ba as getTableHash,va as getTableInTablesHash,Sa as getTablesHash,ea as getUniqueId,ga as getValueHash,ua as getValueInValuesHash,da as getValuesHash,Mo as getWsServerDurableObjectFetch,Hn as hasStoreInStorage,Fn as loadStoreFromStorage,Nn as objectStoreMatch};
|
package/min/omni/index.js.gz
CHANGED
|
Binary file
|