solve-engine 2.38.11 → 2.38.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/{PackageCompatibility-CfREcBQl.d.ts → PackageCompatibility-BILTZSHP.d.ts} +1 -1
  2. package/dist/{PackageCompatibility-BrCgFgXc.d.cts → PackageCompatibility-Cu_bHpwY.d.cts} +1 -1
  3. package/dist/{PackageRegistry-BwjDDm71.d.ts → PackageRegistry-DMKDsYiA.d.ts} +1 -1
  4. package/dist/{PackageRegistry-BZnmnyrd.d.cts → PackageRegistry-wZgm2zzk.d.cts} +1 -1
  5. package/dist/{VMBuiltins-BAZsNYQ-.d.cts → VMBuiltins-D3rXBm2k.d.cts} +66 -2
  6. package/dist/{VMBuiltins-CorEIEMd.d.ts → VMBuiltins-Dd0KZR4G.d.ts} +66 -2
  7. package/dist/{VMCheckpoints-CAONfMZS.d.ts → VMCheckpoints-BXavssWa.d.ts} +1 -1
  8. package/dist/{VMCheckpoints-BcuUNpLy.d.cts → VMCheckpoints-BwLCnV8C.d.cts} +1 -1
  9. package/dist/chunk-3X2DR2QH.js +5 -0
  10. package/dist/chunk-3X2DR2QH.js.map +1 -0
  11. package/dist/{chunk-BQTIQI5Q.js → chunk-4LMPCB2V.js} +3 -3
  12. package/dist/{chunk-BQTIQI5Q.js.map → chunk-4LMPCB2V.js.map} +1 -1
  13. package/dist/chunk-6ADFAXTZ.cjs +2 -0
  14. package/dist/chunk-6ADFAXTZ.cjs.map +1 -0
  15. package/dist/chunk-AFNK2LUO.js +2 -0
  16. package/dist/chunk-AFNK2LUO.js.map +1 -0
  17. package/dist/{chunk-EDKYFXEZ.cjs → chunk-CW623SJ7.cjs} +2 -2
  18. package/dist/{chunk-EDKYFXEZ.cjs.map → chunk-CW623SJ7.cjs.map} +1 -1
  19. package/dist/{chunk-WHR3SUWC.cjs → chunk-DTOSRC6E.cjs} +2 -2
  20. package/dist/{chunk-WHR3SUWC.cjs.map → chunk-DTOSRC6E.cjs.map} +1 -1
  21. package/dist/{chunk-ERFHCXV4.js → chunk-IUCUBHFW.js} +2 -2
  22. package/dist/{chunk-ERFHCXV4.js.map → chunk-IUCUBHFW.js.map} +1 -1
  23. package/dist/{chunk-TOZHWK7O.cjs → chunk-KVONXXPJ.cjs} +3 -3
  24. package/dist/{chunk-TOZHWK7O.cjs.map → chunk-KVONXXPJ.cjs.map} +1 -1
  25. package/dist/{chunk-WZUFPG3F.js → chunk-PN6S4SW3.js} +2 -2
  26. package/dist/{chunk-WZUFPG3F.js.map → chunk-PN6S4SW3.js.map} +1 -1
  27. package/dist/{chunk-7TMPBP5P.cjs → chunk-QCH4JXSZ.cjs} +5 -5
  28. package/dist/chunk-QCH4JXSZ.cjs.map +1 -0
  29. package/dist/{chunk-U7DOO2OE.js → chunk-SWONJJK3.js} +3 -3
  30. package/dist/{chunk-U7DOO2OE.js.map → chunk-SWONJJK3.js.map} +1 -1
  31. package/dist/{chunk-R35GD4DP.cjs → chunk-U54BIYXO.cjs} +2 -2
  32. package/dist/{chunk-R35GD4DP.cjs.map → chunk-U54BIYXO.cjs.map} +1 -1
  33. package/dist/{chunk-WSMGTKCC.cjs → chunk-WLY2OSWU.cjs} +3 -3
  34. package/dist/{chunk-WSMGTKCC.cjs.map → chunk-WLY2OSWU.cjs.map} +1 -1
  35. package/dist/{chunk-QS7UXI44.js → chunk-ZXNM355C.js} +2 -2
  36. package/dist/{chunk-QS7UXI44.js.map → chunk-ZXNM355C.js.map} +1 -1
  37. package/dist/constants.cjs +1 -1
  38. package/dist/constants.js +1 -1
  39. package/dist/engine.cjs +1 -1
  40. package/dist/engine.d.cts +4 -4
  41. package/dist/engine.d.ts +4 -4
  42. package/dist/engine.js +1 -1
  43. package/dist/engine.worker.cjs +1 -1
  44. package/dist/engine.worker.js +1 -1
  45. package/dist/index.cjs +1 -1
  46. package/dist/index.d.cts +4 -4
  47. package/dist/index.d.ts +4 -4
  48. package/dist/index.js +1 -1
  49. package/dist/language.d.cts +3 -3
  50. package/dist/language.d.ts +3 -3
  51. package/dist/packages.cjs +1 -1
  52. package/dist/packages.d.cts +2 -2
  53. package/dist/packages.d.ts +2 -2
  54. package/dist/packages.js +1 -1
  55. package/dist/testing.cjs +2 -2
  56. package/dist/testing.d.cts +3 -3
  57. package/dist/testing.d.ts +3 -3
  58. package/dist/testing.js +1 -1
  59. package/dist/vm.cjs +1 -1
  60. package/dist/vm.d.cts +2 -2
  61. package/dist/vm.d.ts +2 -2
  62. package/dist/vm.js +1 -1
  63. package/dist/worker.cjs +2 -2
  64. package/dist/worker.d.cts +2 -2
  65. package/dist/worker.d.ts +2 -2
  66. package/dist/worker.js +1 -1
  67. package/package.json +1 -1
  68. package/dist/chunk-4CECSCRX.cjs +0 -2
  69. package/dist/chunk-4CECSCRX.cjs.map +0 -1
  70. package/dist/chunk-7TMPBP5P.cjs.map +0 -1
  71. package/dist/chunk-ODKM4MVB.js +0 -5
  72. package/dist/chunk-ODKM4MVB.js.map +0 -1
  73. package/dist/chunk-VRQUCWT2.js +0 -2
  74. package/dist/chunk-VRQUCWT2.js.map +0 -1
package/dist/vm.js CHANGED
@@ -1,2 +1,2 @@
1
- export{a as ScopeManager,b as createVM,c as executeBytecode}from'./chunk-QS7UXI44.js';import'./chunk-JP4JMQOG.js';export{b as DependencyGraph,y as OpRegistry,H as allocatePluginFunctionIndex,x as binaryOp,F as builtinFunctions,I as pluginFunctionIndexFor,G as pluginFunctionRegistry,z as sharedOpRegistry,l as unifyUom}from'./chunk-VRQUCWT2.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';export{m as Value,g as ValueType,s as bigIntValue,c as chargeAllocation,d as checkAllocation,e as checkedArray,E as colVectorValue,r as hexValue,C as matrixValue,n as numberValue,F as rangeValue,D as rowVectorValue,t as stringValue,u as uomValue}from'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import'./chunk-PRSXXDTA.js';import'./chunk-6G2NES2I.js';var l=class{constructor(t){this.checkpoints=[];this.vm=t;}snapshot(t,r,e){if(e.length===0)return null;let n=this.checkpoints.length;for(;n>0&&this.checkpoints[n-1].lineNumber>=t;)n--;n!==this.checkpoints.length&&(this.checkpoints.length=n);let o=n>0?this.checkpoints[n-1]:null,i=Object.create(o?.variables??null),c=Object.create(o?.functions??null);for(let s of e){if(this.vm.hasUserFunction(s)){let a=this.vm.getUserFunction(s);a&&(c[s]=a);continue}let u=this.vm.getVar(s);u!==void 0&&(i[s]=u);}let p={lineNumber:t,lineId:r,variables:i,functions:c,parent:o};return this.checkpoints.push(p),p}restoreTo(t){let r=this.getNearestCheckpoint(t);if(!r){this.vm.reset();return}let e=[],n=r;for(;n;)e.unshift(n),n=n.parent;this.vm.reset();for(let o of e){for(let i of Object.keys(o.variables))this.vm.setVar(i,o.variables[i]);for(let i of Object.keys(o.functions)){let c=o.functions[i];this.vm.defineUserFunction(c.name,c.params,c.program);}}}getNearestCheckpoint(t){let r=null;for(let e of this.checkpoints)if(e.lineNumber<=t)r=e;else break;return r}getCheckpointAt(t){return this.checkpoints.find(r=>r.lineNumber===t)}getAllCheckpoints(){return this.checkpoints}lookupVariable(t){if(this.checkpoints.length===0)return;let e=this.checkpoints[this.checkpoints.length-1].variables;for(;e;){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];e=Object.getPrototypeOf(e);}}clear(){this.checkpoints=[];}get count(){return this.checkpoints.length}get isEmpty(){return this.checkpoints.length===0}get vmInstance(){return this.vm}};export{l as VMCheckpointer};//# sourceMappingURL=vm.js.map
1
+ export{a as ScopeManager,b as createVM,c as executeBytecode}from'./chunk-ZXNM355C.js';import'./chunk-JP4JMQOG.js';export{b as DependencyGraph,y as OpRegistry,H as allocatePluginFunctionIndex,x as binaryOp,F as builtinFunctions,I as pluginFunctionIndexFor,G as pluginFunctionRegistry,z as sharedOpRegistry,l as unifyUom}from'./chunk-AFNK2LUO.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';export{m as Value,g as ValueType,s as bigIntValue,c as chargeAllocation,d as checkAllocation,e as checkedArray,E as colVectorValue,r as hexValue,C as matrixValue,n as numberValue,F as rangeValue,D as rowVectorValue,t as stringValue,u as uomValue}from'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import'./chunk-PRSXXDTA.js';import'./chunk-6G2NES2I.js';var l=class{constructor(t){this.checkpoints=[];this.vm=t;}snapshot(t,r,e){if(e.length===0)return null;let n=this.checkpoints.length;for(;n>0&&this.checkpoints[n-1].lineNumber>=t;)n--;n!==this.checkpoints.length&&(this.checkpoints.length=n);let o=n>0?this.checkpoints[n-1]:null,i=Object.create(o?.variables??null),c=Object.create(o?.functions??null);for(let s of e){if(this.vm.hasUserFunction(s)){let a=this.vm.getUserFunction(s);a&&(c[s]=a);continue}let u=this.vm.getVar(s);u!==void 0&&(i[s]=u);}let p={lineNumber:t,lineId:r,variables:i,functions:c,parent:o};return this.checkpoints.push(p),p}restoreTo(t){let r=this.getNearestCheckpoint(t);if(!r){this.vm.reset();return}let e=[],n=r;for(;n;)e.unshift(n),n=n.parent;this.vm.reset();for(let o of e){for(let i of Object.keys(o.variables))this.vm.setVar(i,o.variables[i]);for(let i of Object.keys(o.functions)){let c=o.functions[i];this.vm.defineUserFunction(c.name,c.params,c.program);}}}getNearestCheckpoint(t){let r=null;for(let e of this.checkpoints)if(e.lineNumber<=t)r=e;else break;return r}getCheckpointAt(t){return this.checkpoints.find(r=>r.lineNumber===t)}getAllCheckpoints(){return this.checkpoints}lookupVariable(t){if(this.checkpoints.length===0)return;let e=this.checkpoints[this.checkpoints.length-1].variables;for(;e;){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];e=Object.getPrototypeOf(e);}}clear(){this.checkpoints=[];}get count(){return this.checkpoints.length}get isEmpty(){return this.checkpoints.length===0}get vmInstance(){return this.vm}};export{l as VMCheckpointer};//# sourceMappingURL=vm.js.map
2
2
  //# sourceMappingURL=vm.js.map
package/dist/worker.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var chunkHSTGWWU2_cjs=require('./chunk-HSTGWWU2.cjs'),chunk7TMPBP5P_cjs=require('./chunk-7TMPBP5P.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-WHR3SUWC.cjs'),require('./chunk-HG4NPDN5.cjs');var chunkJUIHUG4M_cjs=require('./chunk-JUIHUG4M.cjs');require('./chunk-W4XLVZ6R.cjs');var chunkTOZHWK7O_cjs=require('./chunk-TOZHWK7O.cjs');require('./chunk-NMZRAJLJ.cjs');var chunkR35GD4DP_cjs=require('./chunk-R35GD4DP.cjs');require('./chunk-K3PZ66XR.cjs'),require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-4CECSCRX.cjs'),require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs');var chunk5TVI2UPZ_cjs=require('./chunk-5TVI2UPZ.cjs'),chunk5N4XDULO_cjs=require('./chunk-5N4XDULO.cjs');require('./chunk-EQNKDTMX.cjs'),require('./chunk-E4HAKNBQ.cjs'),require('./chunk-NH74IT7B.cjs'),require('./chunk-PHWIO4P3.cjs');var chunkEDKYFXEZ_cjs=require('./chunk-EDKYFXEZ.cjs');require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs');var chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.cjs');function B(e){if(e?.date?.inputOrder!=="locale")return e;let r={...e.date,inputOrder:chunkR35GD4DP_cjs.k({...chunkEDKYFXEZ_cjs.b.date,...e.date}).order};return delete r.inputLocale,{...e,date:r}}var x=class{constructor(r){this.nextId=1;this.pending=new Map;this.resolvedListeners=new Set;this.asyncErrorListeners=new Set;this.terminated=false;this.transport=r,this.transport.onMessage(n=>this.onMessage(n));}init(r){let n=this.nextId++;return new Promise((t,s)=>{this.pending.set(n,{resolve:()=>t(),reject:s}),this.transport.postMessage({kind:"init",id:n,localeCode:r.localeCode,diagnostics:r.diagnostics,config:B(r.config),packages:r.packages,formatting:r.formatting});})}parseDocument(r,n){let{signal:t,...s}=n??{},i=Object.keys(s).length>0?s:void 0;return this.call("parseDocument",[r,i],t)}evaluateLines(r,n){return this.call("evaluateLines",[r],n?.signal)}evaluateExpression(r,n){return this.call("evaluateExpression",[r],n?.signal)}onResolved(r){return this.resolvedListeners.add(r),()=>this.resolvedListeners.delete(r)}onAsyncError(r){return this.asyncErrorListeners.add(r),()=>this.asyncErrorListeners.delete(r)}terminate(){if(this.terminated)return;this.terminated=true;let r=chunkHSTGWWU2_cjs.e();for(let n of this.pending.values())this.unhook(n),n.reject(r);this.pending.clear(),this.resolvedListeners.clear(),this.asyncErrorListeners.clear(),this.transport.terminate();}call(r,n,t){if(this.terminated)return Promise.reject(chunkHSTGWWU2_cjs.e());if(t?.aborted)return Promise.reject(chunkHSTGWWU2_cjs.d(r));let s=this.nextId++;return new Promise((i,l)=>{let c={resolve:i,reject:l};if(t){let p=()=>{this.pending.has(s)&&(this.pending.delete(s),this.transport.postMessage({kind:"cancel",id:s}),l(chunkHSTGWWU2_cjs.d(r)));};c.signal=t,c.onAbort=p,t.addEventListener("abort",p,{once:true});}this.pending.set(s,c),this.transport.postMessage({kind:"request",id:s,method:r,args:n});})}onMessage(r){let n=r;switch(n.kind){case "ready":case "result":{let t=n.kind==="result"?n.value:void 0;this.settle(n.id,s=>s.resolve(t));break}case "error":this.settle(n.id,t=>t.reject(chunkHSTGWWU2_cjs.c(n.error)));break;case "async-update":for(let t of [...this.resolvedListeners])t(n.lines);break;case "async-error":for(let t of [...this.asyncErrorListeners])t({queryKey:n.queryKey,packageId:n.packageId,error:chunkHSTGWWU2_cjs.c(n.error)});break}}settle(r,n){let t=this.pending.get(r);t&&(this.pending.delete(r),this.unhook(t),n(t));}unhook(r){r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort);}};async function G(e){let r=new x(e.transport);return await r.init(e),r}function F(e){return e>0?"Infinity":e<0?"-Infinity":"NaN"}function H(e){let r=e.data.map(n=>typeof n=="object"&&n!==null?chunk5N4XDULO_cjs.R(n):typeof n=="number"&&!Number.isFinite(n)?F(n):n);return {rows:e.rows,cols:e.cols,cells:r,hasSymbolic:e.hasSymbolic}}function m(e,r){let n=e.toNumber(),t={type:e.type,text:chunkJUIHUG4M_cjs.c(e,r),number:Number.isFinite(n)?n:0};Number.isFinite(n)||(t.nonFinite=F(n)),e.unit!==void 0&&(t.unit=e.unit),e.timedOut!==void 0&&(t.timedOut=e.timedOut),e.grain!==void 0&&(t.grain=e.grain),e.zone!==void 0&&(t.zone=e.zone);let s=e.value;if(typeof s=="bigint")t.bigint=s.toString();else if(e.type===7)t.matrix=H(s);else if(e.type===8){let i=s;t.range={min:i.min,max:i.max};}else if(e.type===14){let i=s;t.colour={hex:chunk5TVI2UPZ_cjs.f(i),r:i.r,g:i.g,b:i.b,a:i.a,format:i.format,css:chunk5TVI2UPZ_cjs.g(i)};}else if(e.type===16){let i=s;t.chart={kind:i.kind,points:i.points.map(l=>[l[0],l[1]]),label:i.label,domain:[i.domain[0],i.domain[1]],range:[i.range[0],i.range[1]],...i.expr!==void 0?{expr:i.expr}:{}};}else if(e.type===17){let i=s;t.ipCidr={...i.addr!==void 0?{addr:i.addr}:{},...i.prefix!==void 0?{prefix:i.prefix}:{},text:chunkJUIHUG4M_cjs.c(e).replace(/^=\s*/,"")};}return t}function q(e,r){return e?m(e,r):null}function J(e,r){return {start:e.start,end:e.end,expression:e.expression,lineNumber:e.lineNumber,columnNumber:e.columnNumber,result:q(e.result,r),error:e.error??null}}function y(e,r){return {lineNumber:e.lineNumber,text:e.text,startPosition:e.startPosition,endPosition:e.endPosition,isEmpty:e.isEmpty,hasInlineSolves:e.hasInlineSolves,inlineSolves:e.inlineSolves.map(n=>J(n,r)),expression:e.expression,result:q(e.result,r),error:e.error}}function R(e,r){let n={lines:e.lines.map(t=>y(t,r)),totalLines:e.totalLines,errors:[...e.errors]};return e.diagnostics!==void 0&&(n.diagnostics=e.diagnostics),n}function $(e,r){if(r===void 0)return e;let n=new Map(e.map(s=>[s.name,s])),t=[];for(let s of r){let i=n.get(s);if(!i)throw chunk6SYU4MH7_cjs.c.config(chunkHSTGWWU2_cjs.a.WORKER_UNKNOWN_PACKAGE,`No package named "${s}" is available in this worker runtime`,{name:s,available:[...n.keys()]});t.push(i);}return t}function Q(e,r={}){let n=r.packages??chunkTOZHWK7O_cjs.z,t=null,s,i=new Map,l=new Map,c=null,p=null,g=o=>e.postMessage(o),E=(o,a)=>{g({kind:"error",id:o,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a))});},D=o=>{let a=new Map;return o.method==="parseDocument"?o.args[0].split(`
2
- `).forEach((u,d)=>a.set(d+1,u)):o.method==="evaluateLines"?o.args[0].forEach((u,d)=>a.set(d+1,u)):a.set(-1,o.args[0]),a},V=(o,a)=>{if(a.type==="error"){g({kind:"async-error",queryKey:a.queryKey,packageId:a.packageId,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a.error))});return}let u=[];for(let d of a.lineNumbers){let f=l.get(d);if(f!==void 0)try{let T=o.evaluateLine(d,f);T&&u.push({lineNumber:d,value:m(T,s)});}catch{}}u.length>0&&g({kind:"async-update",lines:u});},U=o=>{p?.();let a=o.getEventStream().getReader();p=()=>{a.cancel();},(async()=>{try{for(;;){let{done:u,value:d}=await a.read();if(u)return;V(o,d);}}catch{}})();},j=o=>{try{let a=$(n,o.packages);t=new chunk7TMPBP5P_cjs.o({locale:o.localeCode??"en",diagnostics:o.diagnostics??!1,config:o.config,packages:a,calendar:r.calendar}),s=r.calendar?{...o.formatting??chunkJUIHUG4M_cjs.a,calendar:r.calendar}:o.formatting,U(t),g({kind:"ready",id:o.id});}catch(a){E(o.id,a);}},K=(o,a)=>{let{method:u,args:d}=a;switch(u){case "parseDocument":return R(o.parseDocument(d[0],d[1]),s);case "evaluateLines":return o.evaluateLines(d[0]).map(f=>y(f,s));case "evaluateExpression":return m(o.evaluateExpression(d[0]),s);default:throw chunk6SYU4MH7_cjs.c.execution(chunkHSTGWWU2_cjs.a.WORKER_UNKNOWN_METHOD,`The worker runtime has no method named "${String(u)}"`,{method:u})}},_=o=>{let a=t;if(!a){E(o.id,chunk6SYU4MH7_cjs.c.execution(chunkHSTGWWU2_cjs.a.WORKER_NOT_INITIALISED,"The worker received a request before its engine finished initialising"));return}c?.abort();let u=new AbortController;c=u,l=D(o),i.set(o.id,u),a.setKeystrokeSignal(u.signal);try{let d=K(a,o);g({kind:"result",id:o.id,value:d});}catch(d){E(o.id,d);}finally{i.delete(o.id),a.setKeystrokeSignal(null);}};return e.onMessage(o=>{let a=o;switch(a.kind){case "init":j(a);break;case "request":_(a);break;case "cancel":i.get(a.id)?.abort();break}}),()=>{p?.(),p=null,c?.abort(),c=null,l=new Map;for(let o of i.values())o.abort();i.clear(),t?.clear(),t=null,e.terminate();}}function X(e){return typeof globalThis.structuredClone=="function"?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e))}function Y(){let e=null,r=null,n=true,t=(l,c)=>{let p=X(c);queueMicrotask(()=>{n&&l()?.(p);});};return {client:{postMessage:l=>t(()=>r,l),onMessage:l=>{e=l;},terminate:()=>{n=false;}},host:{postMessage:l=>t(()=>e,l),onMessage:l=>{r=l;},terminate:()=>{n=false;}}}}function Z(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{let n=t=>r(t.data);typeof e.addEventListener=="function"?e.addEventListener("message",n):e.onmessage=n,e.start?.();},terminate:()=>{e.terminate?.(),e.close?.();}}}function ee(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{e.on("message",n=>r(n));},terminate:()=>{e.terminate?.(),e.close?.();}}}exports.createLinkedTransports=Y;exports.createWorkerEngine=G;exports.eventTargetTransport=Z;exports.messagePortTransport=ee;exports.serializeParsedLine=y;exports.serializeParsingResult=R;exports.serializeValue=m;exports.startWorkerRuntime=Q;//# sourceMappingURL=worker.cjs.map
1
+ 'use strict';var chunkHSTGWWU2_cjs=require('./chunk-HSTGWWU2.cjs'),chunkQCH4JXSZ_cjs=require('./chunk-QCH4JXSZ.cjs');require('./chunk-P5YWBIIU.cjs'),require('./chunk-NGBBNL4K.cjs'),require('./chunk-R3W53ZMP.cjs'),require('./chunk-TTFO4YDP.cjs'),require('./chunk-DTOSRC6E.cjs'),require('./chunk-HG4NPDN5.cjs');var chunkJUIHUG4M_cjs=require('./chunk-JUIHUG4M.cjs');require('./chunk-W4XLVZ6R.cjs');var chunkKVONXXPJ_cjs=require('./chunk-KVONXXPJ.cjs');require('./chunk-NMZRAJLJ.cjs');var chunkU54BIYXO_cjs=require('./chunk-U54BIYXO.cjs');require('./chunk-K3PZ66XR.cjs'),require('./chunk-YV4GDW5A.cjs'),require('./chunk-UURM7P3P.cjs'),require('./chunk-GDLYXRMA.cjs'),require('./chunk-ZLRJ7TDP.cjs'),require('./chunk-6ADFAXTZ.cjs'),require('./chunk-OBZJKZ2F.cjs'),require('./chunk-SF5QVUEI.cjs'),require('./chunk-ABVDKMNF.cjs'),require('./chunk-TLG7VZRX.cjs');var chunk5TVI2UPZ_cjs=require('./chunk-5TVI2UPZ.cjs'),chunk5N4XDULO_cjs=require('./chunk-5N4XDULO.cjs');require('./chunk-EQNKDTMX.cjs'),require('./chunk-E4HAKNBQ.cjs'),require('./chunk-NH74IT7B.cjs'),require('./chunk-PHWIO4P3.cjs');var chunkCW623SJ7_cjs=require('./chunk-CW623SJ7.cjs');require('./chunk-3MG7VIPL.cjs'),require('./chunk-Y7O4D3BJ.cjs'),require('./chunk-72J5V7SN.cjs'),require('./chunk-YBQOQTVL.cjs'),require('./chunk-S3DFU33X.cjs'),require('./chunk-J4LSAHCY.cjs'),require('./chunk-EZKR44MA.cjs');var chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.cjs');function B(e){if(e?.date?.inputOrder!=="locale")return e;let r={...e.date,inputOrder:chunkU54BIYXO_cjs.k({...chunkCW623SJ7_cjs.b.date,...e.date}).order};return delete r.inputLocale,{...e,date:r}}var x=class{constructor(r){this.nextId=1;this.pending=new Map;this.resolvedListeners=new Set;this.asyncErrorListeners=new Set;this.terminated=false;this.transport=r,this.transport.onMessage(n=>this.onMessage(n));}init(r){let n=this.nextId++;return new Promise((t,s)=>{this.pending.set(n,{resolve:()=>t(),reject:s}),this.transport.postMessage({kind:"init",id:n,localeCode:r.localeCode,diagnostics:r.diagnostics,config:B(r.config),packages:r.packages,formatting:r.formatting});})}parseDocument(r,n){let{signal:t,...s}=n??{},i=Object.keys(s).length>0?s:void 0;return this.call("parseDocument",[r,i],t)}evaluateLines(r,n){return this.call("evaluateLines",[r],n?.signal)}evaluateExpression(r,n){return this.call("evaluateExpression",[r],n?.signal)}onResolved(r){return this.resolvedListeners.add(r),()=>this.resolvedListeners.delete(r)}onAsyncError(r){return this.asyncErrorListeners.add(r),()=>this.asyncErrorListeners.delete(r)}terminate(){if(this.terminated)return;this.terminated=true;let r=chunkHSTGWWU2_cjs.e();for(let n of this.pending.values())this.unhook(n),n.reject(r);this.pending.clear(),this.resolvedListeners.clear(),this.asyncErrorListeners.clear(),this.transport.terminate();}call(r,n,t){if(this.terminated)return Promise.reject(chunkHSTGWWU2_cjs.e());if(t?.aborted)return Promise.reject(chunkHSTGWWU2_cjs.d(r));let s=this.nextId++;return new Promise((i,l)=>{let c={resolve:i,reject:l};if(t){let p=()=>{this.pending.has(s)&&(this.pending.delete(s),this.transport.postMessage({kind:"cancel",id:s}),l(chunkHSTGWWU2_cjs.d(r)));};c.signal=t,c.onAbort=p,t.addEventListener("abort",p,{once:true});}this.pending.set(s,c),this.transport.postMessage({kind:"request",id:s,method:r,args:n});})}onMessage(r){let n=r;switch(n.kind){case "ready":case "result":{let t=n.kind==="result"?n.value:void 0;this.settle(n.id,s=>s.resolve(t));break}case "error":this.settle(n.id,t=>t.reject(chunkHSTGWWU2_cjs.c(n.error)));break;case "async-update":for(let t of [...this.resolvedListeners])t(n.lines);break;case "async-error":for(let t of [...this.asyncErrorListeners])t({queryKey:n.queryKey,packageId:n.packageId,error:chunkHSTGWWU2_cjs.c(n.error)});break}}settle(r,n){let t=this.pending.get(r);t&&(this.pending.delete(r),this.unhook(t),n(t));}unhook(r){r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort);}};async function G(e){let r=new x(e.transport);return await r.init(e),r}function F(e){return e>0?"Infinity":e<0?"-Infinity":"NaN"}function H(e){let r=e.data.map(n=>typeof n=="object"&&n!==null?chunk5N4XDULO_cjs.R(n):typeof n=="number"&&!Number.isFinite(n)?F(n):n);return {rows:e.rows,cols:e.cols,cells:r,hasSymbolic:e.hasSymbolic}}function m(e,r){let n=e.toNumber(),t={type:e.type,text:chunkJUIHUG4M_cjs.c(e,r),number:Number.isFinite(n)?n:0};Number.isFinite(n)||(t.nonFinite=F(n)),e.unit!==void 0&&(t.unit=e.unit),e.timedOut!==void 0&&(t.timedOut=e.timedOut),e.grain!==void 0&&(t.grain=e.grain),e.zone!==void 0&&(t.zone=e.zone);let s=e.value;if(typeof s=="bigint")t.bigint=s.toString();else if(e.type===7)t.matrix=H(s);else if(e.type===8){let i=s;t.range={min:i.min,max:i.max};}else if(e.type===14){let i=s;t.colour={hex:chunk5TVI2UPZ_cjs.f(i),r:i.r,g:i.g,b:i.b,a:i.a,format:i.format,css:chunk5TVI2UPZ_cjs.g(i)};}else if(e.type===16){let i=s;t.chart={kind:i.kind,points:i.points.map(l=>[l[0],l[1]]),label:i.label,domain:[i.domain[0],i.domain[1]],range:[i.range[0],i.range[1]],...i.expr!==void 0?{expr:i.expr}:{}};}else if(e.type===17){let i=s;t.ipCidr={...i.addr!==void 0?{addr:i.addr}:{},...i.prefix!==void 0?{prefix:i.prefix}:{},text:chunkJUIHUG4M_cjs.c(e).replace(/^=\s*/,"")};}return t}function q(e,r){return e?m(e,r):null}function J(e,r){return {start:e.start,end:e.end,expression:e.expression,lineNumber:e.lineNumber,columnNumber:e.columnNumber,result:q(e.result,r),error:e.error??null}}function y(e,r){return {lineNumber:e.lineNumber,text:e.text,startPosition:e.startPosition,endPosition:e.endPosition,isEmpty:e.isEmpty,hasInlineSolves:e.hasInlineSolves,inlineSolves:e.inlineSolves.map(n=>J(n,r)),expression:e.expression,result:q(e.result,r),error:e.error}}function R(e,r){let n={lines:e.lines.map(t=>y(t,r)),totalLines:e.totalLines,errors:[...e.errors]};return e.diagnostics!==void 0&&(n.diagnostics=e.diagnostics),n}function $(e,r){if(r===void 0)return e;let n=new Map(e.map(s=>[s.name,s])),t=[];for(let s of r){let i=n.get(s);if(!i)throw chunk6SYU4MH7_cjs.c.config(chunkHSTGWWU2_cjs.a.WORKER_UNKNOWN_PACKAGE,`No package named "${s}" is available in this worker runtime`,{name:s,available:[...n.keys()]});t.push(i);}return t}function Q(e,r={}){let n=r.packages??chunkKVONXXPJ_cjs.z,t=null,s,i=new Map,l=new Map,c=null,p=null,g=o=>e.postMessage(o),E=(o,a)=>{g({kind:"error",id:o,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a))});},D=o=>{let a=new Map;return o.method==="parseDocument"?o.args[0].split(`
2
+ `).forEach((u,d)=>a.set(d+1,u)):o.method==="evaluateLines"?o.args[0].forEach((u,d)=>a.set(d+1,u)):a.set(-1,o.args[0]),a},V=(o,a)=>{if(a.type==="error"){g({kind:"async-error",queryKey:a.queryKey,packageId:a.packageId,error:chunkHSTGWWU2_cjs.b(chunk6SYU4MH7_cjs.d(a.error))});return}let u=[];for(let d of a.lineNumbers){let f=l.get(d);if(f!==void 0)try{let T=o.evaluateLine(d,f);T&&u.push({lineNumber:d,value:m(T,s)});}catch{}}u.length>0&&g({kind:"async-update",lines:u});},U=o=>{p?.();let a=o.getEventStream().getReader();p=()=>{a.cancel();},(async()=>{try{for(;;){let{done:u,value:d}=await a.read();if(u)return;V(o,d);}}catch{}})();},j=o=>{try{let a=$(n,o.packages);t=new chunkQCH4JXSZ_cjs.o({locale:o.localeCode??"en",diagnostics:o.diagnostics??!1,config:o.config,packages:a,calendar:r.calendar}),s=r.calendar?{...o.formatting??chunkJUIHUG4M_cjs.a,calendar:r.calendar}:o.formatting,U(t),g({kind:"ready",id:o.id});}catch(a){E(o.id,a);}},K=(o,a)=>{let{method:u,args:d}=a;switch(u){case "parseDocument":return R(o.parseDocument(d[0],d[1]),s);case "evaluateLines":return o.evaluateLines(d[0]).map(f=>y(f,s));case "evaluateExpression":return m(o.evaluateExpression(d[0]),s);default:throw chunk6SYU4MH7_cjs.c.execution(chunkHSTGWWU2_cjs.a.WORKER_UNKNOWN_METHOD,`The worker runtime has no method named "${String(u)}"`,{method:u})}},_=o=>{let a=t;if(!a){E(o.id,chunk6SYU4MH7_cjs.c.execution(chunkHSTGWWU2_cjs.a.WORKER_NOT_INITIALISED,"The worker received a request before its engine finished initialising"));return}c?.abort();let u=new AbortController;c=u,l=D(o),i.set(o.id,u),a.setKeystrokeSignal(u.signal);try{let d=K(a,o);g({kind:"result",id:o.id,value:d});}catch(d){E(o.id,d);}finally{i.delete(o.id),a.setKeystrokeSignal(null);}};return e.onMessage(o=>{let a=o;switch(a.kind){case "init":j(a);break;case "request":_(a);break;case "cancel":i.get(a.id)?.abort();break}}),()=>{p?.(),p=null,c?.abort(),c=null,l=new Map;for(let o of i.values())o.abort();i.clear(),t?.clear(),t=null,e.terminate();}}function X(e){return typeof globalThis.structuredClone=="function"?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e))}function Y(){let e=null,r=null,n=true,t=(l,c)=>{let p=X(c);queueMicrotask(()=>{n&&l()?.(p);});};return {client:{postMessage:l=>t(()=>r,l),onMessage:l=>{e=l;},terminate:()=>{n=false;}},host:{postMessage:l=>t(()=>e,l),onMessage:l=>{r=l;},terminate:()=>{n=false;}}}}function Z(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{let n=t=>r(t.data);typeof e.addEventListener=="function"?e.addEventListener("message",n):e.onmessage=n,e.start?.();},terminate:()=>{e.terminate?.(),e.close?.();}}}function ee(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{e.on("message",n=>r(n));},terminate:()=>{e.terminate?.(),e.close?.();}}}exports.createLinkedTransports=Y;exports.createWorkerEngine=G;exports.eventTargetTransport=Z;exports.messagePortTransport=ee;exports.serializeParsedLine=y;exports.serializeParsingResult=R;exports.serializeValue=m;exports.startWorkerRuntime=Q;//# sourceMappingURL=worker.cjs.map
3
3
  //# sourceMappingURL=worker.cjs.map
package/dist/worker.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { E as EngineConfigOverride } from './Configuration-BxriK9Kw.cjs';
2
- import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-BZnmnyrd.cjs';
2
+ import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-wZgm2zzk.cjs';
3
3
  import { F as FormattingSettings } from './FormattingSettings-ByO-4wiM.cjs';
4
4
  import { E as EngineError } from './EngineError-Bm4OYmw8.cjs';
5
5
  import { b as ValueType, i as ColourFormat, D as DatetimeGrain, V as Value } from './Value-B55Hvn3e.cjs';
@@ -13,7 +13,7 @@ import './Lexer-DaWkCu84.cjs';
13
13
  import './resolvers.cjs';
14
14
  import '@tanstack/query-core';
15
15
  import './TokenNormalizer-D382VSYh.cjs';
16
- import './VMBuiltins-BAZsNYQ-.cjs';
16
+ import './VMBuiltins-D3rXBm2k.cjs';
17
17
 
18
18
  /**
19
19
  * The seam between the harness and whatever actually carries messages.
package/dist/worker.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { E as EngineConfigOverride } from './Configuration-BxriK9Kw.js';
2
- import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-BwjDDm71.js';
2
+ import { U as UnifiedParsingOptions, I as IEnginePackage, N as ParsedLine, P as ParsingResult } from './PackageRegistry-DMKDsYiA.js';
3
3
  import { F as FormattingSettings } from './FormattingSettings-CvCzAfsz.js';
4
4
  import { E as EngineError } from './EngineError-Bm4OYmw8.js';
5
5
  import { b as ValueType, i as ColourFormat, D as DatetimeGrain, V as Value } from './Value-B55Hvn3e.js';
@@ -13,7 +13,7 @@ import './Lexer-DPn5dfCH.js';
13
13
  import './resolvers.js';
14
14
  import '@tanstack/query-core';
15
15
  import './TokenNormalizer-DAzPp-j1.js';
16
- import './VMBuiltins-CorEIEMd.js';
16
+ import './VMBuiltins-Dd0KZR4G.js';
17
17
 
18
18
  /**
19
19
  * The seam between the harness and whatever actually carries messages.
package/dist/worker.js CHANGED
@@ -1,3 +1,3 @@
1
- import {a as a$1,e,d,c as c$2,b}from'./chunk-YID47OPR.js';import {o}from'./chunk-ODKM4MVB.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import'./chunk-QS7UXI44.js';import'./chunk-JP4JMQOG.js';import {c,a}from'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import {z}from'./chunk-BQTIQI5Q.js';import'./chunk-AWGSR2GZ.js';import {k}from'./chunk-ERFHCXV4.js';import'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import'./chunk-VRQUCWT2.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import {g,f}from'./chunk-5TCSFTZD.js';import {R as R$1}from'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import {b as b$1}from'./chunk-WZUFPG3F.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import {c as c$1,d as d$1}from'./chunk-6G2NES2I.js';function B(e){if(e?.date?.inputOrder!=="locale")return e;let r={...e.date,inputOrder:k({...b$1.date,...e.date}).order};return delete r.inputLocale,{...e,date:r}}var x=class{constructor(r){this.nextId=1;this.pending=new Map;this.resolvedListeners=new Set;this.asyncErrorListeners=new Set;this.terminated=false;this.transport=r,this.transport.onMessage(n=>this.onMessage(n));}init(r){let n=this.nextId++;return new Promise((t,s)=>{this.pending.set(n,{resolve:()=>t(),reject:s}),this.transport.postMessage({kind:"init",id:n,localeCode:r.localeCode,diagnostics:r.diagnostics,config:B(r.config),packages:r.packages,formatting:r.formatting});})}parseDocument(r,n){let{signal:t,...s}=n??{},i=Object.keys(s).length>0?s:void 0;return this.call("parseDocument",[r,i],t)}evaluateLines(r,n){return this.call("evaluateLines",[r],n?.signal)}evaluateExpression(r,n){return this.call("evaluateExpression",[r],n?.signal)}onResolved(r){return this.resolvedListeners.add(r),()=>this.resolvedListeners.delete(r)}onAsyncError(r){return this.asyncErrorListeners.add(r),()=>this.asyncErrorListeners.delete(r)}terminate(){if(this.terminated)return;this.terminated=true;let r=e();for(let n of this.pending.values())this.unhook(n),n.reject(r);this.pending.clear(),this.resolvedListeners.clear(),this.asyncErrorListeners.clear(),this.transport.terminate();}call(r,n,t){if(this.terminated)return Promise.reject(e());if(t?.aborted)return Promise.reject(d(r));let s=this.nextId++;return new Promise((i,l)=>{let c={resolve:i,reject:l};if(t){let p=()=>{this.pending.has(s)&&(this.pending.delete(s),this.transport.postMessage({kind:"cancel",id:s}),l(d(r)));};c.signal=t,c.onAbort=p,t.addEventListener("abort",p,{once:true});}this.pending.set(s,c),this.transport.postMessage({kind:"request",id:s,method:r,args:n});})}onMessage(r){let n=r;switch(n.kind){case "ready":case "result":{let t=n.kind==="result"?n.value:void 0;this.settle(n.id,s=>s.resolve(t));break}case "error":this.settle(n.id,t=>t.reject(c$2(n.error)));break;case "async-update":for(let t of [...this.resolvedListeners])t(n.lines);break;case "async-error":for(let t of [...this.asyncErrorListeners])t({queryKey:n.queryKey,packageId:n.packageId,error:c$2(n.error)});break}}settle(r,n){let t=this.pending.get(r);t&&(this.pending.delete(r),this.unhook(t),n(t));}unhook(r){r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort);}};async function G(e){let r=new x(e.transport);return await r.init(e),r}function F(e){return e>0?"Infinity":e<0?"-Infinity":"NaN"}function H(e){let r=e.data.map(n=>typeof n=="object"&&n!==null?R$1(n):typeof n=="number"&&!Number.isFinite(n)?F(n):n);return {rows:e.rows,cols:e.cols,cells:r,hasSymbolic:e.hasSymbolic}}function m(e,r){let n=e.toNumber(),t={type:e.type,text:c(e,r),number:Number.isFinite(n)?n:0};Number.isFinite(n)||(t.nonFinite=F(n)),e.unit!==void 0&&(t.unit=e.unit),e.timedOut!==void 0&&(t.timedOut=e.timedOut),e.grain!==void 0&&(t.grain=e.grain),e.zone!==void 0&&(t.zone=e.zone);let s=e.value;if(typeof s=="bigint")t.bigint=s.toString();else if(e.type===7)t.matrix=H(s);else if(e.type===8){let i=s;t.range={min:i.min,max:i.max};}else if(e.type===14){let i=s;t.colour={hex:f(i),r:i.r,g:i.g,b:i.b,a:i.a,format:i.format,css:g(i)};}else if(e.type===16){let i=s;t.chart={kind:i.kind,points:i.points.map(l=>[l[0],l[1]]),label:i.label,domain:[i.domain[0],i.domain[1]],range:[i.range[0],i.range[1]],...i.expr!==void 0?{expr:i.expr}:{}};}else if(e.type===17){let i=s;t.ipCidr={...i.addr!==void 0?{addr:i.addr}:{},...i.prefix!==void 0?{prefix:i.prefix}:{},text:c(e).replace(/^=\s*/,"")};}return t}function q(e,r){return e?m(e,r):null}function J(e,r){return {start:e.start,end:e.end,expression:e.expression,lineNumber:e.lineNumber,columnNumber:e.columnNumber,result:q(e.result,r),error:e.error??null}}function y(e,r){return {lineNumber:e.lineNumber,text:e.text,startPosition:e.startPosition,endPosition:e.endPosition,isEmpty:e.isEmpty,hasInlineSolves:e.hasInlineSolves,inlineSolves:e.inlineSolves.map(n=>J(n,r)),expression:e.expression,result:q(e.result,r),error:e.error}}function R(e,r){let n={lines:e.lines.map(t=>y(t,r)),totalLines:e.totalLines,errors:[...e.errors]};return e.diagnostics!==void 0&&(n.diagnostics=e.diagnostics),n}function $(e,r){if(r===void 0)return e;let n=new Map(e.map(s=>[s.name,s])),t=[];for(let s of r){let i=n.get(s);if(!i)throw c$1.config(a$1.WORKER_UNKNOWN_PACKAGE,`No package named "${s}" is available in this worker runtime`,{name:s,available:[...n.keys()]});t.push(i);}return t}function Q(e,r={}){let n=r.packages??z,t=null,s,i=new Map,l=new Map,c=null,p=null,g=o=>e.postMessage(o),E=(o,a)=>{g({kind:"error",id:o,error:b(d$1(a))});},D=o=>{let a=new Map;return o.method==="parseDocument"?o.args[0].split(`
1
+ import {a as a$1,e,d,c as c$2,b}from'./chunk-YID47OPR.js';import {o}from'./chunk-3X2DR2QH.js';import'./chunk-RU3KGJRA.js';import'./chunk-2RWAXT6O.js';import'./chunk-RMDCGYZM.js';import'./chunk-MIQBJGGR.js';import'./chunk-ZXNM355C.js';import'./chunk-JP4JMQOG.js';import {c,a}from'./chunk-SSS3ZMKX.js';import'./chunk-HLZRNZEU.js';import {z}from'./chunk-4LMPCB2V.js';import'./chunk-AWGSR2GZ.js';import {k}from'./chunk-IUCUBHFW.js';import'./chunk-U5MESNRT.js';import'./chunk-DB5ISONG.js';import'./chunk-76F3LCIL.js';import'./chunk-EOKHRS2T.js';import'./chunk-TCZSPH4A.js';import'./chunk-AFNK2LUO.js';import'./chunk-X2GQAKL2.js';import'./chunk-PICFFFJV.js';import'./chunk-TZYMXNIB.js';import'./chunk-HFKDWQUL.js';import {g,f}from'./chunk-5TCSFTZD.js';import {R as R$1}from'./chunk-IHPYXJIY.js';import'./chunk-EOO6M65F.js';import'./chunk-J4K72CQN.js';import'./chunk-A34R65WT.js';import'./chunk-BWTVJD5L.js';import {b as b$1}from'./chunk-PN6S4SW3.js';import'./chunk-6NL7RBAG.js';import'./chunk-JPFCXLJV.js';import'./chunk-APYRNAU2.js';import'./chunk-FAO6DQ74.js';import'./chunk-LHLW7JLS.js';import'./chunk-CHVGFTO3.js';import'./chunk-PRSXXDTA.js';import {c as c$1,d as d$1}from'./chunk-6G2NES2I.js';function B(e){if(e?.date?.inputOrder!=="locale")return e;let r={...e.date,inputOrder:k({...b$1.date,...e.date}).order};return delete r.inputLocale,{...e,date:r}}var x=class{constructor(r){this.nextId=1;this.pending=new Map;this.resolvedListeners=new Set;this.asyncErrorListeners=new Set;this.terminated=false;this.transport=r,this.transport.onMessage(n=>this.onMessage(n));}init(r){let n=this.nextId++;return new Promise((t,s)=>{this.pending.set(n,{resolve:()=>t(),reject:s}),this.transport.postMessage({kind:"init",id:n,localeCode:r.localeCode,diagnostics:r.diagnostics,config:B(r.config),packages:r.packages,formatting:r.formatting});})}parseDocument(r,n){let{signal:t,...s}=n??{},i=Object.keys(s).length>0?s:void 0;return this.call("parseDocument",[r,i],t)}evaluateLines(r,n){return this.call("evaluateLines",[r],n?.signal)}evaluateExpression(r,n){return this.call("evaluateExpression",[r],n?.signal)}onResolved(r){return this.resolvedListeners.add(r),()=>this.resolvedListeners.delete(r)}onAsyncError(r){return this.asyncErrorListeners.add(r),()=>this.asyncErrorListeners.delete(r)}terminate(){if(this.terminated)return;this.terminated=true;let r=e();for(let n of this.pending.values())this.unhook(n),n.reject(r);this.pending.clear(),this.resolvedListeners.clear(),this.asyncErrorListeners.clear(),this.transport.terminate();}call(r,n,t){if(this.terminated)return Promise.reject(e());if(t?.aborted)return Promise.reject(d(r));let s=this.nextId++;return new Promise((i,l)=>{let c={resolve:i,reject:l};if(t){let p=()=>{this.pending.has(s)&&(this.pending.delete(s),this.transport.postMessage({kind:"cancel",id:s}),l(d(r)));};c.signal=t,c.onAbort=p,t.addEventListener("abort",p,{once:true});}this.pending.set(s,c),this.transport.postMessage({kind:"request",id:s,method:r,args:n});})}onMessage(r){let n=r;switch(n.kind){case "ready":case "result":{let t=n.kind==="result"?n.value:void 0;this.settle(n.id,s=>s.resolve(t));break}case "error":this.settle(n.id,t=>t.reject(c$2(n.error)));break;case "async-update":for(let t of [...this.resolvedListeners])t(n.lines);break;case "async-error":for(let t of [...this.asyncErrorListeners])t({queryKey:n.queryKey,packageId:n.packageId,error:c$2(n.error)});break}}settle(r,n){let t=this.pending.get(r);t&&(this.pending.delete(r),this.unhook(t),n(t));}unhook(r){r.signal&&r.onAbort&&r.signal.removeEventListener("abort",r.onAbort);}};async function G(e){let r=new x(e.transport);return await r.init(e),r}function F(e){return e>0?"Infinity":e<0?"-Infinity":"NaN"}function H(e){let r=e.data.map(n=>typeof n=="object"&&n!==null?R$1(n):typeof n=="number"&&!Number.isFinite(n)?F(n):n);return {rows:e.rows,cols:e.cols,cells:r,hasSymbolic:e.hasSymbolic}}function m(e,r){let n=e.toNumber(),t={type:e.type,text:c(e,r),number:Number.isFinite(n)?n:0};Number.isFinite(n)||(t.nonFinite=F(n)),e.unit!==void 0&&(t.unit=e.unit),e.timedOut!==void 0&&(t.timedOut=e.timedOut),e.grain!==void 0&&(t.grain=e.grain),e.zone!==void 0&&(t.zone=e.zone);let s=e.value;if(typeof s=="bigint")t.bigint=s.toString();else if(e.type===7)t.matrix=H(s);else if(e.type===8){let i=s;t.range={min:i.min,max:i.max};}else if(e.type===14){let i=s;t.colour={hex:f(i),r:i.r,g:i.g,b:i.b,a:i.a,format:i.format,css:g(i)};}else if(e.type===16){let i=s;t.chart={kind:i.kind,points:i.points.map(l=>[l[0],l[1]]),label:i.label,domain:[i.domain[0],i.domain[1]],range:[i.range[0],i.range[1]],...i.expr!==void 0?{expr:i.expr}:{}};}else if(e.type===17){let i=s;t.ipCidr={...i.addr!==void 0?{addr:i.addr}:{},...i.prefix!==void 0?{prefix:i.prefix}:{},text:c(e).replace(/^=\s*/,"")};}return t}function q(e,r){return e?m(e,r):null}function J(e,r){return {start:e.start,end:e.end,expression:e.expression,lineNumber:e.lineNumber,columnNumber:e.columnNumber,result:q(e.result,r),error:e.error??null}}function y(e,r){return {lineNumber:e.lineNumber,text:e.text,startPosition:e.startPosition,endPosition:e.endPosition,isEmpty:e.isEmpty,hasInlineSolves:e.hasInlineSolves,inlineSolves:e.inlineSolves.map(n=>J(n,r)),expression:e.expression,result:q(e.result,r),error:e.error}}function R(e,r){let n={lines:e.lines.map(t=>y(t,r)),totalLines:e.totalLines,errors:[...e.errors]};return e.diagnostics!==void 0&&(n.diagnostics=e.diagnostics),n}function $(e,r){if(r===void 0)return e;let n=new Map(e.map(s=>[s.name,s])),t=[];for(let s of r){let i=n.get(s);if(!i)throw c$1.config(a$1.WORKER_UNKNOWN_PACKAGE,`No package named "${s}" is available in this worker runtime`,{name:s,available:[...n.keys()]});t.push(i);}return t}function Q(e,r={}){let n=r.packages??z,t=null,s,i=new Map,l=new Map,c=null,p=null,g=o=>e.postMessage(o),E=(o,a)=>{g({kind:"error",id:o,error:b(d$1(a))});},D=o=>{let a=new Map;return o.method==="parseDocument"?o.args[0].split(`
2
2
  `).forEach((u,d)=>a.set(d+1,u)):o.method==="evaluateLines"?o.args[0].forEach((u,d)=>a.set(d+1,u)):a.set(-1,o.args[0]),a},V=(o,a)=>{if(a.type==="error"){g({kind:"async-error",queryKey:a.queryKey,packageId:a.packageId,error:b(d$1(a.error))});return}let u=[];for(let d of a.lineNumbers){let f=l.get(d);if(f!==void 0)try{let T=o.evaluateLine(d,f);T&&u.push({lineNumber:d,value:m(T,s)});}catch{}}u.length>0&&g({kind:"async-update",lines:u});},U=o=>{p?.();let a=o.getEventStream().getReader();p=()=>{a.cancel();},(async()=>{try{for(;;){let{done:u,value:d}=await a.read();if(u)return;V(o,d);}}catch{}})();},j=o$1=>{try{let a$1=$(n,o$1.packages);t=new o({locale:o$1.localeCode??"en",diagnostics:o$1.diagnostics??!1,config:o$1.config,packages:a$1,calendar:r.calendar}),s=r.calendar?{...o$1.formatting??a,calendar:r.calendar}:o$1.formatting,U(t),g({kind:"ready",id:o$1.id});}catch(a){E(o$1.id,a);}},K=(o,a)=>{let{method:u,args:d}=a;switch(u){case "parseDocument":return R(o.parseDocument(d[0],d[1]),s);case "evaluateLines":return o.evaluateLines(d[0]).map(f=>y(f,s));case "evaluateExpression":return m(o.evaluateExpression(d[0]),s);default:throw c$1.execution(a$1.WORKER_UNKNOWN_METHOD,`The worker runtime has no method named "${String(u)}"`,{method:u})}},_=o=>{let a=t;if(!a){E(o.id,c$1.execution(a$1.WORKER_NOT_INITIALISED,"The worker received a request before its engine finished initialising"));return}c?.abort();let u=new AbortController;c=u,l=D(o),i.set(o.id,u),a.setKeystrokeSignal(u.signal);try{let d=K(a,o);g({kind:"result",id:o.id,value:d});}catch(d){E(o.id,d);}finally{i.delete(o.id),a.setKeystrokeSignal(null);}};return e.onMessage(o=>{let a=o;switch(a.kind){case "init":j(a);break;case "request":_(a);break;case "cancel":i.get(a.id)?.abort();break}}),()=>{p?.(),p=null,c?.abort(),c=null,l=new Map;for(let o of i.values())o.abort();i.clear(),t?.clear(),t=null,e.terminate();}}function X(e){return typeof globalThis.structuredClone=="function"?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e))}function Y(){let e=null,r=null,n=true,t=(l,c)=>{let p=X(c);queueMicrotask(()=>{n&&l()?.(p);});};return {client:{postMessage:l=>t(()=>r,l),onMessage:l=>{e=l;},terminate:()=>{n=false;}},host:{postMessage:l=>t(()=>e,l),onMessage:l=>{r=l;},terminate:()=>{n=false;}}}}function Z(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{let n=t=>r(t.data);typeof e.addEventListener=="function"?e.addEventListener("message",n):e.onmessage=n,e.start?.();},terminate:()=>{e.terminate?.(),e.close?.();}}}function ee(e){return {postMessage:r=>e.postMessage(r),onMessage:r=>{e.on("message",n=>r(n));},terminate:()=>{e.terminate?.(),e.close?.();}}}export{Y as createLinkedTransports,G as createWorkerEngine,Z as eventTargetTransport,ee as messagePortTransport,y as serializeParsedLine,R as serializeParsingResult,m as serializeValue,Q as startWorkerRuntime};//# sourceMappingURL=worker.js.map
3
3
  //# sourceMappingURL=worker.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solve-engine",
3
- "version": "2.38.11",
3
+ "version": "2.38.13",
4
4
  "description": "An embeddable expression engine for natural-language calculations: units, currencies, percentages, dates and matrices, with the parsing and evaluation plumbing already built.",
5
5
  "keywords": [
6
6
  "expression-evaluator",
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkOBZJKZ2F_cjs=require('./chunk-OBZJKZ2F.cjs'),chunkSF5QVUEI_cjs=require('./chunk-SF5QVUEI.cjs'),chunk5N4XDULO_cjs=require('./chunk-5N4XDULO.cjs'),chunkEQNKDTMX_cjs=require('./chunk-EQNKDTMX.cjs'),chunkNH74IT7B_cjs=require('./chunk-NH74IT7B.cjs'),chunkPHWIO4P3_cjs=require('./chunk-PHWIO4P3.cjs'),chunkEZKR44MA_cjs=require('./chunk-EZKR44MA.cjs'),chunk6SYU4MH7_cjs=require('./chunk-6SYU4MH7.cjs');var Rr={variable:"",global:"global:",tag:"#",datasource:"ds:"};function hn(e,t){return Rr[e]+t}function bn(e,t){return hn("datasource",`${e}:${JSON.stringify(t)}`)}var yt=new Set,ht=new Set,yn=class{constructor(){this.consumers=new Map;this.producers=new Map;this.dependencies=new Map;this.writes=new Map;this.lineReads=new Map;this.pinnedReads=new Map;}hasSameEdges(t,n,r,o,i){if(t===void 0||t.size!==r.length+(i?.size??0))return false;if(o.length===0){if(n!==void 0)return false}else if(n===void 0||n.size!==o.length)return false;for(let a of r)if(!t.has(a))return false;if(n!==void 0){for(let a of o)if(!n.has(a))return false}return true}registerLine(t,n,r){let o=this.pinnedReads.size!==0?this.pinnedReads.get(t):void 0,i=this.lineReads.get(t),a=this.writes.get(t);if(this.hasSameEdges(i,a,n,r,o))return;if(i)for(let s of i){if(o?.has(s))continue;let l=this.consumers.get(s);l&&l.delete(t);}if(a)for(let s of a){let l=this.producers.get(s);l&&l.delete(t);}let u=new Set(n);if(o)for(let s of o)u.add(s);this.lineReads.set(t,u);for(let s of n){let l=this.consumers.get(s);l!==void 0?l.add(t):this.consumers.set(s,new Set([t]));}for(let s of r){let l=this.producers.get(s);l!==void 0?l.add(t):this.producers.set(s,new Set([t]));}if(r.length>0){this.dependencies.set(t,o===void 0?u:new Set(n)),this.writes.set(t,new Set(r));for(let s of r){let l=this.consumers.get(s);l&&l.delete(t);}}else this.writes.delete(t),this.dependencies.delete(t);}registerLineDataSourceDependency(t,n,r){let o=bn(n,r),i=this.pinnedReads.get(t);i!==void 0?i.add(o):this.pinnedReads.set(t,new Set([o]));let a=this.lineReads.get(t);a===void 0?this.lineReads.set(t,new Set([o])):(a===this.dependencies.get(t)&&this.dependencies.set(t,new Set(a)),a.add(o));let u=this.consumers.get(o);u!==void 0?u.add(t):this.consumers.set(o,new Set([t]));}getAffectedLines(t){let n=new Set,r=this.consumers.get(t);if(r===void 0)return n;let o=new Set([t]),i=[r];for(let a=0;a<i.length;a++)for(let u of i[a]){if(n.has(u))continue;n.add(u);let s=this.writes.get(u);if(s!==void 0)for(let l of s){if(o.has(l))continue;o.add(l);let d=this.consumers.get(l);d!==void 0&&i.push(d);}}return n}getAffectedLinesInOrder(t){let n=this.getAffectedLines(t);if(n.size===0)return [];let r=n.size,o=new Array(r),i=new Array(r),a=new Array(r);{let b=0;for(let A of n)o[b]=A,i[b]=this.writes.get(A),a[b]=this.lineReads.get(A),b++;}let u=new Set;for(let b=0;b<r;b++){let A=i[b];if(A!==void 0)for(let j of A)u.add(j);}let s=new Map,l=[],d=[];for(let b=0;b<r;b++){let A=a[b];if(A===void 0)continue;let j=i[b];for(let Y of A){if(!u.has(Y)||j!==void 0&&j.has(Y))continue;let ee=s.get(Y);ee===void 0&&(ee=r+s.size,s.set(Y,ee)),l.push(ee),d.push(b);}}let h=r+s.size;if(s.size===0)return o;let g=[],I=[];for(let b=0;b<r;b++){let A=i[b];if(A!==void 0)for(let j of A){let Y=s.get(j);Y!==void 0&&(g.push(b),I.push(Y));}}let q=g.length,at=l.length,Pe=new Int32Array(h),Le=new Int32Array(h);for(let b=0;b<q;b++)Pe[g[b]]++,Le[I[b]]++;for(let b=0;b<at;b++)Pe[l[b]]++,Le[d[b]]++;let se=new Int32Array(h+1);for(let b=0;b<h;b++)se[b+1]=se[b]+Pe[b];let ut=new Int32Array(se[h]),st=Pe;st.set(se.subarray(0,h));for(let b=0;b<q;b++)ut[st[g[b]]++]=I[b];for(let b=0;b<at;b++)ut[st[l[b]]++]=d[b];let Fe=new Int32Array(h),ge=new Uint8Array(h),Ne=0;for(let b=0;b<h;b++)Le[b]===0&&(Fe[Ne++]=b,ge[b]=1);if(Ne===0){let b=0;for(let A=1;A<r;A++)o[A]<o[b]&&(b=A);Fe[Ne++]=b,ge[b]=1;}let Ue=[];for(let b=0;b<Ne;b++){let A=Fe[b];A<r&&Ue.push(o[A]);let j=se[A+1];for(let Y=se[A];Y<j;Y++){let ee=ut[Y];--Le[ee]===0&&ge[ee]===0&&(Fe[Ne++]=ee,ge[ee]=1);}}if(Ue.length<r){let b=[];for(let A=0;A<r;A++)ge[A]===0&&b.push(o[A]);b.sort((A,j)=>A-j);for(let A=0;A<b.length;A++)Ue.push(b[A]);}return Ue}getAffectedLinesByDataSource(t,n){return this.consumers.get(bn(t,n))??yt}removeLine(t){let n=this.lineReads.get(t);if(n){for(let o of n){let i=this.consumers.get(o);i&&i.delete(t);}this.lineReads.delete(t);}let r=this.writes.get(t);if(r)for(let o of r)this.producers.get(o)?.delete(t);r!==void 0&&(this.dependencies.delete(t),this.writes.delete(t)),this.pinnedReads.size!==0&&this.pinnedReads.delete(t);}getConsumers(t){return this.consumers.get(t)??yt}getProducers(t){return this.producers.get(t)??yt}getDependencies(t){return this.dependencies.get(t)??ht}getReads(t){return this.lineReads.get(t)??ht}getWrites(t){return this.writes.get(t)??ht}getSnapshot(){let t={};for(let[s,l]of this.consumers)t[s]=Array.from(l);let n={};for(let[s,l]of this.writes)n[s]=Array.from(l);let r={};for(let[s,l]of this.lineReads)r[s]=Array.from(l);let o={};for(let[s,l]of this.producers)o[s]=Array.from(l);let i=hn("datasource",""),a={};for(let[s,l]of this.lineReads){let d=Array.from(l).filter(h=>h.startsWith(i));d.length>0&&(a[s]=d.map(h=>h.slice(i.length)));}let u={};for(let[s,l]of this.consumers)s.startsWith(i)&&(u[s.slice(i.length)]=Array.from(l));return {consumers:t,producers:o,writes:n,reads:r,dataSourceDeps:a,dataSourceConsumers:u}}clear(){this.consumers.clear(),this.producers.clear(),this.dependencies.clear(),this.writes.clear(),this.lineReads.clear(),this.pinnedReads.clear();}};function gn(e,t){let n=t===2?chunk5N4XDULO_cjs.L:chunk5N4XDULO_cjs.M,r=n(e.n),o=n(e.d);return r===null||o===null?null:{n:r,d:o}}function Nn(e,t){let n=chunk5N4XDULO_cjs.y(e),r=new Map;for(let[o,i]of n){if(i%t!==0)return null;r.set(o,i/t);}return chunk5N4XDULO_cjs.x(r)}function Ar(e,t){let n=chunk5N4XDULO_cjs.y(e);for(let[r,o]of chunk5N4XDULO_cjs.y(t))n.set(r,(n.get(r)??0)+o);return chunk5N4XDULO_cjs.x(n)}function Rn(e,t){let n=chunk5N4XDULO_cjs.y(e);for(let[r,o]of chunk5N4XDULO_cjs.y(t)){let i=(n.get(r)??0)-o;i<=0?n.delete(r):n.set(r,i);}return chunk5N4XDULO_cjs.x(n)}function xr(e,t){let n=chunk5N4XDULO_cjs.y(e),r=new Map;for(let[o,i]of chunk5N4XDULO_cjs.y(t)){let a=n.get(o);a!==void 0&&r.set(o,Math.min(a,i));}return chunk5N4XDULO_cjs.x(r)}function Sr(e){let t=new Set;for(let n of e)for(let r of chunk5N4XDULO_cjs.y(n).keys())t.add(r);return [...t].sort()}function oe(e){let t=new Map;for(let n of e)t.set(n.key,n.coefficient);return chunk5N4XDULO_cjs.E({terms:t,vars:Sr(e.map(n=>n.key))})}function gt(e){let t=e[0];for(let n=1;n<e.length;n++)t={kind:"mul",left:t,right:e[n]};return t}function vr(e){return [...e.terms].map(([n,r])=>({key:n,coefficient:r})).sort((n,r)=>chunk5N4XDULO_cjs.D(n.key,r.key,e.vars))}function Sn(e){if(e.vars.length<2)return null;let t=vr(e);return t.length===2?Mr(t[0],t[1]):t.length===3?Ir(t):t.length===4?Er(t):null}function Mr(e,t){let n=e.coefficient.n>0n,r=t.coefficient.n>0n;if(!n)return null;let o=Nt(e,t,2);if(o!==null&&!r)return gt([oe([o.a,Xe(o.b)]),oe([o.a,o.b])]);let i=Nt(e,t,3);if(i===null)return null;let a=oe(r?[i.a,i.b]:[i.a,Xe(i.b)]),u=r?Xe(Ze(i.a,i.b)):Ze(i.a,i.b);return gt([a,oe([An(i.a),u,An(i.b)])])}function Nt(e,t,n){let r=t.coefficient.n<0n?chunk5N4XDULO_cjs.j(t.coefficient):t.coefficient,o=gn(e.coefficient,n),i=gn(r,n);if(o===null||i===null)return null;let a=Nn(e.key,n),u=Nn(t.key,n);return a===null||u===null?null:{a:{key:a,coefficient:o},b:{key:u,coefficient:i}}}function Xe(e){return {key:e.key,coefficient:chunk5N4XDULO_cjs.j(e.coefficient)}}function Ze(e,t){return {key:Ar(e.key,t.key),coefficient:chunk5N4XDULO_cjs.h(e.coefficient,t.coefficient)}}function An(e){return Ze(e,e)}function Ir(e){let[t,n,r]=e;if(t.coefficient.n<0n||r.coefficient.n<0n)return null;let o=Nt(t,r,2);if(o===null)return null;let i=Ze(o.a,o.b);if(i.key!==n.key)return null;let a=chunk5N4XDULO_cjs.h(i.coefficient,{n:2n,d:1n}),u=n.coefficient.n<0n,s=u?chunk5N4XDULO_cjs.j(n.coefficient):n.coefficient;return chunk5N4XDULO_cjs.m(chunk5N4XDULO_cjs.i(s,a))?{kind:"pow",base:oe([o.a,u?Xe(o.b):o.b]),exponent:chunk5N4XDULO_cjs.p(2)}:null}function Er(e){let t=[[[0,1],[2,3]],[[0,2],[1,3]],[[0,3],[1,2]]];for(let n of t){let r=xn(e[n[0][0]],e[n[0][1]]),o=xn(e[n[1][0]],e[n[1][1]]);if(!(r===null||o===null)&&kr(r.cofactor,o.cofactor))return gt([oe([r.common,o.common]),oe(r.cofactor)])}return null}function xn(e,t){let n=xr(e.key,t.key),r={key:n,coefficient:e.coefficient},o=[{key:Rn(e.key,n),coefficient:{n:1n,d:1n}},{key:Rn(t.key,n),coefficient:chunk5N4XDULO_cjs.i(t.coefficient,e.coefficient)}];return o[0].key===o[1].key?null:{common:r,cofactor:o}}function kr(e,t){return e.length!==t.length?false:e.every((n,r)=>n.key===t[r].key&&n.coefficient.n===t[r].coefficient.n&&n.coefficient.d===t[r].coefficient.d)}var wr=12,He=4096,_r=100000n;function We(e,t){let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;){let o=n%r;n=r,r=o;}return n}function Mn(e,t){return e===0n||t===0n?0n:e/We(e,t)*t}function vn(e){let t=e<0n?-e:e;if(t===0n)return null;let n=[];for(let r=1n;r*r<=t;r++){if(r>_r)return null;if(t%r!==0n)continue;n.push(r);let o=t/r;if(o!==r&&n.push(o),n.length>He)return null}return n}function In(e,t){let n=chunk5N4XDULO_cjs.a;for(let r of e)n=chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.h(n,t),r);return n}function Tr(e,t){let n=[e[0]];for(let r=1;r<e.length-1;r++)n.push(chunk5N4XDULO_cjs.f(e[r],chunk5N4XDULO_cjs.h(n[r-1],t)));return n}function be(e){if(e.length<2)return [];if(e.length===2){let[l,d]=e;return chunk5N4XDULO_cjs.l(l)?[]:[chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.a,d),l)]}let t=1n;for(let l of e)t=Mn(t,l.d);let n=e.map(l=>l.n*t/l.d),r=n[0],o=n[n.length-1];if(o===0n)return [];let i=vn(o),a=vn(r);if(i===null||a===null)throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_FACTOR_LIMIT_EXCEEDED","This polynomial's coefficients have too many divisors to search for rational roots.",{limit:He});if(i.length*a.length>He)throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_FACTOR_LIMIT_EXCEEDED","This polynomial has too many candidate rational roots to test.",{limit:He});let u=[],s=new Set;for(let l of i)for(let d of a)for(let h of [1n,-1n]){let g={n:h*l/We(l,d),d:d/We(l,d)},I=`${g.n}/${g.d}`;s.has(I)||(s.add(I),chunk5N4XDULO_cjs.l(In(e,g))&&u.push(g));}return u}function Vr(e,t){return chunk5N4XDULO_cjs.l(t)?chunk5N4XDULO_cjs.q(e):t.n>0n?{kind:"sub",left:chunk5N4XDULO_cjs.q(e),right:chunk5N4XDULO_cjs.p(t)}:{kind:"add",left:chunk5N4XDULO_cjs.q(e),right:chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.j(t))}}function Or(e,t){let n=e.length-1,r=new Map;return e.forEach((o,i)=>{if(chunk5N4XDULO_cjs.l(o))return;let a=n-i;r.set(a===0?"":a===1?t:`${t}^${a}`,o);}),chunk5N4XDULO_cjs.E({terms:r,vars:r.size>0?[t]:[]})}function At(e,t){let n=[],r=[...e],o=be(r);for(;o.length>0&&r.length>2;){for(let a of o){let u=0;for(;r.length>1&&chunk5N4XDULO_cjs.l(In(r,a));)r=Tr(r,a),u++;u>0&&n.push({base:Vr(t,a),power:u});}o=r.length>2?be(r):[];}return r.length-1>=1?(n.push({base:Or(r,t),power:1}),{content:chunk5N4XDULO_cjs.b,factors:n}):{content:r.length===1?r[0]:chunk5N4XDULO_cjs.b,factors:n}}function Cr(e){let t=[];chunk5N4XDULO_cjs.m(e.content)||t.push(chunk5N4XDULO_cjs.p(e.content));for(let r of e.factors)t.push(r.power===1?r.base:chunk5N4XDULO_cjs.r(r.base,chunk5N4XDULO_cjs.p({n:BigInt(r.power),d:1n})));if(t.length===0)return chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.b);let n=t[0];for(let r=1;r<t.length;r++)n={kind:"mul",left:n,right:t[r]};return n}function Dr(e){let t=0n,n=1n;for(let r of e.terms.values())t=We(t,r.n),n=Mn(n,r.d);return t===0n?chunk5N4XDULO_cjs.b:{n:t,d:n}}function Pr(e){let t=new Map;for(let o of e.vars){let i=1/0;for(let a of e.terms.keys()){let u=Lr(a,o);u<i&&(i=u);}i>0&&i!==1/0&&t.set(o,i);}if(t.size===0)return {monomial:t,reduced:e};let n=new Map;for(let[o,i]of e.terms){let a=Rt(o);for(let[u,s]of t)a.set(u,(a.get(u)??0)-s);n.set(Fr(a),i);}let r=new Set;for(let o of n.keys())for(let i of Rt(o).keys())r.add(i);return {monomial:t,reduced:{terms:n,vars:[...r].sort()}}}function Lr(e,t){return Rt(e).get(t)??0}function Rt(e){let t=new Map;if(e==="")return t;for(let n of e.split("*")){let r=n.indexOf("^");r===-1?t.set(n,1):t.set(n.slice(0,r),Number(n.slice(r+1)));}return t}function Fr(e){return [...e.keys()].filter(n=>(e.get(n)??0)>0).sort().map(n=>e.get(n)===1?n:`${n}^${e.get(n)}`).join("*")}function Ur(e){let t=[...e.keys()].sort(),n=null;for(let r of t){let o=e.get(r),i=o===1?chunk5N4XDULO_cjs.q(r):chunk5N4XDULO_cjs.r(chunk5N4XDULO_cjs.q(r),chunk5N4XDULO_cjs.p({n:BigInt(o),d:1n}));n=n===null?i:{kind:"mul",left:n,right:i};}return n}function En(e){let t=chunk5N4XDULO_cjs.C(e);if(t===null||t.terms.size===0||chunk5N4XDULO_cjs.z(t)>wr||t.vars.length===0)return e;let n=Dr(t),r=chunk5N4XDULO_cjs.m(n)?t:$r(t,chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.b,n)),{monomial:o,reduced:i}=Pr(r),a=Ur(o),u=chunk5N4XDULO_cjs.A(i);if(u===null){let q=Sn(i);return q!==null?Br(n,a,q):qr(n,a,i)??e}let s=[...chunk5N4XDULO_cjs.B(i,u)].reverse(),l=At(s,u),d=chunk5N4XDULO_cjs.h(n,l.content);if(l.factors.length<=1&&(l.factors[0]?.power??1)===1&&a===null&&chunk5N4XDULO_cjs.m(d))return e;let g=[];chunk5N4XDULO_cjs.m(d)||g.push(chunk5N4XDULO_cjs.p(d)),a!==null&&g.push(a),g.push(Cr({content:chunk5N4XDULO_cjs.b,factors:l.factors}));let I=g[0];for(let q=1;q<g.length;q++)I={kind:"mul",left:I,right:g[q]};return I}function $r(e,t){let n=new Map;for(let[r,o]of e.terms)n.set(r,chunk5N4XDULO_cjs.h(o,t));return {terms:n,vars:e.vars}}function Br(e,t,n){let r=[];chunk5N4XDULO_cjs.m(e)||r.push(chunk5N4XDULO_cjs.p(e)),t!==null&&r.push(t),r.push(n);let o=r[0];for(let i=1;i<r.length;i++)o={kind:"mul",left:o,right:r[i]};return o}function qr(e,t,n){if(t===null&&chunk5N4XDULO_cjs.m(e))return null;let r=[];chunk5N4XDULO_cjs.m(e)||r.push(chunk5N4XDULO_cjs.p(e)),t!==null&&r.push(t),r.push(chunk5N4XDULO_cjs.E(n));let o=r[0];for(let i=1;i<r.length;i++)o={kind:"mul",left:o,right:r[i]};return o}var V={n:2n,d:1n},G={n:3n,d:1n},Ee={n:4n,d:1n};function Yr(e,t,n,r){let o=chunk5N4XDULO_cjs.j(chunk5N4XDULO_cjs.i(t,chunk5N4XDULO_cjs.h(G,e))),i=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.h(G,chunk5N4XDULO_cjs.h(e,n)),chunk5N4XDULO_cjs.h(t,t)),chunk5N4XDULO_cjs.h(G,chunk5N4XDULO_cjs.h(e,e))),a=chunk5N4XDULO_cjs.h(V,chunk5N4XDULO_cjs.h(t,chunk5N4XDULO_cjs.h(t,t))),u=chunk5N4XDULO_cjs.h({n:9n,d:1n},chunk5N4XDULO_cjs.h(e,chunk5N4XDULO_cjs.h(t,n))),s=chunk5N4XDULO_cjs.h({n:27n,d:1n},chunk5N4XDULO_cjs.h(chunk5N4XDULO_cjs.h(e,e),r)),l=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.g(a,u),s),chunk5N4XDULO_cjs.h({n:27n,d:1n},chunk5N4XDULO_cjs.h(e,chunk5N4XDULO_cjs.h(e,e))));return {p:i,q:l,shift:o}}function wn(e,t,n,r){let{p:o,q:i,shift:a}=Yr(e,t,n,r),u=chunk5N4XDULO_cjs.j(chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.h(Ee,chunk5N4XDULO_cjs.h(o,chunk5N4XDULO_cjs.h(o,o))),chunk5N4XDULO_cjs.h({n:27n,d:1n},chunk5N4XDULO_cjs.h(i,i))));return chunk5N4XDULO_cjs.k(u,chunk5N4XDULO_cjs.a)>0?{exact:[],approximate:jr(o,i,a)}:chunk5N4XDULO_cjs.l(u)?{exact:Kr(o,i,a),approximate:[]}:{exact:Gr(o,i,a),approximate:[]}}function Kr(e,t,n){if(chunk5N4XDULO_cjs.l(e))return [chunk5N4XDULO_cjs.p(n)];let r=chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(G,t),e),n),o=chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.j(chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(G,t),chunk5N4XDULO_cjs.h(V,e))),n);return [r,o].sort(chunk5N4XDULO_cjs.k).map(chunk5N4XDULO_cjs.p)}function Gr(e,t,n){let r=chunk5N4XDULO_cjs.j(chunk5N4XDULO_cjs.i(t,V)),o=chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.h(chunk5N4XDULO_cjs.i(t,V),chunk5N4XDULO_cjs.i(t,V)),chunk5N4XDULO_cjs.h(chunk5N4XDULO_cjs.i(e,G),chunk5N4XDULO_cjs.h(chunk5N4XDULO_cjs.i(e,G),chunk5N4XDULO_cjs.i(e,G)))),i=chunk5N4XDULO_cjs.O(o),a={kind:"call",name:"cbrt",args:[{kind:"add",left:chunk5N4XDULO_cjs.p(r),right:i}]},u={kind:"call",name:"cbrt",args:[{kind:"sub",left:chunk5N4XDULO_cjs.p(r),right:i}]},s={kind:"add",left:a,right:u},l={kind:"sub",left:a,right:u},d={kind:"add",left:chunk5N4XDULO_cjs.p(n),right:{kind:"div",left:{kind:"neg",operand:s},right:chunk5N4XDULO_cjs.p(V)}},h={kind:"mul",left:{kind:"div",left:{kind:"mul",left:l,right:chunk5N4XDULO_cjs.O(G)},right:chunk5N4XDULO_cjs.p(V)},right:chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.n)};return [{kind:"add",left:chunk5N4XDULO_cjs.p(n),right:s},{kind:"sub",left:d,right:h},{kind:"add",left:d,right:h}]}function jr(e,t,n){let r=chunk5N4XDULO_cjs.e(e),o=chunk5N4XDULO_cjs.e(t),i=chunk5N4XDULO_cjs.e(n),a=2*Math.sqrt(-r/3),u=3*o/(2*r)*Math.sqrt(-3/r),s=Math.acos(Math.min(1,Math.max(-1,u)))/3;return [0,1,2].map(l=>a*Math.cos(s-2*Math.PI*l/3)+i).sort((l,d)=>l-d)}function Xr(e,t,n,r){let o=chunk5N4XDULO_cjs.j(chunk5N4XDULO_cjs.i(e,Ee)),i=chunk5N4XDULO_cjs.h(e,e),a=chunk5N4XDULO_cjs.g(t,chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(G,i),{n:8n,d:1n})),u=chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.g(n,chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(e,t),V)),chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(i,e),{n:8n,d:1n})),s=chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.g(r,chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(e,n),Ee)),chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(i,t),{n:16n,d:1n})),chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.h(G,chunk5N4XDULO_cjs.h(i,i)),{n:256n,d:1n}));return {p:a,q:u,r:s,shift:o}}function _n(e,t,n,r,o,i){let a=I=>chunk5N4XDULO_cjs.i(I,e),{p:u,q:s,r:l,shift:d}=Xr(a(t),a(n),a(r),a(o)),h=chunk5N4XDULO_cjs.l(s)?Hr(u,l):Jr(u,s,l,i);if(h===null)return null;let g=chunk5N4XDULO_cjs.l(d)?h:h.map(I=>({kind:"add",left:chunk5N4XDULO_cjs.p(d),right:I}));return {exact:Zr(g),approximate:[]}}function Zr(e){let t=new Set,n=[];for(let r of e){let o=chunk5N4XDULO_cjs.t(chunk5N4XDULO_cjs.Q(r));t.has(o)||(t.add(o),n.push(r));}return n}function Hr(e,t){let n=chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.h(e,e),chunk5N4XDULO_cjs.h(Ee,t));if(chunk5N4XDULO_cjs.k(n,chunk5N4XDULO_cjs.a)<0)return Qr(e,t);let r=chunk5N4XDULO_cjs.N(n);return r!==null?Wr(chunk5N4XDULO_cjs.j(e),r,chunk5N4XDULO_cjs.l(n)):zr(e,t,n)}function Wr(e,t,n){let r=n?[chunk5N4XDULO_cjs.i(e,V)]:[chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.f(e,t),V),chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.g(e,t),V)],o=[];for(let i of r){if(chunk5N4XDULO_cjs.l(i)){o.push(chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.a));continue}let a=chunk5N4XDULO_cjs.P(i);o.push({kind:"neg",operand:a},a);}return o}function zr(e,t,n){let r=chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.j(e)),o=chunk5N4XDULO_cjs.O(n),i=chunk5N4XDULO_cjs.k(e,chunk5N4XDULO_cjs.a)<=0,a=[{node:xt({kind:"add",left:r,right:o}),positive:i||chunk5N4XDULO_cjs.k(t,chunk5N4XDULO_cjs.a)<=0},{node:xt({kind:"sub",left:r,right:o}),positive:i&&chunk5N4XDULO_cjs.k(t,chunk5N4XDULO_cjs.a)>=0}],u=[];for(let{node:s,positive:l}of a){let h={kind:"call",name:"sqrt",args:[l?s:{kind:"neg",operand:s}]},g=l?h:{kind:"mul",left:h,right:chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.n)};u.push({kind:"neg",operand:g},g);}return u}function xt(e){return {kind:"div",left:e,right:chunk5N4XDULO_cjs.p(V)}}function Qr(e,t){let n=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.j(e),V),r=chunk5N4XDULO_cjs.N(t),o=r===null?kn(chunk5N4XDULO_cjs.O(t),n):chunk5N4XDULO_cjs.O(chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.f(r,n),V)),a={kind:"mul",left:r===null?kn(chunk5N4XDULO_cjs.O(t),chunk5N4XDULO_cjs.j(n)):chunk5N4XDULO_cjs.O(chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.g(r,n),V)),right:chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.n)},u={kind:"add",left:o,right:a},s={kind:"sub",left:o,right:a};return [{kind:"neg",operand:u},{kind:"neg",operand:s},s,u]}function kn(e,t){let n=t.n>=0n?{kind:"add",left:e,right:chunk5N4XDULO_cjs.p(t)}:{kind:"sub",left:e,right:chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.j(t))};return {kind:"call",name:"sqrt",args:[xt(n)]}}function Jr(e,t,n,r){let o=[{n:1n,d:1n},chunk5N4XDULO_cjs.h(V,e),chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.h(e,e),chunk5N4XDULO_cjs.h(Ee,n)),chunk5N4XDULO_cjs.j(chunk5N4XDULO_cjs.h(t,t))];for(let i of be(o)){if(chunk5N4XDULO_cjs.k(i,chunk5N4XDULO_cjs.a)<=0)continue;let a=chunk5N4XDULO_cjs.N(i);if(a===null)continue;let u=chunk5N4XDULO_cjs.f(e,i),s=chunk5N4XDULO_cjs.i(t,a),l=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.g(u,s),V),d=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.f(u,s),V),h={n:1n,d:1n};return [...r(h,a,l),...r(h,chunk5N4XDULO_cjs.j(a),d)]}return null}var eo=200,to=1e-14,no=1e-10,ro=1e-10,Tn=1e-9,oo=1e-8,io=4;function ke(e,t){return {re:e.re-t.re,im:e.im-t.im}}function ao(e,t){return {re:e.re*t.re-e.im*t.im,im:e.re*t.im+e.im*t.re}}function On(e,t){if(Math.abs(t.re)>=Math.abs(t.im)){let o=t.im/t.re,i=t.re+t.im*o;return {re:(e.re+e.im*o)/i,im:(e.im-e.re*o)/i}}let n=t.re/t.im,r=t.re*n+t.im;return {re:(e.re*n+e.im)/r,im:(e.im*n-e.re)/r}}function z(e){return Math.hypot(e.re,e.im)}function ze(e,t){let n=0,r=0;for(let o of e){let i=n*t.re-r*t.im+o;r=n*t.im+r*t.re,n=i;}return {re:n,im:r}}function uo(e,t){let n=z(t),r=0;for(let o of e)r=r*n+Math.abs(o);return r}function so(e){let t=e.length-1,n=[];for(let r=0;r<t;r++)n.push(e[r]*(t-r));return n}function lo(e){let t=[...e].reverse(),r=[...chunk5N4XDULO_cjs.K(t)].reverse().map(chunk5N4XDULO_cjs.e);return r.some(o=>!Number.isFinite(o))?null:r}function co(e){let t=e.length-1,n=0;for(let a=1;a<e.length;a++)n=Math.max(n,Math.abs(e[a]));let r=1+n,o=-e[1]/t,i=[];for(let a=0;a<t;a++){let u=2*Math.PI*a/t+Math.PI/(2*t);i.push({re:o+r*Math.cos(u),im:r*Math.sin(u)});}return i}function mo(e){let t=e.length-1,n=co(e);for(let r=0;r<eo;r++){let o=0,i=1;for(let a=0;a<t;a++){let u={re:1,im:0};for(let l=0;l<t;l++)a!==l&&(u=ao(u,ke(n[a],n[l])));if(u.re===0&&u.im===0){n[a]={re:n[a].re+1e-6*(a+1),im:n[a].im+1e-6};continue}let s=On(ze(e,n[a]),u);if(!Number.isFinite(s.re)||!Number.isFinite(s.im))return null;n[a]=ke(n[a],s),o=Math.max(o,z(s)),i=Math.max(i,z(n[a]));}if(o<=to*i)return n}return null}function Vn(e,t,n){let r=n;for(let o=0;o<io;o++){let i=ze(t,r);if(i.re===0&&i.im===0)break;let a=ke(r,On(ze(e,r),i));if(!Number.isFinite(a.re)||!Number.isFinite(a.im))break;r=a;}return r}function fo(e,t,n){let r=Math.max(1,z(n));if(n.im!==0&&Math.abs(n.im)<=Tn*r){let o=Vn(e,t,{re:n.re,im:0});if(St(e,o))return {re:o.re,im:0}}if(n.re!==0&&Math.abs(n.re)<=Tn*r){let o=Vn(e,t,{re:0,im:n.im});if(St(e,o))return {re:0,im:o.im}}return n}function St(e,t){return !Number.isFinite(t.re)||!Number.isFinite(t.im)?false:z(ze(e,t))<=no*uo(e,t)}function po(e){let t=[...e],n=t.map(r=>r.im===0);for(let r=0;r<t.length;r++){if(n[r])continue;let o={re:t[r].re,im:-t[r].im},i=-1,a=Number.POSITIVE_INFINITY;for(let d=r+1;d<t.length;d++){if(n[d])continue;let h=z(ke(t[d],o));h<a&&(a=h,i=d);}if(i===-1||a>oo*Math.max(1,z(t[r])))continue;let u=(t[r].re+t[i].re)/2,s=(Math.abs(t[r].im)+Math.abs(t[i].im))/2,l=t[r].im<0?-1:1;t[r]={re:u,im:l*s},t[i]={re:u,im:-l*s},n[r]=true,n[i]=true;}return t}function bo(e){for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=Math.max(1,z(e[t]),z(e[n]));if(z(ke(e[t],e[n]))<=ro*r)return false}return true}function Cn(e){let t=lo(e);if(t===null)return null;if(t.length<2)return [];let n=mo(t);if(n===null)return null;let r=so(t),o=po(n).map(i=>fo(t,r,i));for(let i of o)if(!St(t,i))return null;return bo(o)?[...o].sort((i,a)=>i.re-a.re||i.im-a.im):null}var Dn=8;function yo(e,t){let n=chunk5N4XDULO_cjs.a;for(let r of e)n=chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.h(n,t),r);return n}function ho(e,t){let n=[e[0]];for(let r=1;r<e.length-1;r++)n.push(chunk5N4XDULO_cjs.f(e[r],chunk5N4XDULO_cjs.h(n[r-1],t)));return n}function Pn(e,t,n){let r=chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.h(t,t),chunk5N4XDULO_cjs.h(Ro(),chunk5N4XDULO_cjs.h(e,n))),o=chunk5N4XDULO_cjs.h(No(),e);if(chunk5N4XDULO_cjs.k(r,chunk5N4XDULO_cjs.a)<0)return go(chunk5N4XDULO_cjs.j(t),r,o);if(chunk5N4XDULO_cjs.l(r))return [chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.j(t),o))];let i=chunk5N4XDULO_cjs.L(r.n),a=chunk5N4XDULO_cjs.L(r.d);if(i!==null&&a!==null){let h={n:i,d:a},g=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.f(chunk5N4XDULO_cjs.j(t),h),o),I=chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.g(chunk5N4XDULO_cjs.j(t),h),o);return chunk5N4XDULO_cjs.k(I,g)<=0?[chunk5N4XDULO_cjs.p(I),chunk5N4XDULO_cjs.p(g)]:[chunk5N4XDULO_cjs.p(g),chunk5N4XDULO_cjs.p(I)]}let u=chunk5N4XDULO_cjs.O(r),s=chunk5N4XDULO_cjs.k(o,chunk5N4XDULO_cjs.a)>0,l={kind:"div",left:{kind:"sub",left:chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.j(t)),right:u},right:chunk5N4XDULO_cjs.p(o)},d={kind:"div",left:{kind:"add",left:chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.j(t)),right:u},right:chunk5N4XDULO_cjs.p(o)};return s?[l,d]:[d,l]}function go(e,t,n){let r=chunk5N4XDULO_cjs.j(t),o=chunk5N4XDULO_cjs.L(r.n),i=chunk5N4XDULO_cjs.L(r.d);if(o!==null&&i!==null){let l=chunk5N4XDULO_cjs.i({n:o,d:i},n),d=chunk5N4XDULO_cjs.i(e,n);return [chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.o(d,chunk5N4XDULO_cjs.j(l))),chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.o(d,l))]}let a=chunk5N4XDULO_cjs.i(e,n),u=chunk5N4XDULO_cjs.i(r,chunk5N4XDULO_cjs.h(n,n)),s={kind:"mul",left:chunk5N4XDULO_cjs.O(u),right:chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.n)};return chunk5N4XDULO_cjs.l(a)?[{kind:"neg",operand:s},s]:[{kind:"sub",left:chunk5N4XDULO_cjs.p(a),right:s},{kind:"add",left:chunk5N4XDULO_cjs.p(a),right:s}]}function No(){return {n:2n,d:1n}}function Ro(){return {n:4n,d:1n}}function Ao(e){return {re:e,im:0}}function Ln(e,t,n){let r=chunk5N4XDULO_cjs.C({kind:"sub",left:e,right:t});if(r===null)return {kind:"unsupported",reason:"this is not a polynomial equation (it divides by an unknown, or calls a function of one)"};let o=r.vars.filter(u=>u!==n),i=chunk5N4XDULO_cjs.z(r,n);if(o.length>0)return i!==1?{kind:"unsupported",reason:`solving for "${n}" needs the equation to be linear in it when other unknowns (${o.join(", ")}) are present`}:xo(r,n);if(i===0)return r.terms.size===0?{kind:"identity"}:{kind:"contradiction"};if(i>Dn)return {kind:"unsupported",reason:`degree ${i} is above the supported maximum of ${Dn}`};let a=[...chunk5N4XDULO_cjs.B(r,n)].reverse();return Mo(a)}function xo(e,t){let n=new Map,r=new Map;for(let[u,s]of e.terms){let l=u.split("*").filter(h=>h.length>0),d=l.indexOf(t);d===-1?r.set(u,s):(l.splice(d,1),n.set(l.join("*"),s));}let o=u=>{let s=new Set;for(let l of u.keys())for(let d of l.split("*"))d.length>0&&s.add(d.split("^")[0]);return [...s].sort()},i=chunk5N4XDULO_cjs.E({terms:n,vars:o(n)});return {kind:"roots",exact:[{kind:"div",left:{kind:"neg",operand:chunk5N4XDULO_cjs.E({terms:r,vars:o(r)})},right:i}],approximate:[]}}function So(e){return e.length===4?wn(e[0],e[1],e[2],e[3]):e.length===5?_n(e[0],e[1],e[2],e[3],e[4],Pn):null}function vo(e){let t=[],n=[...e],r=0;for(;n.length>1&&chunk5N4XDULO_cjs.l(n[n.length-1]);)n=n.slice(0,-1),r++;for(r>0&&t.push(chunk5N4XDULO_cjs.a);n.length>1;){let o=be(n);if(o.length===0)break;for(let i of o){let a=0;for(;n.length>1&&chunk5N4XDULO_cjs.l(yo(n,i));)n=ho(n,i),a++;a>0&&t.push(i);}}return {roots:t.sort(chunk5N4XDULO_cjs.k),remaining:n}}function Mo(e){let{roots:t,remaining:n}=vo(e),r=t.map(chunk5N4XDULO_cjs.p),o=[],i=n.length-1,a=e.length-n.length;if(i<=0)return ye(r,o,a,0,"");if(i===1)return r.push(chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.i(chunk5N4XDULO_cjs.j(n[1]),n[0]))),ye(r,o,a+1,0,"");if(i===2)return r.push(...Pn(n[0],n[1],n[2])),ye(r,o,a+2,0,"");let u=So(n);if(u!==null)return r.push(...u.exact),o.push(...u.approximate.map(Ao)),ye(r,o,a+i,0,"");let s=Cn(n);return s!==null?(o.push(...s),ye(r,o,a+i,0,"")):ye(r,o,a,i,`a degree-${i} factor of it has no exact solution here and the numerical method did not converge on that factor`)}function ye(e,t,n,r,o){let i=e.length+t.length,a=n>=1&&(i<1||i>n);return r>0||a?{kind:"incomplete",exact:e,approximate:t,missing:a?Math.max(1,n+r-i):r,reason:a?`${i} root${i===1?"":"s"} were produced for a degree-${n+r} equation, which does not add up`:o}:{kind:"roots",exact:e,approximate:t}}var Fn={0:"sqrt",1:"abs",2:"sin",3:"cos",4:"tan",5:"log",6:"ceil",7:"floor",8:"round",11:"asin",12:"acos",13:"atan",14:"atan2",15:"sinh",16:"cosh",17:"tanh",18:"asinh",19:"acosh",20:"atanh",21:"cbrt",23:"expm1",24:"exp",26:"hypot",28:"log10",29:"log1p",30:"log2",33:"sign",34:"trunc",35:"degtorad",36:"radtodeg",61:"root",62:"fact"},Io=31,na=new Set([67,68,69,70,71,72,73,74,75,76,77,78,79]);function O(e){if(e.type===9)return e.value;if(e.type===13||e.type===12)return null;let t=e.toNumber();return Number.isFinite(t)?chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.d(t)):null}function C(e){let t=chunk5N4XDULO_cjs.Q(e);return t.kind==="const"?chunkNH74IT7B_cjs.n(chunk5N4XDULO_cjs.e(t.value)):chunkNH74IT7B_cjs.K(t)}function Qe(e){return chunkNH74IT7B_cjs.P("SYMBOLIC_UNSUPPORTED_FUNCTION",`"${e}" cannot be applied to an expression that still contains an unknown.`)}function ra(e,t){let n=O(e),r=O(t);return n===null||r===null?Qe("^"):C(chunk5N4XDULO_cjs.r(n,r))}function oa(e){let t=O(e);return t===null?Qe("-"):C({kind:"neg",operand:t})}function ia(e,t){let n=[];for(let o of t){let i=chunkNH74IT7B_cjs.Q(o);if(i)return i;let a=O(o);if(a===null)return Qe(Fn[e]??`builtin ${e}`);n.push(a);}if(e===Io&&n.length===2)return C(chunk5N4XDULO_cjs.r(n[0],n[1]));let r=Fn[e];return r===void 0?Qe(`builtin ${e}`):C(chunk5N4XDULO_cjs.s(r,n))}function Eo(e){let t=C(e);return t.type===0&&!Number.isInteger(t.toNumber())?chunkNH74IT7B_cjs.K(e):t}function ko(e){return e.im===0?chunkNH74IT7B_cjs.n(e.re):chunkNH74IT7B_cjs.K(chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.o(chunk5N4XDULO_cjs.d(e.re),chunk5N4XDULO_cjs.d(e.im))))}function wo(e){switch(e.kind){case "identity":return chunkNH74IT7B_cjs.t("true for every value");case "contradiction":return chunkNH74IT7B_cjs.t("no solution");case "unsupported":return chunkNH74IT7B_cjs.P("SYMBOLIC_SOLVE_UNSUPPORTED",`Cannot solve this equation: ${e.reason}.`);case "incomplete":{let t=e.exact.length+e.approximate.length;return chunkNH74IT7B_cjs.P("SYMBOLIC_SOLVE_INCOMPLETE",`Only ${t} of this equation's ${t+e.missing} roots could be found: ${e.reason}.`)}case "roots":{let t=e.exact.map(Eo);for(let n of e.approximate)t.push(ko(n));return t.length===0?chunkNH74IT7B_cjs.t("no solution"):t.length===1?t[0]:chunkNH74IT7B_cjs.C(1,t.length,t.map(n=>n.type===9?n.value:n.toNumber()))}}}function $n(e,t,n){let r=O(e),o=O(t);return r===null||o===null?chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND","An equation side has no exact value to solve with."):wo(Ln(r,o,n))}function he(e,t){if(e.type===6&&t.type===6){if(e.unit===t.unit)return {lv:e.toNumber(),rv:t.toNumber(),unit:e.unit,sameMeasure:true};let n=chunkPHWIO4P3_cjs.c(e.unit),r=chunkPHWIO4P3_cjs.c(t.unit),o=chunkSF5QVUEI_cjs.c.isCurrency(e.unit)&&chunkSF5QVUEI_cjs.c.isCurrency(t.unit);if(n&&n===r){let i=chunkPHWIO4P3_cjs.e(t.toNumber(),t.unit,e.unit);return {lv:e.toNumber(),rv:i,unit:e.unit,sameMeasure:true}}if(o){let i=chunkSF5QVUEI_cjs.c.convertSync(t.toNumber(),t.unit,e.unit);if(i!==null)return {lv:e.toNumber(),rv:i,unit:e.unit,sameMeasure:true}}return {lv:e.toNumber(),rv:t.toNumber(),unit:void 0,sameMeasure:false}}return e.type===6?{lv:e.toNumber(),rv:t.toNumber(),unit:e.unit,sameMeasure:true}:t.type===6?{lv:e.toNumber(),rv:t.toNumber(),unit:t.unit,sameMeasure:true}:{lv:e.toNumber(),rv:t.toNumber(),unit:void 0,sameMeasure:true}}function we(e,t){let n=new Array(e.length),r;for(let o=0;o<e.length;o++){let i=e[o];if(i.type!==6||i.unit===void 0){n[o]=i.toNumber();continue}if(r===void 0){r=i,n[o]=i.toNumber();continue}let{rv:a,sameMeasure:u}=he(r,i);if(!u){let s=_e(r.unit,i.unit,t);return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",s??`Cannot combine incompatible units: ${r.unit??"?"} and ${i.unit??"?"}`)}n[o]=a;}return {magnitudes:n,unit:r?.unit}}var _o=1e-12;function To(e,t,n){let r=0;return Number.isFinite(e)&&Math.abs(e)>r&&(r=Math.abs(e)),Number.isFinite(t)&&Math.abs(t)>r&&(r=Math.abs(t)),Number.isFinite(n)&&Math.abs(n)>r&&(r=Math.abs(n)),r}function ya(e,t){let{lv:n,rv:r,sameMeasure:o}=he(e,t);if(!o)return {lv:n,rv:r,equal:false,sameMeasure:false};if(e.type===6&&t.type===6&&e.unit!==void 0&&e.unit===t.unit&&e.exact!==void 0&&t.exact!==void 0&&chunkSF5QVUEI_cjs.c.isCurrency(e.unit))return {lv:n,rv:r,equal:chunk5N4XDULO_cjs.qa(e.exact,t.exact)===0,sameMeasure:true};if(n===r)return {lv:n,rv:r,equal:true,sameMeasure:true};if(!Number.isFinite(n)||!Number.isFinite(r))return {lv:n,rv:r,equal:false,sameMeasure:true};let i=To(n,r,t.toNumber());return {lv:n,rv:r,equal:Math.abs(n-r)<=i*_o,sameMeasure:true}}var Vo={time:"duration",luminousIntensity:"luminous intensity"},Oo=new Set(["money","data"]),Co={add:"added",sub:"subtracted",mul:"multiplied",div:"divided"};function Je(e){if(chunkSF5QVUEI_cjs.c.isCurrency(e))return "money";let t=chunkPHWIO4P3_cjs.c(e);if(t!==void 0)return Vo[t]??t}function Bn(e){return Oo.has(e)?e:/^[aeiou]/.test(e)?`an ${e}`:`a ${e}`}function _e(e,t,n){let r=e===void 0?void 0:Je(e),o=t===void 0?void 0:Je(t);if(r!==void 0&&o!==void 0&&r!==o)return `${r} and ${o} cannot be ${n}`}function Do(e){return e!==void 0?Co[e]??"combined":"combined"}function ha(e,t){let n=Je(e),r=Je(t);if(n!==void 0&&r!==void 0&&n!==r)return `${Bn(n)} cannot be converted to ${Bn(r)}`}function ga(e,t){let n=e.type===6?e.unit:void 0,r=t.type===6?t.unit:void 0,o=_e(n,r,"compared");return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",o??`Cannot compare incompatible units: ${n??"?"} and ${r??"?"}`)}function qn(e){if(e.type===2)return e.value;let t=e.toNumber();if(!Number.isInteger(t)){let n=Number.isNaN(t)?"NaN":String(t);throw chunk6SYU4MH7_cjs.c.execution("BIGINT_INEXACT_OPERAND",`A whole-number (n) value can only be combined with another whole number, and ${n} is not one`,{operand:n})}return BigInt(t)}function Na(){return chunk6SYU4MH7_cjs.c.execution("BIGINT_DIVISION_BY_ZERO","Division by zero: a whole-number (n) division is exact integer division, which has no answer at zero, unlike 1 / 0 which is Infinity")}function Ra(e,t){let n=Yn(e),r=Yn(t);return n===null||r===null?null:n<r?-1:n>r?1:0}function Yn(e){if(e.type===2)return e.value;let t=e.toNumber();return Number.isInteger(t)?BigInt(t):null}function vt(e,t){return Number.isFinite(t)?Math.pow(e,t):e===1||e===-1&&!Number.isNaN(t)?1:Math.pow(e,t)}function Kn(e){return e.exact!==void 0?e.exact:chunk5N4XDULO_cjs.ha(e.toNumber())}function Po(e,t,n){let r=e.type===6&&e.unit!==void 0&&e.exact!==void 0&&chunkSF5QVUEI_cjs.c.isCurrency(e.unit),o=t.type===6&&t.unit!==void 0&&t.exact!==void 0&&chunkSF5QVUEI_cjs.c.isCurrency(t.unit);if(!r&&!o)return null;let i,a,u;if(r&&o){if(e.unit!==t.unit||n==="div")return null;i=e.exact,a=t.exact,u=e.unit;}else if(r&&t.type!==6)i=e.exact,u=e.unit,a=Kn(t);else if(o&&e.type!==6)a=t.exact,u=t.unit,i=Kn(e);else return null;if(i===null||a===null)return null;let s;switch(n){case "add":s=chunk5N4XDULO_cjs.ja(i,a);break;case "sub":s=chunk5N4XDULO_cjs.ka(i,a);break;case "mul":s=chunk5N4XDULO_cjs.la(i,a);break;case "div":if(chunk5N4XDULO_cjs.na(a))return null;s=chunk5N4XDULO_cjs.pa(i,a);break}return chunkNH74IT7B_cjs.v(chunk5N4XDULO_cjs.ra(s),u,s)}function et(e){return e.rational!==void 0?e.rational:(e.type===0||e.type===1)&&typeof e.value=="number"&&Number.isInteger(e.value)?chunk5N4XDULO_cjs.c(BigInt(e.value)):null}function Aa(e,t,n){let r=et(e);if(r===null)return null;let o=et(t);if(o===null||n==="div"&&chunk5N4XDULO_cjs.l(o))return null;let i;try{switch(n){case "add":i=chunk5N4XDULO_cjs.f(r,o);break;case "sub":i=chunk5N4XDULO_cjs.g(r,o);break;case "mul":i=chunk5N4XDULO_cjs.h(r,o);break;case "div":i=chunk5N4XDULO_cjs.i(r,o);break}}catch{return null}return chunkNH74IT7B_cjs.p(chunk5N4XDULO_cjs.e(i),i)}function xa(e,t,n){if(e.type!==0||t.type!==0)return null;let r=e.value,o=t.value,i=e.uncertainty??0,a=t.uncertainty??0,u,s;switch(n){case "add":u=r+o,s=Math.hypot(i,a);break;case "sub":u=r-o,s=Math.hypot(i,a);break;case "mul":u=r*o,s=Math.hypot(o*i,r*a);break;case "div":u=r/o,s=Math.hypot(i/o,r*a/(o*o));break}return chunkNH74IT7B_cjs.q(u,s)}function Sa(e,t){let n=et(e);if(n===null)return null;let r=et(t);return r===null?null:chunk5N4XDULO_cjs.k(n,r)}function va(e,t,n,r,o){if(e.type===13)return e;if(t.type===13)return t;if(e.type===12)return e;if(t.type===12)return t;if(o&&(e.type===9||t.type===9)){let i=O(e),a=O(t);return i===null||a===null?chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND","A symbolic expression cannot combine with a value that has no exact number (NaN or infinity)."):chunkNH74IT7B_cjs.K(chunk5N4XDULO_cjs.Q({kind:o,left:i,right:a}))}if(e.type===0&&t.type===0)return chunkNH74IT7B_cjs.n(n(e.value,t.value));if(e.type===2||t.type===2){let i=qn(e),a=qn(t);return r?chunkNH74IT7B_cjs.s(r(i,a)):chunkNH74IT7B_cjs.s(i+a)}if(e.type===6||t.type===6){if(o){let g=Po(e,t,o);if(g)return g}let{lv:i,rv:a,unit:u,sameMeasure:s}=he(e,t);if(!s){let g=e.type===6?e.unit:void 0,I=t.type===6?t.unit:void 0,q=_e(g,I,Do(o));return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",q??`Cannot combine incompatible units: ${g??"?"} and ${I??"?"}`)}let l=chunkNH74IT7B_cjs.u(n(i,a),u),d=e.datetimeSpan===true&&t.datetimeSpan===true,h=e.datetimeSpan===true&&t.type===0||t.datetimeSpan===true&&e.type===0;return (d||h)&&(l.datetimeSpan=true),l}if(e.type===7&&t.type===7){let i=e.value,a=t.value;if(!chunk5N4XDULO_cjs.V(i,a))return chunkNH74IT7B_cjs.P("DIMENSION_MISMATCH",`Cannot combine matrices of different shapes: ${i.rows}x${i.cols} and ${a.rows}x${a.cols}`);let u=new Array(i.data.length);for(let s=0;s<i.data.length;s++)u[s]=n(i.data[s],a.data[s]);return chunkNH74IT7B_cjs.C(i.rows,i.cols,u)}if(e.type===7){let i=e.value,a=t.toNumber(),u=i.data.map(s=>n(s,a));return chunkNH74IT7B_cjs.C(i.rows,i.cols,u)}if(t.type===7){let i=t.value,a=e.toNumber(),u=i.data.map(s=>n(a,s));return chunkNH74IT7B_cjs.C(i.rows,i.cols,u)}return chunkNH74IT7B_cjs.n(n(e.toNumber(),t.toNumber()))}var Gn=254,jn=200,Te=class{constructor(){this.handlers=new Map;this.nextOpcode=jn+1;}register(t){this.handlers.set(t.opcode,t.handler);}unregister(t){this.handlers.delete(t);}get(t){return this.handlers.get(t)}has(t){return this.handlers.has(t)}allocateOpcode(){if(this.nextOpcode>Gn)throw chunk6SYU4MH7_cjs.c.config("OPCODE_POOL_EXHAUSTED",`OpRegistry: dynamic opcode pool exhausted (max ${Gn-jn} allocations).`);return this.nextOpcode++}},Ea=new Te;var Zn=chunk5N4XDULO_cjs.ga(1);function Ve(e,t){return chunkSF5QVUEI_cjs.c.isCurrency(t)?e.exact??chunk5N4XDULO_cjs.ha(e.toNumber()):null}function Mt(e){if(!Number.isFinite(e))return null;if(Number.isInteger(e))return chunk5N4XDULO_cjs.ga(BigInt(e));let t=String(e);return /^-?\d+\.\d+$/.test(t)?chunk5N4XDULO_cjs.ia(t):null}function Hn(e,t,n){let r=Ve(e,n),o=Mt(t);if(r!==null&&o!==null){let i=chunk5N4XDULO_cjs.la(r,o);return chunkNH74IT7B_cjs.v(chunk5N4XDULO_cjs.ra(i),n,i)}return chunkNH74IT7B_cjs.u(e.toNumber()*t,n)}function Wn(e,t,n,r){let o=Ve(e,t),i=Mt(n);if(o!==null&&i!==null){let a=chunk5N4XDULO_cjs.ja(Zn,r===1?i:chunk5N4XDULO_cjs.ma(i)),u=chunk5N4XDULO_cjs.la(o,a);return chunkNH74IT7B_cjs.v(chunk5N4XDULO_cjs.ra(u),t,u)}return chunkNH74IT7B_cjs.u(e.toNumber()*(1+r*n),t)}function zn(e){let t=Mt(e);return t===null?null:chunk5N4XDULO_cjs.ja(Zn,t)}function Qn(e,t,n){let r=Ve(e,t),o=zn(n);if(r===null||o===null||chunk5N4XDULO_cjs.na(o))return null;let i=chunk5N4XDULO_cjs.pa(r,o);return chunkNH74IT7B_cjs.v(chunk5N4XDULO_cjs.ra(i),t,i)}function Jn(e,t,n){let r=Ve(e,t),o=zn(n);if(r===null||o===null||chunk5N4XDULO_cjs.na(o))return null;let i=chunk5N4XDULO_cjs.ka(r,chunk5N4XDULO_cjs.pa(r,o));return chunkNH74IT7B_cjs.v(chunk5N4XDULO_cjs.ra(i),t,i)}function er(e,t){let n=e.unit,r=n!==void 0&&chunkSF5QVUEI_cjs.c.isCurrency(n)?Lo(e,n):null;if(r===null)return {unit:n,shares:[{value:e.toNumber()/t,count:t}]};let o=BigInt(t),i=r/o,a=r-i*o,u=Number(a<0n?-a:a),s=r<0n?-1n:1n,l=Xn(i,t-u);return u===0?{unit:n,shares:[l]}:{unit:n,shares:[l,Xn(i+s,u)]}}function Xn(e,t){let n=chunk5N4XDULO_cjs.fa(e,2);return {value:chunk5N4XDULO_cjs.ra(n),exact:n,count:t}}function Lo(e,t){let n=Ve(e,t);return n===null?null:chunk5N4XDULO_cjs.oa(n,2).coef}var Fo=12;function tr(e,t){if(e.length===0||t.length===0)return [];let n=new Array(e.length+t.length-1).fill(chunk5N4XDULO_cjs.a);return e.forEach((r,o)=>{t.forEach((i,a)=>{n[o+a]=chunk5N4XDULO_cjs.f(n[o+a],chunk5N4XDULO_cjs.h(r,i));});}),n}function Uo(e,t){let n=[chunk5N4XDULO_cjs.b];for(let r=0;r<t;r++)n=tr(n,e);return n}function It(e,t){return e.map(n=>chunk5N4XDULO_cjs.i(n,t))}function $o(e,t){let n=[],r=0;for(;r<e.length&&chunk5N4XDULO_cjs.l(e[r]);)r++;r>0&&n.push({base:[chunk5N4XDULO_cjs.a,chunk5N4XDULO_cjs.b],power:r});let o=e.slice(r);if(o.length>1){let i=At([...o].reverse(),t);for(let a of i.factors){let u=chunk5N4XDULO_cjs.C(a.base);if(u===null)return null;n.push({base:[...chunk5N4XDULO_cjs.B(u,t)],power:a.power});}}return n.length>0?n:null}function Bo(e){let t=[];return e.forEach((n,r)=>{let o=n.base.length-1;for(let i=1;i<=n.power;i++)for(let a=0;a<o;a++)t.push({factor:r,power:i,degree:a});}),t}function qo(e,t,n){let r=Uo(t[e.factor].base,e.power),{quotient:o,remainder:i}=chunk5N4XDULO_cjs.H(n,r);if(!chunk5N4XDULO_cjs.G(i))return null;let a=new Array(e.degree).fill(chunk5N4XDULO_cjs.a);return a.push(chunk5N4XDULO_cjs.b),tr(o,a)}function Yo(e,t){let n=t.length;for(let r=0;r<n;r++){let o=-1;for(let i=r;i<n;i++)if(!chunk5N4XDULO_cjs.l(e[i][r])){o=i;break}if(o===-1)return null;[e[r],e[o]]=[e[o],e[r]],[t[r],t[o]]=[t[o],t[r]];for(let i=0;i<n;i++){if(i===r||chunk5N4XDULO_cjs.l(e[i][r]))continue;let a=chunk5N4XDULO_cjs.i(e[i][r],e[r][r]);for(let u=r;u<n;u++)e[i][u]=chunk5N4XDULO_cjs.g(e[i][u],chunk5N4XDULO_cjs.h(a,e[r][u]));t[i]=chunk5N4XDULO_cjs.g(t[i],chunk5N4XDULO_cjs.h(a,t[r]));}}return t.map((r,o)=>chunk5N4XDULO_cjs.i(r,e[o][o]))}function Et(e,t,n){if(t.length<2||t.length-1>Fo)return null;let r=chunk5N4XDULO_cjs.I(e,t),o=r.length>1?chunk5N4XDULO_cjs.H(e,r).quotient:[...e],i=r.length>1?chunk5N4XDULO_cjs.H(t,r).quotient:[...t];if(i.length===1)return {polynomial:It(o,i[0]),terms:[]};if(i.length===0)return null;let a=i[i.length-1],u=It(i,a),s=It(o,a),{quotient:l,remainder:d}=chunk5N4XDULO_cjs.H(s,u);if(chunk5N4XDULO_cjs.G(d))return {polynomial:l,terms:[]};let h=$o(u,n);if(h===null)return null;let g=Ko(h,u,d);return g===null?null:{polynomial:l,terms:g}}function Ko(e,t,n){let r=Bo(e),o=t.length-1;if(r.length!==o)return null;let i=[];for(let l of r){let d=qo(l,e,t);if(d===null)return null;i.push(d);}let a=[];for(let l=0;l<o;l++)a.push(i.map(d=>d[l]??chunk5N4XDULO_cjs.a));let u=[];for(let l=0;l<o;l++)u.push(n[l]??chunk5N4XDULO_cjs.a);let s=Yo(a,u);return s===null?null:Go(r,s,e)}function Go(e,t,n){let r=new Map;e.forEach((i,a)=>{let u=`${i.factor}:${i.power}`,s=r.get(u)??[];s[i.degree]=t[a],r.set(u,s);});let o=[];for(let[i,a]of r){let[u,s]=i.split(":").map(Number),l=[...a].map(d=>d??chunk5N4XDULO_cjs.a);l.every(chunk5N4XDULO_cjs.l)||o.push({numerator:l,base:n[u].base,power:s});}return o}function Oe(e,t){let n=new Map;return e.forEach((r,o)=>{chunk5N4XDULO_cjs.l(r)||n.set(o===0?"":o===1?t:`${t}^${o}`,r);}),n.size===0?chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.a):chunk5N4XDULO_cjs.E({terms:n,vars:e.length>1?[t]:[]})}function nr(e){let t=kt(e);if(t===null)return e;let n=Et(t.numerator,t.denominator,t.variable);if(n===null||n.terms.length===0)return e;let r=n.polynomial.length>0?Oe(n.polynomial,t.variable):null;for(let o of n.terms){let i=Oe(o.base,t.variable),a=o.power===1?i:chunk5N4XDULO_cjs.r(i,chunk5N4XDULO_cjs.p({n:BigInt(o.power),d:1n})),u=jo(o.numerator),s=u?o.numerator.map(d=>chunk5N4XDULO_cjs.j(d)):o.numerator,l={kind:"div",left:Oe(s,t.variable),right:a};r===null?r=u?{kind:"neg",operand:l}:l:r={kind:u?"sub":"add",left:r,right:l};}return r===null?e:chunk5N4XDULO_cjs.Q(r)}function jo(e){return e.some(t=>t.n<0n)&&e.every(t=>t.n<=0n)}function kt(e){if(e.kind!=="div")return null;let t=chunk5N4XDULO_cjs.C(e.left),n=chunk5N4XDULO_cjs.C(e.right);if(t===null||n===null)return null;let r=chunk5N4XDULO_cjs.A(n);return r===null||t.vars.some(o=>o!==r)?null:{numerator:chunk5N4XDULO_cjs.B(t,r),denominator:chunk5N4XDULO_cjs.B(n,r),variable:r}}var wt=16;function rr(){return chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.a)}function Q(){return chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.b)}function Xo(e,t){switch(e){case "sin":return chunk5N4XDULO_cjs.s("cos",[t]);case "cos":return {kind:"neg",operand:chunk5N4XDULO_cjs.s("sin",[t])};case "tan":return {kind:"div",left:Q(),right:chunk5N4XDULO_cjs.r(chunk5N4XDULO_cjs.s("cos",[t]),chunk5N4XDULO_cjs.p(2))};case "exp":return chunk5N4XDULO_cjs.s("exp",[t]);case "log":return {kind:"div",left:Q(),right:t};case "sqrt":return {kind:"div",left:Q(),right:{kind:"mul",left:chunk5N4XDULO_cjs.p(2),right:chunk5N4XDULO_cjs.s("sqrt",[t])}};case "asin":return {kind:"div",left:Q(),right:chunk5N4XDULO_cjs.s("sqrt",[or(t)])};case "acos":return {kind:"neg",operand:{kind:"div",left:Q(),right:chunk5N4XDULO_cjs.s("sqrt",[or(t)])}};case "atan":return {kind:"div",left:Q(),right:Zo(t)};case "sinh":return chunk5N4XDULO_cjs.s("cosh",[t]);case "cosh":return chunk5N4XDULO_cjs.s("sinh",[t]);case "tanh":return {kind:"div",left:Q(),right:chunk5N4XDULO_cjs.r(chunk5N4XDULO_cjs.s("cosh",[t]),chunk5N4XDULO_cjs.p(2))};case "abs":return chunk5N4XDULO_cjs.s("sign",[t]);default:return null}}function or(e){return {kind:"sub",left:Q(),right:chunk5N4XDULO_cjs.r(e,chunk5N4XDULO_cjs.p(2))}}function Zo(e){return {kind:"add",left:Q(),right:chunk5N4XDULO_cjs.r(e,chunk5N4XDULO_cjs.p(2))}}function Ce(e,t,n=1){if(n<0||!Number.isInteger(n))throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_DERIVATIVE_ORDER_LIMIT","A derivative order must be a whole number, at least zero.");if(n>wt)throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_DERIVATIVE_ORDER_LIMIT",`A derivative order above ${wt} is not supported.`,{limit:wt});let r=chunk5N4XDULO_cjs.Q(e);for(let o=0;o<n;o++)r=chunk5N4XDULO_cjs.Q(F(r,t));return r}function F(e,t){switch(e.kind){case "const":case "complex":return rr();case "var":return e.name===t?Q():rr();case "add":return {kind:"add",left:F(e.left,t),right:F(e.right,t)};case "sub":return {kind:"sub",left:F(e.left,t),right:F(e.right,t)};case "neg":return {kind:"neg",operand:F(e.operand,t)};case "mul":return {kind:"add",left:{kind:"mul",left:F(e.left,t),right:e.right},right:{kind:"mul",left:e.left,right:F(e.right,t)}};case "div":return {kind:"div",left:{kind:"sub",left:{kind:"mul",left:F(e.left,t),right:e.right},right:{kind:"mul",left:e.left,right:F(e.right,t)}},right:chunk5N4XDULO_cjs.r(e.right,chunk5N4XDULO_cjs.p(2))};case "pow":return Ho(e,t);case "call":{if(e.args.length!==1)return _t(e,t);let n=Xo(e.name,e.args[0]);return n===null?_t(e,t):{kind:"mul",left:n,right:F(e.args[0],t)}}}}function Ho(e,t){if(e.exponent.kind==="const"){let n=chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.g(e.exponent.value,chunk5N4XDULO_cjs.b));return {kind:"mul",left:{kind:"mul",left:e.exponent,right:chunk5N4XDULO_cjs.r(e.base,n)},right:F(e.base,t)}}return e.base.kind==="const"&&e.base.value.n>0n?{kind:"mul",left:{kind:"mul",left:e,right:chunk5N4XDULO_cjs.s("log",[e.base])},right:F(e.exponent,t)}:_t(e,t)}function _t(e,t){return chunk5N4XDULO_cjs.s("der",[e,chunk5N4XDULO_cjs.q(t)])}function ir(e,t){let n=chunk5N4XDULO_cjs.C(e);if(n===null||n.vars.filter(u=>u!==t).length>0||chunk5N4XDULO_cjs.z(n,t)>1)return null;let o=chunk5N4XDULO_cjs.B(n,t),i=o[0]??{n:0n,d:1n},a=o[1]??{n:0n,d:1n};return chunk5N4XDULO_cjs.l(a)?null:{slope:a,intercept:i}}function Wo(e,t){let n=chunk5N4XDULO_cjs.C(e);if(n===null)return null;let r=n.vars.filter(a=>a!==t);if(r.length>0)return {ok:false,reason:`it involves more than one unknown (${r.join(", ")})`};let o=chunk5N4XDULO_cjs.B(n,t),i=chunk5N4XDULO_cjs.p(0);return o.forEach((a,u)=>{if(chunk5N4XDULO_cjs.l(a))return;let s=u+1,l=chunk5N4XDULO_cjs.i(a,{n:BigInt(s),d:1n}),d={kind:"mul",left:chunk5N4XDULO_cjs.p(l),right:s===1?chunk5N4XDULO_cjs.q(t):chunk5N4XDULO_cjs.r(chunk5N4XDULO_cjs.q(t),chunk5N4XDULO_cjs.p(s))};i={kind:"add",left:i,right:d};}),{ok:true,value:chunk5N4XDULO_cjs.Q(i)}}function zo(e,t){if(e.kind!=="call"||e.args.length!==1)return null;let n=ir(e.args[0],t);if(n===null)return null;let r=e.args[0],o=i=>chunk5N4XDULO_cjs.Q({kind:"div",left:i,right:chunk5N4XDULO_cjs.p(n.slope)});switch(e.name){case "exp":return {ok:true,value:o(chunk5N4XDULO_cjs.s("exp",[r]))};case "sin":return {ok:true,value:o({kind:"neg",operand:chunk5N4XDULO_cjs.s("cos",[r])})};case "cos":return {ok:true,value:o(chunk5N4XDULO_cjs.s("sin",[r]))};case "log":return {ok:true,value:o({kind:"sub",left:{kind:"mul",left:r,right:chunk5N4XDULO_cjs.s("log",[r])},right:r})};default:return null}}function Qo(e,t){if(e.kind!=="div"||e.left.kind!=="const"||!Tt(e.left.value))return null;let n=ir(e.right,t);if(n!==null)return {ok:true,value:chunk5N4XDULO_cjs.Q({kind:"div",left:chunk5N4XDULO_cjs.s("log",[e.right]),right:chunk5N4XDULO_cjs.p(n.slope)})};let r=chunk5N4XDULO_cjs.C(e.right);if(r!==null&&r.vars.length===1&&r.vars[0]===t){let o=chunk5N4XDULO_cjs.B(r,t);if(o.length===3&&Tt(o[0])&&chunk5N4XDULO_cjs.l(o[1])&&Tt(o[2]))return {ok:true,value:chunk5N4XDULO_cjs.s("atan",[chunk5N4XDULO_cjs.q(t)])}}return null}function Tt(e){return e.n===1n&&e.d===1n}function Jo(e,t){let n=kt(e);if(n===null||n.variable!==t)return null;let r=Et(n.numerator,n.denominator,t);if(r===null)return null;let o=r.polynomial.length>0?ni(r.polynomial,t):chunk5N4XDULO_cjs.p(0);for(let i of r.terms){let a=ei(i,t);if(a===null)return {ok:false,reason:"its denominator has a repeated irreducible quadratic factor, which needs a reduction formula this does not have"};o={kind:"add",left:o,right:a};}return {ok:true,value:chunk5N4XDULO_cjs.Q(o)}}function ei(e,t){let n=e.base.length-1,r=Oe(e.base,t);if(n===1){let o=e.numerator[0]??chunk5N4XDULO_cjs.a;if(e.power===1)return {kind:"mul",left:chunk5N4XDULO_cjs.p(o),right:chunk5N4XDULO_cjs.s("log",[r])};let i=e.power-1,a=chunk5N4XDULO_cjs.i(o,{n:BigInt(-i),d:1n});return {kind:"div",left:chunk5N4XDULO_cjs.p(a),right:chunk5N4XDULO_cjs.r(r,chunk5N4XDULO_cjs.p({n:BigInt(i),d:1n}))}}return n!==2||e.power!==1?null:ti(e,t,r)}function ti(e,t,n){let r=e.numerator[0]??chunk5N4XDULO_cjs.a,o=e.numerator[1]??chunk5N4XDULO_cjs.a,[i,a]=e.base,u={n:1n,d:2n},s=chunk5N4XDULO_cjs.h(a,u),l={kind:"mul",left:chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.h(o,u)),right:chunk5N4XDULO_cjs.s("log",[n])},d=chunk5N4XDULO_cjs.g(r,chunk5N4XDULO_cjs.h(o,s));if(chunk5N4XDULO_cjs.l(d))return l;let h=chunk5N4XDULO_cjs.O(chunk5N4XDULO_cjs.g(i,chunk5N4XDULO_cjs.h(s,s))),g={kind:"add",left:chunk5N4XDULO_cjs.q(t),right:chunk5N4XDULO_cjs.p(s)},I={kind:"mul",left:{kind:"div",left:chunk5N4XDULO_cjs.p(d),right:h},right:chunk5N4XDULO_cjs.s("atan",[{kind:"div",left:g,right:h}])};return chunk5N4XDULO_cjs.l(o)?I:{kind:"add",left:l,right:I}}function ni(e,t){let n=chunk5N4XDULO_cjs.p(0);return e.forEach((r,o)=>{if(chunk5N4XDULO_cjs.l(r))return;let i=o+1,a=chunk5N4XDULO_cjs.i(r,{n:BigInt(i),d:1n}),u={kind:"mul",left:chunk5N4XDULO_cjs.p(a),right:i===1?chunk5N4XDULO_cjs.q(t):chunk5N4XDULO_cjs.r(chunk5N4XDULO_cjs.q(t),chunk5N4XDULO_cjs.p(i))};n={kind:"add",left:n,right:u};}),n}function De(e,t){let n=chunk5N4XDULO_cjs.Q(e);if(!chunk5N4XDULO_cjs.u(n).has(t))return {ok:true,value:chunk5N4XDULO_cjs.Q({kind:"mul",left:n,right:chunk5N4XDULO_cjs.q(t)})};let r=Wo(n,t);if(r!==null)return r;let o=zo(n,t);if(o!==null)return o;let i=Qo(n,t);if(i!==null)return i;let a=Jo(n,t);if(a!==null)return a;if(n.kind==="add"||n.kind==="sub"){let u=De(n.left,t);if(!u.ok)return u;let s=De(n.right,t);return s.ok?{ok:true,value:chunk5N4XDULO_cjs.Q({kind:n.kind,left:u.value,right:s.value})}:s}if(n.kind==="mul"&&n.left.kind==="const"){let u=De(n.right,t);return u.ok?{ok:true,value:chunk5N4XDULO_cjs.Q({kind:"mul",left:n.left,right:u.value})}:u}return {ok:false,reason:"no elementary antiderivative is known for this expression"}}var Vt=16;function ar(e,t,n,r){if(r<0||!Number.isInteger(r)||r>Vt)throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_TAYLOR_DEGREE_LIMIT",`A Taylor degree must be a whole number from 0 to ${Vt}.`,{limit:Vt});let o=chunk5N4XDULO_cjs.p(n),i=1n,a=chunk5N4XDULO_cjs.p(chunk5N4XDULO_cjs.a);for(let u=0;u<=r;u++){u>0&&(i*=BigInt(u));let s=Ce(e,t,u),l=chunk5N4XDULO_cjs.Q(chunk5N4XDULO_cjs.v(s,t,o));if(l.kind!=="const")throw chunk6SYU4MH7_cjs.c.execution("SYMBOLIC_TAYLOR_INEXACT",`The derivative of order ${u} does not reduce to an exact number at the expansion point, so this series cannot be computed exactly.`,{order:u});let d=chunk5N4XDULO_cjs.i(l.value,{n:i,d:1n});if(chunk5N4XDULO_cjs.l(d))continue;let h=chunk5N4XDULO_cjs.l(n)?chunk5N4XDULO_cjs.q(t):{kind:"sub",left:chunk5N4XDULO_cjs.q(t),right:o},g=u===0?chunk5N4XDULO_cjs.p(1):u===1?h:chunk5N4XDULO_cjs.r(h,chunk5N4XDULO_cjs.p(u));a={kind:"add",left:a,right:{kind:"mul",left:chunk5N4XDULO_cjs.p(d),right:g}};}return chunk5N4XDULO_cjs.Q(a)}function ur(e,t){return e.map(n=>t.map(r=>Ce(n,r)))}function ri(){let e=globalThis.Temporal;return e??void 0}function sr(e){if(e!==void 0&&typeof e!="string")return e;if(e==="date")return chunkEQNKDTMX_cjs.b;let t=ri();if(e==="temporal"){if(t===void 0)throw chunk6SYU4MH7_cjs.c.config("CALENDAR_TEMPORAL_UNAVAILABLE",'calendar: "temporal" was asked for, but this runtime has no Temporal. Node ships it from 26 (24 behind --harmony-temporal), and Chrome, Edge, Firefox and Opera ship it; Safari does not. Pass a polyfill-backed backend from "solve-engine/temporal", or use calendar: "auto" to compute on Date where Temporal is absent.');return chunkOBZJKZ2F_cjs.b(t)}return t===void 0?chunkEQNKDTMX_cjs.b:chunkOBZJKZ2F_cjs.b(t)}function oi(e={}){return {pluginFunctions:{},opRegistry:new Te,pluginFunctionOwners:{},networkEnabled:e.networkEnabled??true,calendar:sr(e.calendar)}}var lr=oi();var ii={1970:38.8,1971:40.5,1972:41.8,1973:44.4,1974:49.3,1975:53.8,1976:56.9,1977:60.6,1978:65.2,1979:72.6,1980:82.4,1981:90.9,1982:96.5,1983:99.6,1984:103.9,1985:107.6,1986:109.6,1987:113.6,1988:118.3,1989:124,1990:130.7,1991:136.2,1992:140.3,1993:144.5,1994:148.2,1995:152.4,1996:156.9,1997:160.5,1998:163,1999:166.6,2e3:172.2,2001:177.1,2002:179.9,2003:184,2004:188.9,2005:195.3,2006:201.6,2007:207.3,2008:215.3,2009:214.5,2010:218.1,2011:224.9,2012:229.6,2013:233,2014:236.7,2015:237,2016:240,2017:245.1,2018:251.1,2019:255.7,2020:258.8,2021:271,2022:292.7,2023:304.7,2024:313.7,2025:322.2,2026:332.7},mr=1970,fr=2026;function cr(e){return ii[Math.trunc(e)]}function Ot(e,t){let n=cr(e),r=cr(t);if(!(n===void 0||r===void 0||n===0))return r/n}function fu(e,t,n){let r=Ot(t,n);if(r!==void 0)return e*r}function ai(e){let t=Math.abs(e);return t<60?chunkNH74IT7B_cjs.u(e,"s"):t<3600?chunkNH74IT7B_cjs.u(e/60,"min"):t<86400?chunkNH74IT7B_cjs.u(e/3600,"h"):chunkNH74IT7B_cjs.u(e/86400,"d")}var ui=0;function Ct(e){if(e.type===6&&e.unit!==void 0){let t=chunkEZKR44MA_cjs.a[e.unit.toLowerCase()];if(t!==void 0&&t[0]===ui)return e.toNumber()*t[1]}return e.toNumber()}function si(e,t){if(t===1)return e;let n=`${e}s`;return chunkEZKR44MA_cjs.a[n.toLowerCase()]===void 0?e:n}function dr(e,t){let n,r=false;for(let o of e){if(Number.isNaN(o.toNumber())){r=true;continue}if(n===void 0){n=o;continue}let{lv:i,rv:a,sameMeasure:u}=he(n,o);if(!u){let s=n.type===6?n.unit:void 0,l=o.type===6?o.unit:void 0,d=_e(s,l,"compared");return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",d??`Cannot compare incompatible units: ${s??"?"} and ${l??"?"}`)}(t?a>i:a<i)&&(n=o);}return r?chunkNH74IT7B_cjs.n(NaN):n===void 0?chunkNH74IT7B_cjs.n(t?-1/0:1/0):n.type===6?n:chunkNH74IT7B_cjs.n(n.toNumber())}function tt(e,t){return t===void 0?chunkNH74IT7B_cjs.n(e):chunkNH74IT7B_cjs.u(e,t)}function nt(e,t){return e.type===6&&e.unit!==void 0?chunkNH74IT7B_cjs.u(t,e.unit):chunkNH74IT7B_cjs.n(t)}function pr(e,t){let n=Number.isFinite(t)?Math.min(100,Math.max(0,Math.trunc(t))):0;if(e.exact!==void 0){let a=chunk5N4XDULO_cjs.oa(e.exact,n);return rt(e,chunk5N4XDULO_cjs.ra(a),n,a)}let r=e.toNumber();if(!Number.isFinite(r))return rt(e,r,n);let o=Math.pow(10,n),i=r*o;return !Number.isFinite(i)||Math.abs(i)>Number.MAX_SAFE_INTEGER?rt(e,r,n):rt(e,Math.round(i)/o,n)}function rt(e,t,n,r){let o=e.type===6&&e.unit!==void 0?chunkNH74IT7B_cjs.u(t,e.unit):chunkNH74IT7B_cjs.n(t);return o.decimalPlaces=n,r!==void 0&&(o.exact=r),o}function br(e,t,n){if(Number.isFinite(e)&&Number.isFinite(t))return null;let r=Number.isFinite(e)?t:e;return chunkNH74IT7B_cjs.P("INVALID_INTEGER_OPERAND",`${n} needs two whole numbers, and ${Number.isNaN(r)?"one of them has no value":"one of them is infinite"}`)}function yr(e,t){let n=e,r=t;for(;r!==0;){let o=r;r=n%r,n=o;}return n}function li(e){let t=e.length;if(t===0)return 0;let n=e.reduce((r,o)=>r+o,0)/t;return e.reduce((r,o)=>r+(o-n)*(o-n),0)}function ot(e,t){let n=e.length;if(n===0)return 0;let r=t?n-1:n;return r<=0?0:li(e)/r}var ci=12,mi=new Set(["month","months","mo","mos","mth","mths"]);function J(e){return e.type!==6||e.unit===void 0?e.toNumber():chunkPHWIO4P3_cjs.c(e.unit)!=="time"?chunkNH74IT7B_cjs.P("INVALID_TERM",`a term is a length of time, and "${e.unit}" is not: write it as days, months or years`):mi.has(e.unit)?e.toNumber()/ci:chunkPHWIO4P3_cjs.e(e.toNumber(),e.unit,"year")}var Cu={0:e=>{let t=e[0].toNumber();return t>=0?chunkNH74IT7B_cjs.n(Math.sqrt(t)):C(chunk5N4XDULO_cjs.s("sqrt",[chunk5N4XDULO_cjs.p(t)]))},1:e=>e[0].type===7?chunk5N4XDULO_cjs.ca(e[0].value):nt(e[0],Math.abs(e[0].toNumber())),2:e=>chunkNH74IT7B_cjs.n(Math.sin(Ct(e[0]))),3:e=>chunkNH74IT7B_cjs.n(Math.cos(Ct(e[0]))),4:e=>chunkNH74IT7B_cjs.n(Math.tan(Ct(e[0]))),5:e=>chunkNH74IT7B_cjs.n(Math.log(e[0].toNumber())),6:e=>nt(e[0],Math.ceil(e[0].toNumber())),7:e=>nt(e[0],Math.floor(e[0].toNumber())),8:e=>e.length>=2?pr(e[0],e[1].toNumber()):nt(e[0],Math.round(e[0].toNumber())),9:e=>dr(e,false),10:e=>dr(e,true),11:e=>chunkNH74IT7B_cjs.n(Math.asin(e[0].toNumber())),12:e=>chunkNH74IT7B_cjs.n(Math.acos(e[0].toNumber())),13:e=>chunkNH74IT7B_cjs.n(Math.atan(e[0].toNumber())),14:e=>chunkNH74IT7B_cjs.n(Math.atan2(e[0].toNumber(),e[1].toNumber())),15:e=>chunkNH74IT7B_cjs.n(Math.sinh(e[0].toNumber())),16:e=>chunkNH74IT7B_cjs.n(Math.cosh(e[0].toNumber())),17:e=>chunkNH74IT7B_cjs.n(Math.tanh(e[0].toNumber())),18:e=>chunkNH74IT7B_cjs.n(Math.asinh(e[0].toNumber())),19:e=>chunkNH74IT7B_cjs.n(Math.acosh(e[0].toNumber())),20:e=>chunkNH74IT7B_cjs.n(Math.atanh(e[0].toNumber())),21:e=>chunkNH74IT7B_cjs.n(Math.cbrt(e[0].toNumber())),22:e=>chunkNH74IT7B_cjs.n(Math.clz32(e[0].toNumber())),23:e=>chunkNH74IT7B_cjs.n(Math.expm1(e[0].toNumber())),24:e=>chunkNH74IT7B_cjs.n(Math.exp(e[0].toNumber())),25:e=>chunkNH74IT7B_cjs.n(Math.fround(e[0].toNumber())),26:e=>chunkNH74IT7B_cjs.n(Math.hypot(...e.map(t=>t.toNumber()))),27:e=>chunkNH74IT7B_cjs.n(Math.imul(e[0].toNumber(),e[1].toNumber())),28:e=>chunkNH74IT7B_cjs.n(Math.log10(e[0].toNumber())),29:e=>chunkNH74IT7B_cjs.n(Math.log1p(e[0].toNumber())),30:e=>chunkNH74IT7B_cjs.n(Math.log2(e[0].toNumber())),31:e=>e[0].type===7?e[1].type!==0?chunkNH74IT7B_cjs.P("MATRIX_POWER_UNSUPPORTED",`pow: a matrix's exponent must be a whole number, as in "pow([1,2;3,4], 2)".`):chunk5N4XDULO_cjs.$(e[0].value,e[1].value):e[1].type===7?chunkNH74IT7B_cjs.P("MATRIX_POWER_UNSUPPORTED",'pow: a matrix may only be the base, as in "pow([1,2;3,4], 2)".'):chunkNH74IT7B_cjs.n(vt(e[0].toNumber(),e[1].toNumber())),32:()=>chunkNH74IT7B_cjs.n(Math.random()),33:e=>chunkNH74IT7B_cjs.n(Math.sign(e[0].toNumber())),34:e=>chunkNH74IT7B_cjs.n(Math.trunc(e[0].toNumber())),35:e=>chunkNH74IT7B_cjs.n(e[0].toNumber()*Math.PI/180),36:e=>chunkNH74IT7B_cjs.n(e[0].toNumber()*180/Math.PI),37:e=>{let t=e[0].toNumber(),n=e[1].toNumber();return t>n?chunkNH74IT7B_cjs.P("INVALID_RANGE",`roll: invalid range, ${t} is greater than ${n}`):chunkNH74IT7B_cjs.n(Math.floor(Math.random()*(n-t+1))+t)},38:e=>{let t=Math.trunc(Math.abs(e[0].toNumber())),n=Math.trunc(Math.abs(e[1].toNumber())),r=br(t,n,"gcd");return r||chunkNH74IT7B_cjs.n(yr(t,n))},39:e=>{let t=Math.trunc(Math.abs(e[0].toNumber())),n=Math.trunc(Math.abs(e[1].toNumber())),r=br(t,n,"lcm");return r||(t===0||n===0?chunkNH74IT7B_cjs.n(0):chunkNH74IT7B_cjs.n(t/yr(t,n)*n))},40:e=>{let t=Math.trunc(e[0].toNumber()),n=Math.trunc(e[1].toNumber());if(t<0||n<0||n>t)return chunkNH74IT7B_cjs.P("INVALID_RANGE",`permutation: invalid n=${t}, r=${n} (require 0 <= r <= n)`);let r=1;for(let o=0;o<n;o++)if(r*=t-o,!Number.isFinite(r))return chunkNH74IT7B_cjs.P("PERMUTATION_OVERFLOW",`permutation: P(${t}, ${n}) exceeds the maximum representable double (it passed it after ${o+1} of ${n} factors)`);return chunkNH74IT7B_cjs.n(r)},41:e=>{let t=Math.trunc(e[0].toNumber()),n=Math.trunc(e[1].toNumber());if(t<0||n<0||n>t)return chunkNH74IT7B_cjs.P("INVALID_RANGE",`combination: invalid n=${t}, r=${n} (require 0 <= r <= n)`);let r=Math.min(n,t-n),o=1;for(let i=0;i<r;i++)if(o=o*(t-i)/(i+1),!Number.isFinite(o))return chunkNH74IT7B_cjs.P("COMBINATION_OVERFLOW",`combination: C(${t}, ${n}) exceeds the maximum representable double (it passed it after ${i+1} of ${r} steps)`);return chunkNH74IT7B_cjs.n(Math.round(o))},42:e=>{if(e.length===0)return chunkNH74IT7B_cjs.n(0);let t=we(e,"averaged");if(t instanceof chunkNH74IT7B_cjs.m)return t;let n=t.magnitudes.reduce((r,o)=>r+o,0);return tt(n/t.magnitudes.length,t.unit)},43:e=>{if(e.length===0)return chunkNH74IT7B_cjs.n(0);let t=we(e,"ordered");if(t instanceof chunkNH74IT7B_cjs.m)return t;let n=t.magnitudes.slice().sort((o,i)=>o-i),r=Math.floor(n.length/2);return tt(n.length%2===0?(n[r-1]+n[r])/2:n[r],t.unit)},44:e=>{let t=we(e,"added");return t instanceof chunkNH74IT7B_cjs.m?t:tt(t.magnitudes.reduce((n,r)=>n+r,0),t.unit)},45:e=>chunkNH74IT7B_cjs.n(e.length),46:e=>{let[t,n,r]=e,{lv:o,rv:i}=he(t,n);if(o===0)return chunkNH74IT7B_cjs.P("PROPORTION_DIVIDE_BY_ZERO",`Cannot compute proportion: "${t.value}" is zero`);let a=r.toNumber()*(i/o);return r.type===6?chunkNH74IT7B_cjs.u(a,r.unit):chunkNH74IT7B_cjs.n(a)},47:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=e[2].toNumber();return n>r?chunkNH74IT7B_cjs.P("INVALID_RANGE",`clamp: invalid range, ${n} is greater than ${r}`):chunkNH74IT7B_cjs.n(Math.min(Math.max(t,n),r))},48:e=>chunkNH74IT7B_cjs.r(e[0].toNumber()),49:e=>chunkNH74IT7B_cjs.r(e[0].toNumber(),"bin"),50:e=>chunkNH74IT7B_cjs.n(Math.trunc(e[0].toNumber())),51:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;if(1+n<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`compoundInterest: rate ${n} makes (1 + rate) non-positive`);let o=t*Math.pow(1+n,r);return e[0].type===6?chunkNH74IT7B_cjs.u(o,e[0].unit):chunkNH74IT7B_cjs.n(o)},52:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;if(1+n<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`interestEarned: rate ${n} makes (1 + rate) non-positive`);let o=t*(Math.pow(1+n,r)-1);return e[0].type===6?chunkNH74IT7B_cjs.u(o,e[0].unit):chunkNH74IT7B_cjs.n(o)},53:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);return typeof r!="number"?r:t<=0||n<=0?chunkNH74IT7B_cjs.P("INVALID_RANGE","compoundInterestRate: principal and futureValue must both be positive"):r<=0?chunkNH74IT7B_cjs.P("INVALID_RANGE","compoundInterestRate: years must be greater than 0"):chunkNH74IT7B_cjs.n(Math.pow(n/t,1/r)-1)},54:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=e[2].toNumber();return t<=0||n<=0?chunkNH74IT7B_cjs.P("INVALID_RANGE","compoundInterestYears: principal and futureValue must both be positive"):1+r<=0||r===0?chunkNH74IT7B_cjs.P("INVALID_RATE",`compoundInterestYears: rate ${r} is not usable (must be > -1 and not 0)`):chunkNH74IT7B_cjs.n(Math.log(n/t)/Math.log(1+r))},55:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;let o=e[3].toNumber();if(t<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","loanRepayment: principal must be positive");if(r<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","loanRepayment: years must be positive");if(n<0)return chunkNH74IT7B_cjs.P("INVALID_RATE","loanRepayment: rate must not be negative");if(o<0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","loanRepayment: periodsPerYear must not be negative");let{totalRepayment:i}=Lt(t,n,r),a=o===0?i:i/(r*o);return e[0].type===6?chunkNH74IT7B_cjs.u(a,e[0].unit):chunkNH74IT7B_cjs.n(a)},56:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;let o=e[3].toNumber();if(t<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","loanInterest: principal must be positive");if(r<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","loanInterest: years must be positive");if(n<0)return chunkNH74IT7B_cjs.P("INVALID_RATE","loanInterest: rate must not be negative");if(o<0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","loanInterest: periodsPerYear must not be negative");let{totalInterest:i}=Lt(t,n,r),a=o===0?i:i/(r*o);return e[0].type===6?chunkNH74IT7B_cjs.u(a,e[0].unit):chunkNH74IT7B_cjs.n(a)},57:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;if(t<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","monthlyPayment: principal must be positive");if(r<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","monthlyPayment: years must be positive");if(n<0)return chunkNH74IT7B_cjs.P("INVALID_RATE","monthlyPayment: rate must not be negative");let{monthlyPayment:o}=Lt(t,n,r);return e[0].type===6?chunkNH74IT7B_cjs.u(o,e[0].unit):chunkNH74IT7B_cjs.n(o)},58:e=>{let t=e[0].toNumber(),n=e[1].toNumber();return e[0].type===6?Wn(e[0],e[0].unit,n,1):chunkNH74IT7B_cjs.n(t*(1+n))},59:e=>{let t=e[0].toNumber(),n=e[1].toNumber();return 1+n<=0?chunkNH74IT7B_cjs.P("INVALID_RATE",`taxRemove: rate ${n} makes (1 + rate) non-positive`):e[0].type===6?Qn(e[0],e[0].unit,n)??chunkNH74IT7B_cjs.u(t/(1+n),e[0].unit):chunkNH74IT7B_cjs.n(t/(1+n))},60:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=e[2].toNumber(),o=Ot(n,r);if(o===void 0)return chunkNH74IT7B_cjs.P("INFLATION_YEAR_OUT_OF_RANGE",`inflationAdjust: fromYear ${n} or toYear ${r} is outside the bundled CPI table's range (${mr}-${fr})`);let i=t*o;return e[0].type===6?chunkNH74IT7B_cjs.u(i,e[0].unit):chunkNH74IT7B_cjs.n(i)},61:e=>{let t=e[0].toNumber(),n=e[1].toNumber();return chunkNH74IT7B_cjs.n(vt(n,1/t))},62:e=>{let t=e[0].toNumber();if(!Number.isInteger(t)||t<0)return chunkNH74IT7B_cjs.P("INVALID_FACTORIAL_INPUT",`fact: ${t} is not a non-negative integer`);if(t>170)return chunkNH74IT7B_cjs.P("FACTORIAL_OVERFLOW",`fact: ${t}! exceeds the maximum representable double (170! is the largest finite factorial)`);let n=1;for(let r=2;r<=t;r++)n*=r;return chunkNH74IT7B_cjs.n(n)},63:e=>e[0].type===7?chunk5N4XDULO_cjs.ba(e[0].value):e[0],64:e=>e[0].type===7?chunk5N4XDULO_cjs.ca(e[0].value):chunkNH74IT7B_cjs.n(e[0].toNumber()),65:e=>e[0].type===7?chunk5N4XDULO_cjs.da(e[0].value):chunkNH74IT7B_cjs.n(1/e[0].toNumber()),66:e=>{let[t,n]=e;if(t.type===0&&n.type===0)return chunkNH74IT7B_cjs.n(t.toNumber()*n.toNumber());let r=o=>o.type===7?o.value:{rows:1,cols:1,data:[o.toNumber()],hasSymbolic:false};return chunk5N4XDULO_cjs._(r(t),r(n))},67:e=>{let[t]=e;return t.type!==9?t:C(chunk5N4XDULO_cjs.F(t.value))},68:e=>{let[t]=e;return t.type!==9?t:C(En(t.value))},69:e=>{let[t,n,r]=e;return r?.type!==3?chunkNH74IT7B_cjs.P("SOLVE_REQUIRES_VARIABLE_NAME","solve's second argument must be the name of the unknown."):$n(t,n,r.value)},70:e=>{let[t,n,r]=e,o=Pt(n,"der");if(typeof o!="string")return o;let i=O(t);return i===null?chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND","der needs an expression with an exact value."):C(Ce(i,o,r?.toNumber()??1))},71:e=>{let[t,n]=e,r=Pt(n,"integral");if(typeof r!="string")return r;let o=O(t);if(o===null)return chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND","integral needs an expression with an exact value.");let i=De(o,r);return i.ok?C(i.value):chunkNH74IT7B_cjs.P("SYMBOLIC_INTEGRAL_UNSUPPORTED",`Cannot integrate this: ${i.reason}.`)},72:e=>{let[t,n,r,o]=e,i=Pt(n,"taylor");if(typeof i!="string")return i;let a=O(t),u=O(r);return a===null||u===null||u.kind!=="const"?chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND","taylor needs an expression and an exact expansion point."):C(ar(a,i,u.value,o.toNumber()))},73:e=>{let t=[];for(let a of e){let u=O(a);if(u===null)return chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND","jacobian needs expressions with exact values.");t.push(u);}let n=new Set;for(let a of t)for(let u of chunk5N4XDULO_cjs.u(a))n.add(u);let r=[...n].sort();if(r.length===0)return chunkNH74IT7B_cjs.P("SYMBOLIC_JACOBIAN_NO_VARIABLES","jacobian needs at least one unknown to differentiate against.");let o=ur(t,r),i=[];for(let a of o)for(let u of a)i.push(chunk5N4XDULO_cjs.W(u));return chunkNH74IT7B_cjs.C(o.length,r.length,chunk5N4XDULO_cjs.Y(o.length,r.length,i))},74:e=>C(chunk5N4XDULO_cjs.w(chunk5N4XDULO_cjs.o(chunk5N4XDULO_cjs.a,chunk5N4XDULO_cjs.d(e[0].toNumber())))),75:e=>Dt("conj",e[0]),76:e=>Dt("re",e[0]),77:e=>Dt("im",e[0]),78:e=>{let t=e[0];return t.type!==9?t:C(chunk5N4XDULO_cjs.J(t.value))},79:e=>{let t=e[0];return t.type!==9?t:C(nr(t.value))},85:e=>{let t=e[0].toNumber(),n=e[1].toNumber();if(1+n<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`taxIn: rate ${n} makes (1 + rate) non-positive`);let r=t-t/(1+n);return e[0].type===6?Jn(e[0],e[0].unit,n)??chunkNH74IT7B_cjs.u(r,e[0].unit):chunkNH74IT7B_cjs.n(r)},86:e=>{let t=e[0].toNumber(),n=e[1].toNumber();return e[0].type===6?Hn(e[0],n,e[0].unit):chunkNH74IT7B_cjs.n(t*n)},87:e=>chunkNH74IT7B_cjs.n(Math.sin(e[0].toNumber()*Math.PI/180)),88:e=>chunkNH74IT7B_cjs.n(Math.cos(e[0].toNumber()*Math.PI/180)),89:e=>chunkNH74IT7B_cjs.n(Math.tan(e[0].toNumber()*Math.PI/180)),90:e=>chunkNH74IT7B_cjs.n(Math.asin(e[0].toNumber())*180/Math.PI),91:e=>chunkNH74IT7B_cjs.n(Math.acos(e[0].toNumber())*180/Math.PI),92:e=>chunkNH74IT7B_cjs.n(Math.atan(e[0].toNumber())*180/Math.PI),93:e=>chunkNH74IT7B_cjs.u(e[0].toNumber(),"days"),94:e=>{let t=typeof e[1]?.value=="string"?e[1].value:void 0,n=typeof e[2]?.value=="string"?e[2].value:void 0;if(t===void 0||n===void 0)return chunkNH74IT7B_cjs.P("UNKNOWN_UNIT",'both units have to be named, as in "12.5 minutes in minutes and seconds"');let r=chunkEZKR44MA_cjs.a[t.toLowerCase()],o=chunkEZKR44MA_cjs.a[n.toLowerCase()];if(r===void 0||o===void 0)return chunkNH74IT7B_cjs.P("UNKNOWN_UNIT",`${t} and ${n}: one of these is not a unit`);if(r[0]!==o[0])return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",`${t} and ${n} measure different things`);if(o[1]>=r[1])return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",`${t} and ${n}: name the larger unit first`);let i=e[0],a=i.type===6&&i.unit!==void 0?chunkEZKR44MA_cjs.a[i.unit.toLowerCase()]:void 0,u=i.toNumber()*(a?.[1]??r[1]),s=Math.floor(u/r[1]),l=Math.round((u-s*r[1])/o[1]*1e3)/1e3;return chunkNH74IT7B_cjs.t(`${s} ${t} ${l} ${n}`)},95:e=>{let t=e[0],n=String(e[1].value),r=t.type===6&&t.unit!==void 0?t.unit:"";return r.includes("/")?chunkNH74IT7B_cjs.P("INVALID_RATE_UNIT",`${r}/${n}: that is already a rate`):chunkNH74IT7B_cjs.u(t.toNumber(),`${r}/${n}`)},96:e=>{let t=e[0],n=e[1];if(n.type===6&&t.type===6&&chunkPHWIO4P3_cjs.i(n.unit)){let l=chunkPHWIO4P3_cjs.j(t.toNumber(),t.unit,n.toNumber(),n.unit);if(l!==null)return ai(l)}if(n.type!==6||n.unit===void 0||!n.unit.includes("/"))return chunkNH74IT7B_cjs.P("INVALID_RATE",'at: the right-hand side has to be a rate, as in "$30/hour"');let r=n.unit.indexOf("/"),o=n.unit.slice(0,r),i=n.unit.slice(r+1),a=t.type===6?t.unit:void 0,u=chunkEZKR44MA_cjs.a[i.toLowerCase()],s=a===void 0?void 0:chunkEZKR44MA_cjs.a[a.toLowerCase()];if(s!==void 0&&u!==void 0&&s[0]===u[0]){let d=t.toNumber()*s[1]/u[1]*n.toNumber();return o===""?chunkNH74IT7B_cjs.n(d):chunkNH74IT7B_cjs.u(d,o)}if(a!==void 0&&a===o){let l=t.toNumber()/n.toNumber();return chunkNH74IT7B_cjs.u(l,si(i,l))}if(a===void 0){let l=t.toNumber()*n.toNumber();return o===""?chunkNH74IT7B_cjs.n(l):chunkNH74IT7B_cjs.u(l,o)}return chunkNH74IT7B_cjs.P("INCOMPATIBLE_UNITS",`at: ${a} matches neither side of ${n.unit}`)},80:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;let o=e[3].toNumber();if(o<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`compounding: ${o} periods per year is not a period`);if(1+n/o<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`compounding: rate ${n} makes each period non-positive`);let i=t*Math.pow(1+n/o,o*r);return e[0].type===6?chunkNH74IT7B_cjs.u(i,e[0].unit):chunkNH74IT7B_cjs.n(i)},81:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;let o=e[3].toNumber();if(o<=0||1+n/o<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`compounding: rate ${n} over ${o} periods per year is not usable`);let i=t*(Math.pow(1+n/o,o*r)-1);return e[0].type===6?chunkNH74IT7B_cjs.u(i,e[0].unit):chunkNH74IT7B_cjs.n(i)},82:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);if(typeof r!="number")return r;if(1+n<=0)return chunkNH74IT7B_cjs.P("INVALID_RATE",`presentValue: rate ${n} makes (1 + rate) non-positive`);let o=t/Math.pow(1+n,r);return e[0].type===6?chunkNH74IT7B_cjs.u(o,e[0].unit):chunkNH74IT7B_cjs.n(o)},83:e=>{let t=e[0].toNumber(),n=e[1].toNumber();return t===0?chunkNH74IT7B_cjs.P("INVALID_RATE","roi: nothing was invested, so there is no return on it"):chunkNH74IT7B_cjs.n((n-t)/t)},84:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=J(e[2]);return typeof r!="number"?r:t<=0?chunkNH74IT7B_cjs.P("INVALID_RATE","annual return: the amount invested must be positive"):r<=0?chunkNH74IT7B_cjs.P("INVALID_RATE","annual return: the period must be longer than zero"):n<=0?chunkNH74IT7B_cjs.P("INVALID_RATE","annual return: nothing was returned, so there is no annual rate"):chunkNH74IT7B_cjs.N(Math.pow(n/t,1/r)-1)},97:e=>pr(e[0],e[1].toNumber()),98:e=>{let t=e[1].toNumber();return !Number.isInteger(t)||t<1?chunkNH74IT7B_cjs.P("INVALID_RANGE",`split: the number of shares must be a whole number of at least 1, not ${e[1].toNumber()}.`):chunkNH74IT7B_cjs.H(er(e[0],t))},99:e=>{let t=e[0].toNumber(),n=fi(e[1]),r=e[2].toNumber();if(n===null)return chunkNH74IT7B_cjs.P("INVALID_RANGE",'savings goal: the duration must be in months or years, e.g. "in 2 years".');if(t<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","savings goal: the target must be positive.");if(n<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","savings goal: the duration must be positive.");if(r<0)return chunkNH74IT7B_cjs.P("INVALID_RATE","savings goal: the rate must not be negative.");let o=di(t,r/12,n);return e[0].type===6?chunkNH74IT7B_cjs.u(o,e[0].unit):chunkNH74IT7B_cjs.n(o)},100:e=>{let t=e[0].toNumber(),n=e[1].toNumber(),r=e[2].toNumber(),o=e[3].toNumber(),i=typeof e[4]?.value=="string"?e[4].value:"periods";if(t<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","savings goal: the target must be positive.");if(n<=0)return chunkNH74IT7B_cjs.P("INVALID_RANGE","savings goal: the contribution must be positive.");if(o<0)return chunkNH74IT7B_cjs.P("INVALID_RATE","savings goal: the rate must not be negative.");let a=pi(t,n,o/r);return chunkNH74IT7B_cjs.u(a,i)},101:e=>chunkNH74IT7B_cjs.n(Math.sqrt(ot(e.map(t=>t.toNumber()),false))),102:e=>chunkNH74IT7B_cjs.n(Math.sqrt(ot(e.map(t=>t.toNumber()),true))),103:e=>chunkNH74IT7B_cjs.n(ot(e.map(t=>t.toNumber()),false)),104:e=>chunkNH74IT7B_cjs.n(ot(e.map(t=>t.toNumber()),true)),105:e=>{if(e.length===0)return chunkNH74IT7B_cjs.n(0);let t=we(e,"compared");if(t instanceof chunkNH74IT7B_cjs.m)return t;let n=t.magnitudes;return tt(Math.max(...n)-Math.min(...n),t.unit)},106:e=>{if(e.length===0)return chunkNH74IT7B_cjs.n(0);let t=new Map,n=e[0].toNumber(),r=0;for(let o of e){let i=o.toNumber(),a=(t.get(i)??0)+1;t.set(i,a),a>r&&(r=a,n=i);}return chunkNH74IT7B_cjs.n(n)},107:e=>{let t=0,n=0;for(let r=0;r+1<e.length;r+=2){let o=e[r].toNumber(),i=e[r+1].toNumber();t+=o*i,n+=i;}return n===0?chunkNH74IT7B_cjs.P("WEIGHTED_AVERAGE_ZERO_WEIGHT","weighted average: the weights sum to zero, so there is nothing to divide by"):chunkNH74IT7B_cjs.n(t/n)}};function fi(e){if(e.type!==6)return null;let t=e.unit;return t==="months"||t==="month"?e.toNumber():t==="years"||t==="year"?e.toNumber()*12:null}function di(e,t,n){return t===0?e/n:e*t/(Math.pow(1+t,n)-1)}function pi(e,t,n){let r=n===0?e/t:Math.log(1+e*n/t)/Math.log(1+n);return Math.ceil(r-1e-9)}function Dt(e,t){let n=O(t);return n===null?chunkNH74IT7B_cjs.P("SYMBOLIC_NONFINITE_OPERAND",e+" needs a value with an exact number."):C(chunk5N4XDULO_cjs.s(e,[n]))}function Pt(e,t){return e?.type!==3?chunkNH74IT7B_cjs.P("SYMBOLIC_REQUIRES_VARIABLE_NAME",`${t} needs the name of an unknown.`):e.value}function Lt(e,t,n){let r=n*12,o=t/12,i=o===0?e/r:e*o/(1-Math.pow(1+o,-r)),a=i*r,u=a-e;return {monthlyPayment:i,totalRepayment:a,totalInterest:u}}var Du=lr.pluginFunctions,hr=65535,gr=0;function bi(){if(gr>hr)throw chunk6SYU4MH7_cjs.c.config("PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED",`allocatePluginFunctionIndex: pool exhausted (max ${hr+1} allocations).`);return gr++}var Nr=new Map;function Pu(e){let t=Nr.get(e);return t===void 0&&(t=bi(),Nr.set(e,t)),t}var Ft=new Map;function Lu(e,t){let n=e.toLowerCase(),r=Ft.get(n);r&&r!==t&&console.warn(`[asConverterRegistry] Converter name "${n}" is already registered \u2014 overwriting.`),Ft.set(n,t);}function Fu(e){Ft.delete(e.toLowerCase());}var it=class it{constructor(){this.values=new Map;this.listeners=new Set;this.notifyDepth=0;}get(t){return this.values.get(t)}has(t){return this.values.has(t)}set(t,n){let r=this.values.get(t);this.values.set(t,n),!(r!==void 0&&yi(r,n))&&this.notify(t,n);}notify(t,n){if(!(this.notifyDepth>=it.MAX_NOTIFY_DEPTH)){this.notifyDepth++;try{for(let r of this.listeners)r(t,n);}finally{this.notifyDepth--;}}}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t);}}clear(){this.values.clear(),this.listeners.clear(),this.notifyDepth=0;}};it.MAX_NOTIFY_DEPTH=64;var Ut=it;function yi(e,t){if(e.type!==t.type||e.unit!==t.unit||(e.timedOut??false)!==(t.timedOut??false))return false;let n=e.value,r=t.value;if(Array.isArray(n)||Array.isArray(r)){if(!Array.isArray(n)||!Array.isArray(r)||n.length!==r.length)return false;for(let o=0;o<n.length;o++)if(!Object.is(n[o],r[o]))return false;return true}return Object.is(n,r)}var $u=new Ut;function Bu(e){return `global:${e}`}var hi={sydney:"Australia/Sydney",melbourne:"Australia/Melbourne",brisbane:"Australia/Brisbane",perth:"Australia/Perth",adelaide:"Australia/Adelaide",canberra:"Australia/Sydney",auckland:"Pacific/Auckland",wellington:"Pacific/Auckland",fiji:"Pacific/Fiji",chicago:"America/Chicago",seattle:"America/Los_Angeles",denver:"America/Denver",phoenix:"America/Phoenix",toronto:"America/Toronto",montreal:"America/Toronto",vancouver:"America/Vancouver",ottawa:"America/Toronto",honolulu:"Pacific/Honolulu",anchorage:"America/Anchorage",miami:"America/New_York",boston:"America/New_York",atlanta:"America/New_York",dallas:"America/Chicago",houston:"America/Chicago",lima:"America/Lima",bogota:"America/Bogota",caracas:"America/Caracas",santiago:"America/Santiago",montevideo:"America/Montevideo",quito:"America/Guayaquil",london:"Europe/London",paris:"Europe/Paris",berlin:"Europe/Berlin",madrid:"Europe/Madrid",rome:"Europe/Rome",amsterdam:"Europe/Amsterdam",dublin:"Europe/Dublin",lisbon:"Europe/Lisbon",vienna:"Europe/Vienna",zurich:"Europe/Zurich",geneva:"Europe/Zurich",moscow:"Europe/Moscow",istanbul:"Europe/Istanbul",athens:"Europe/Athens",stockholm:"Europe/Stockholm",oslo:"Europe/Oslo",helsinki:"Europe/Helsinki",warsaw:"Europe/Warsaw",prague:"Europe/Prague",budapest:"Europe/Budapest",brussels:"Europe/Brussels",copenhagen:"Europe/Copenhagen",reykjavik:"Atlantic/Reykjavik",kiev:"Europe/Kyiv",kyiv:"Europe/Kyiv",tokyo:"Asia/Tokyo",osaka:"Asia/Tokyo",beijing:"Asia/Shanghai",shanghai:"Asia/Shanghai",seoul:"Asia/Seoul",singapore:"Asia/Singapore",bangkok:"Asia/Bangkok",jakarta:"Asia/Jakarta",manila:"Asia/Manila",mumbai:"Asia/Kolkata",delhi:"Asia/Kolkata",bangalore:"Asia/Kolkata",dubai:"Asia/Dubai",abudhabi:"Asia/Dubai",karachi:"Asia/Karachi",dhaka:"Asia/Dhaka",hanoi:"Asia/Ho_Chi_Minh",taipei:"Asia/Taipei",islamabad:"Asia/Karachi",riyadh:"Asia/Riyadh",telaviv:"Asia/Jerusalem",jerusalem:"Asia/Jerusalem",cairo:"Africa/Cairo",lagos:"Africa/Lagos",nairobi:"Africa/Nairobi",johannesburg:"Africa/Johannesburg",casablanca:"Africa/Casablanca",accra:"Africa/Accra",tunis:"Africa/Tunis",addisababa:"Africa/Addis_Ababa",france:"Europe/Paris",germany:"Europe/Berlin",spain:"Europe/Madrid",italy:"Europe/Rome",japan:"Asia/Tokyo",china:"Asia/Shanghai",india:"Asia/Kolkata",brazil:"America/Sao_Paulo",russia:"Europe/Moscow",australia:"Australia/Sydney",canada:"America/Toronto",mexico:"America/Mexico_City",uk:"Europe/London",usa:"America/New_York",ireland:"Europe/Dublin",netherlands:"Europe/Amsterdam",sweden:"Europe/Stockholm",norway:"Europe/Oslo",poland:"Europe/Warsaw",turkey:"Europe/Istanbul",egypt:"Africa/Cairo",nigeria:"Africa/Lagos"},gi={"new york":"America/New_York","los angeles":"America/Los_Angeles","san francisco":"America/Los_Angeles","las vegas":"America/Los_Angeles","mexico city":"America/Mexico_City","hong kong":"Asia/Hong_Kong","kuala lumpur":"Asia/Kuala_Lumpur","sao paulo":"America/Sao_Paulo","buenos aires":"America/Argentina/Buenos_Aires","rio de janeiro":"America/Sao_Paulo","cape town":"Africa/Johannesburg","new delhi":"Asia/Kolkata","united kingdom":"Europe/London","united states":"America/New_York","south africa":"Africa/Johannesburg"},Ni={pst:"America/Los_Angeles",pdt:"America/Los_Angeles",est:"America/New_York",edt:"America/New_York",cst:"America/Chicago",cdt:"America/Chicago",mst:"America/Denver",mdt:"America/Denver",hst:"Pacific/Honolulu",bst:"Europe/London",cet:"Europe/Paris",cest:"Europe/Paris",jst:"Asia/Tokyo",ist:"Asia/Kolkata",aest:"Australia/Sydney",aedt:"Australia/Sydney"},Ri={...hi,...gi,...Ni};function Yu(e){let t=e.trim().toLowerCase();return t==="utc"||t==="gmt"?"UTC":Ri[t]??null}exports.A=oi;exports.B=lr;exports.C=mr;exports.D=fr;exports.E=fu;exports.F=Cu;exports.G=Du;exports.H=bi;exports.I=Pu;exports.J=Ft;exports.K=Lu;exports.L=Fu;exports.M=$u;exports.N=Bu;exports.O=gi;exports.P=Ri;exports.Q=Yu;exports.a=hn;exports.b=yn;exports.c=Ve;exports.d=Hn;exports.e=Wn;exports.f=Ln;exports.g=na;exports.h=ra;exports.i=oa;exports.j=ia;exports.k=$n;exports.l=he;exports.m=we;exports.n=ya;exports.o=ha;exports.p=ga;exports.q=qn;exports.r=Na;exports.s=Ra;exports.t=vt;exports.u=Aa;exports.v=xa;exports.w=Sa;exports.x=va;exports.y=Te;exports.z=Ea;//# sourceMappingURL=chunk-4CECSCRX.cjs.map
2
- //# sourceMappingURL=chunk-4CECSCRX.cjs.map