zeed 0.7.85 → 0.7.86

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.
@@ -1,4 +1,4 @@
1
- export { M as BinInput, be as Channel, bd as ChannelMessageEvent, br as CryptoEncoder, af as Currency, ad as CurrencyInput, ar as DAY_MS, at as Day, as as DayInput, bk as DefaultListener, b1 as Disposable, b0 as Disposer, a$ as DisposerFunction, bl as Emitter, bi as EmitterAllHandler, bh as EmitterHandler, bp as Encoder, cb as Json, bq as JsonEncoder, bj as ListenerSignature, bf as LocalChannel, b9 as LoggerConsoleHandler, c4 as MemStorage, c3 as MemStorageOptions, bu as Message, bs as MessageAction, by as MessageDefinitions, bz as MessageHub, bt as MessageResult, bw as MessagesDefaultMethods, bx as MessagesMethods, bv as MessagesOptions, bE as Mutex, cd as NestedArray, cc as ObjectStorage, bC as PubSub, c1 as QueueTask, a9 as RenderMessagesOptions, ag as RoundingMode, c2 as SerialQueue, aO as SortableItem, V as Uint8ArrayToJson, U as Uint8ArrayToString, p as arrayEmptyInPlace, n as arrayFilterInPlace, i as arrayFlatten, j as arrayIntersection, t as arrayIsEqual, y as arrayMax, z as arrayMin, g as arrayMinus, x as arrayRandomElement, l as arrayRemoveElement, m as arraySetElement, v as arrayShuffle, w as arrayShuffleForce, u as arrayShuffleInPlace, q as arraySorted, s as arraySortedNumbers, k as arraySymmetricDifference, o as arrayToggleInPlace, h as arrayUnion, f as arrayUnique, aH as between, b2 as callDisposer, a_ as cloneObject, aK as cmp, aJ as composeOrderby, A as createArray, bF as createMutex, bA as createPromiseProxy, c as csv, ae as currency, aw as day, c6 as debounce, D as decodeBase16, F as decodeBase32, H as decodeBase58, J as decodeBase62, L as decodeBase64, b as decrypt, az as deepEqual, aA as deepMerge, a as deriveKeyPbkdf2, bP as detect, d as digest, aZ as empty, C as encodeBase16, E as encodeBase32, G as encodeBase58, I as encodeBase62, K as encodeBase64, aV as encodeQuery, e as encrypt, aQ as endSortWeight, S as equalBinary, aB as escapeHTML, aN as escapeRegExp, bg as fakeWorkerPair, bH as fetchBasic, bI as fetchJson, bJ as fetchOptionsFormURLEncoded, bK as fetchOptionsJson, bL as fetchText, ac as fixBrokenUth8String, au as forEachDay, aa as formatMessages, c9 as formatMilliseconds, Z as fromCamelCase, bO as getGlobal, b7 as getGlobalContext, bm as getGlobalEmitter, ba as getNamespaceFilterString, bN as getNavigator, c8 as getTimestamp, bM as getWindow, bG as httpMethod, bU as immediate, bQ as isBrowser, ai as isEven, ah as isHalf, b8 as isLocalHost, ax as isObject, ay as isPrimitive, b$ as isPromise, bY as isTimeout, aD as jsonStringify, T as jsonToUint8Array, aY as last, bo as lazyListener, aT as linkifyPlainText, bn as messages, aR as moveSortWeight, ca as parseDate, aI as parseOrderby, aW as parseQuery, bR as platform, c0 as promisify, ci as qid, aE as randomBoolean, aG as randomFloat, aF as randomInt, r as randomUint8Array, ab as renderMessages, ak as roundDown, an as roundHalfAwayFromZero, ao as roundHalfDown, ap as roundHalfEven, am as roundHalfOdd, aq as roundHalfTowardsZero, al as roundHalfUp, aj as roundUp, aX as size, bT as sleep, aS as sortedItems, aL as sortedOrderby, aP as startSortWeight, _ as stringToBoolean, a0 as stringToFloat, $ as stringToInteger, N as stringToUInt8Array, cl as suid, ck as suidBytes, cn as suidBytesDate, cm as suidDate, c5 as throttle, c7 as throttleAnimationFrame, bW as timeout, bV as timeoutReached, bX as timoutError, Q as toBase64, R as toBase64Url, a8 as toBool, W as toCamelCase, X as toCapitalize, Y as toCapitalizeWords, a5 as toFloat, P as toHex, aU as toHumanReadableUrl, a6 as toInt, a7 as toString, O as toUint8Array, aM as toValidFilename, av as today, bZ as tryTimeout, ch as uname, aC as unescapeHTML, B as useBase, b3 as useDisposer, b6 as useEventListener, bS as useExitHandler, b5 as useInterval, bc as useLevelFilter, bB as useMessageHub, bb as useNamespaceFilter, bD as usePubSub, b4 as useTimeout, cf as uuid, cg as uuidB32, ce as uuidBytes, cj as uuidv4, a1 as valueToBoolean, a3 as valueToFloat, a2 as valueToInteger, a4 as valueToString, b_ as waitOn } from './uuid-6bfbc6ff';
1
+ export { M as BinInput, be as Channel, bd as ChannelMessageEvent, br as CryptoEncoder, af as Currency, ad as CurrencyInput, ar as DAY_MS, at as Day, as as DayInput, bk as DefaultListener, b1 as Disposable, b0 as Disposer, a$ as DisposerFunction, bl as Emitter, bi as EmitterAllHandler, bh as EmitterHandler, bp as Encoder, cc as Json, bq as JsonEncoder, bj as ListenerSignature, bf as LocalChannel, b9 as LoggerConsoleHandler, c5 as MemStorage, c4 as MemStorageOptions, bu as Message, bs as MessageAction, by as MessageDefinitions, bz as MessageHub, bt as MessageResult, bw as MessagesDefaultMethods, bx as MessagesMethods, bv as MessagesOptions, bE as Mutex, ce as NestedArray, cd as ObjectStorage, bC as PubSub, c2 as QueueTask, a9 as RenderMessagesOptions, ag as RoundingMode, c3 as SerialQueue, aO as SortableItem, V as Uint8ArrayToJson, U as Uint8ArrayToString, p as arrayEmptyInPlace, n as arrayFilterInPlace, i as arrayFlatten, j as arrayIntersection, t as arrayIsEqual, y as arrayMax, z as arrayMin, g as arrayMinus, x as arrayRandomElement, l as arrayRemoveElement, m as arraySetElement, v as arrayShuffle, w as arrayShuffleForce, u as arrayShuffleInPlace, q as arraySorted, s as arraySortedNumbers, k as arraySymmetricDifference, o as arrayToggleInPlace, h as arrayUnion, f as arrayUnique, aH as between, b2 as callDisposer, a_ as cloneObject, aK as cmp, aJ as composeOrderby, A as createArray, bF as createMutex, bA as createPromiseProxy, c as csv, ae as currency, aw as day, c7 as debounce, D as decodeBase16, F as decodeBase32, H as decodeBase58, J as decodeBase62, L as decodeBase64, b as decrypt, az as deepEqual, aA as deepMerge, a as deriveKeyPbkdf2, bP as detect, d as digest, aZ as empty, C as encodeBase16, E as encodeBase32, G as encodeBase58, I as encodeBase62, K as encodeBase64, aV as encodeQuery, e as encrypt, aQ as endSortWeight, S as equalBinary, aB as escapeHTML, aN as escapeRegExp, bg as fakeWorkerPair, bH as fetchBasic, bI as fetchJson, bJ as fetchOptionsFormURLEncoded, bK as fetchOptionsJson, bL as fetchText, ac as fixBrokenUth8String, au as forEachDay, aa as formatMessages, ca as formatMilliseconds, Z as fromCamelCase, bO as getGlobal, b7 as getGlobalContext, bm as getGlobalEmitter, ba as getNamespaceFilterString, bN as getNavigator, c9 as getTimestamp, bM as getWindow, bG as httpMethod, bV as immediate, bQ as isBrowser, ai as isEven, ah as isHalf, b8 as isLocalHost, ax as isObject, ay as isPrimitive, c0 as isPromise, bZ as isTimeout, aD as jsonStringify, T as jsonToUint8Array, aY as last, bo as lazyListener, aT as linkifyPlainText, bn as messages, aR as moveSortWeight, cb as parseDate, aI as parseOrderby, aW as parseQuery, bR as platform, c1 as promisify, cj as qid, aE as randomBoolean, aG as randomFloat, aF as randomInt, r as randomUint8Array, ab as renderMessages, ak as roundDown, an as roundHalfAwayFromZero, ao as roundHalfDown, ap as roundHalfEven, am as roundHalfOdd, aq as roundHalfTowardsZero, al as roundHalfUp, aj as roundUp, aX as size, bU as sleep, aS as sortedItems, aL as sortedOrderby, aP as startSortWeight, _ as stringToBoolean, a0 as stringToFloat, $ as stringToInteger, N as stringToUInt8Array, cm as suid, cl as suidBytes, co as suidBytesDate, cn as suidDate, c6 as throttle, c8 as throttleAnimationFrame, bX as timeout, bW as timeoutReached, bY as timoutError, Q as toBase64, R as toBase64Url, a8 as toBool, W as toCamelCase, X as toCapitalize, Y as toCapitalizeWords, a5 as toFloat, P as toHex, aU as toHumanReadableUrl, a6 as toInt, a7 as toString, O as toUint8Array, aM as toValidFilename, av as today, b_ as tryTimeout, ci as uname, aC as unescapeHTML, B as useBase, b3 as useDisposer, b6 as useEventListener, bS as useExitHandler, b5 as useInterval, bc as useLevelFilter, bB as useMessageHub, bb as useNamespaceFilter, bT as usePool, bD as usePubSub, b4 as useTimeout, cg as uuid, ch as uuidB32, cf as uuidBytes, ck as uuidv4, a1 as valueToBoolean, a3 as valueToFloat, a2 as valueToInteger, a4 as valueToString, b$ as waitOn } from './uuid-225a32e5';
2
2
  export { d as LogHandler, g as LogHandlerOptions, a as LogLevel, b as LogLevelAlias, c as LogMessage, L as Logger, h as LoggerContext, f as LoggerContextInterface, e as LoggerInterface } from './log-7206a2fe';
3
- export { a as LocalStorage, L as LocalStorageOptions, b as LoggerBrowserClassicHandler, g as gravatarURLByEmail, c as selectColor, s as supportsColors, u as urlBase64ToUint8Array } from './log-colors-8289317d';
3
+ export { a as LocalStorage, L as LocalStorageOptions, b as LoggerBrowserClassicHandler, g as gravatarURLByEmail, c as selectColor, s as supportsColors, u as urlBase64ToUint8Array } from './log-colors-eedbf185';
4
4
  export { L as LoggerBrowserHandler, a as LoggerBrowserSetupDebugFactory, b as activateConsoleDebug } from './log-browser-e3329d01';
@@ -1,2 +1,2 @@
1
- import{LocalStorage,LoggerBrowserClassicHandler,gravatarURLByEmail,urlBase64ToUint8Array}from"./chunk-BVGJQVUZ.js";import{LoggerBrowserHandler,LoggerBrowserSetupDebugFactory,activateConsoleDebug,selectColor,supportsColors}from"./chunk-72GMFXKL.js";import{Channel,CryptoEncoder,Currency,DAY_MS,Day,Emitter,JsonEncoder,LocalChannel,MemStorage,PubSub,SerialQueue,Uint8ArrayToJson,Uint8ArrayToString,arrayEmptyInPlace,arrayFilterInPlace,arrayFlatten,arrayIntersection,arrayIsEqual,arrayMax,arrayMin,arrayMinus,arrayRandomElement,arrayRemoveElement,arraySetElement,arrayShuffle,arrayShuffleForce,arrayShuffleInPlace,arraySorted,arraySortedNumbers,arraySymmetricDifference,arrayToggleInPlace,arrayUnion,arrayUnique,between,callDisposer,cloneObject,cmp,composeOrderby,createArray,createMutex,createPromiseProxy,csv,currency,day,debounce,decodeBase16,decodeBase32,decodeBase58,decodeBase62,decodeBase64,decrypt,deriveKeyPbkdf2,detect,digest,empty,encodeBase16,encodeBase32,encodeBase58,encodeBase62,encodeBase64,encodeQuery,encrypt,endSortWeight,equalBinary,escapeHTML,escapeRegExp,fakeWorkerPair,fetchBasic,fetchJson,fetchOptionsFormURLEncoded,fetchOptionsJson,fetchText,fixBrokenUth8String,forEachDay,formatMessages,fromCamelCase,getGlobal,getGlobalEmitter,getNavigator,getWindow,immediate,isBrowser,isEven,isHalf,isLocalHost,isPromise,isTimeout,jsonStringify,jsonToUint8Array,last,lazyListener,linkifyPlainText,messages,moveSortWeight,parseOrderby,parseQuery,platform,promisify,qid,randomBoolean,randomFloat,randomInt,randomUint8Array,renderMessages,roundDown,roundHalfAwayFromZero,roundHalfDown,roundHalfEven,roundHalfOdd,roundHalfTowardsZero,roundHalfUp,roundUp,size,sleep,sortedItems,sortedOrderby,startSortWeight,stringToBoolean,stringToFloat,stringToInteger,stringToUInt8Array,suid,suidBytes,suidBytesDate,suidDate,throttle,throttleAnimationFrame,timeout,timeoutReached,timoutError,toBase64,toBase64Url,toBool,toCamelCase,toCapitalize,toCapitalizeWords,toFloat,toHex,toHumanReadableUrl,toInt,toString,toUint8Array,toValidFilename,today,tryTimeout,uname,unescapeHTML,useBase,useDisposer,useEventListener,useExitHandler,useInterval,useMessageHub,usePubSub,useTimeout,uuid,uuidB32,uuidBytes,uuidv4,valueToBoolean,valueToFloat,valueToInteger,valueToString,waitOn}from"./chunk-OXB7DWYR.js";import{LogLevel,LogLevelAlias,Logger,LoggerConsoleHandler,LoggerContext,deepEqual,deepMerge,formatMilliseconds,getGlobalContext,getNamespaceFilterString,getTimestamp,isObject,isPrimitive,parseDate,useLevelFilter,useNamespaceFilter}from"./chunk-NZSIXVWC.js";export{Channel,CryptoEncoder,Currency,DAY_MS,Day,Emitter,JsonEncoder,LocalChannel,LocalStorage,LogLevel,LogLevelAlias,Logger,LoggerBrowserClassicHandler,LoggerBrowserHandler,LoggerBrowserSetupDebugFactory,LoggerConsoleHandler,LoggerContext,MemStorage,PubSub,SerialQueue,Uint8ArrayToJson,Uint8ArrayToString,activateConsoleDebug,arrayEmptyInPlace,arrayFilterInPlace,arrayFlatten,arrayIntersection,arrayIsEqual,arrayMax,arrayMin,arrayMinus,arrayRandomElement,arrayRemoveElement,arraySetElement,arrayShuffle,arrayShuffleForce,arrayShuffleInPlace,arraySorted,arraySortedNumbers,arraySymmetricDifference,arrayToggleInPlace,arrayUnion,arrayUnique,between,callDisposer,cloneObject,cmp,composeOrderby,createArray,createMutex,createPromiseProxy,csv,currency,day,debounce,decodeBase16,decodeBase32,decodeBase58,decodeBase62,decodeBase64,decrypt,deepEqual,deepMerge,deriveKeyPbkdf2,detect,digest,empty,encodeBase16,encodeBase32,encodeBase58,encodeBase62,encodeBase64,encodeQuery,encrypt,endSortWeight,equalBinary,escapeHTML,escapeRegExp,fakeWorkerPair,fetchBasic,fetchJson,fetchOptionsFormURLEncoded,fetchOptionsJson,fetchText,fixBrokenUth8String,forEachDay,formatMessages,formatMilliseconds,fromCamelCase,getGlobal,getGlobalContext,getGlobalEmitter,getNamespaceFilterString,getNavigator,getTimestamp,getWindow,gravatarURLByEmail,immediate,isBrowser,isEven,isHalf,isLocalHost,isObject,isPrimitive,isPromise,isTimeout,jsonStringify,jsonToUint8Array,last,lazyListener,linkifyPlainText,messages,moveSortWeight,parseDate,parseOrderby,parseQuery,platform,promisify,qid,randomBoolean,randomFloat,randomInt,randomUint8Array,renderMessages,roundDown,roundHalfAwayFromZero,roundHalfDown,roundHalfEven,roundHalfOdd,roundHalfTowardsZero,roundHalfUp,roundUp,selectColor,size,sleep,sortedItems,sortedOrderby,startSortWeight,stringToBoolean,stringToFloat,stringToInteger,stringToUInt8Array,suid,suidBytes,suidBytesDate,suidDate,supportsColors,throttle,throttleAnimationFrame,timeout,timeoutReached,timoutError,toBase64,toBase64Url,toBool,toCamelCase,toCapitalize,toCapitalizeWords,toFloat,toHex,toHumanReadableUrl,toInt,toString,toUint8Array,toValidFilename,today,tryTimeout,uname,unescapeHTML,urlBase64ToUint8Array,useBase,useDisposer,useEventListener,useExitHandler,useInterval,useLevelFilter,useMessageHub,useNamespaceFilter,usePubSub,useTimeout,uuid,uuidB32,uuidBytes,uuidv4,valueToBoolean,valueToFloat,valueToInteger,valueToString,waitOn};
1
+ import{LocalStorage,LoggerBrowserClassicHandler,gravatarURLByEmail,urlBase64ToUint8Array}from"./chunk-4NZFSRMO.js";import{LoggerBrowserHandler,LoggerBrowserSetupDebugFactory,activateConsoleDebug,selectColor,supportsColors}from"./chunk-72GMFXKL.js";import{Channel,CryptoEncoder,Currency,DAY_MS,Day,Emitter,JsonEncoder,LocalChannel,MemStorage,PubSub,SerialQueue,Uint8ArrayToJson,Uint8ArrayToString,arrayEmptyInPlace,arrayFilterInPlace,arrayFlatten,arrayIntersection,arrayIsEqual,arrayMax,arrayMin,arrayMinus,arrayRandomElement,arrayRemoveElement,arraySetElement,arrayShuffle,arrayShuffleForce,arrayShuffleInPlace,arraySorted,arraySortedNumbers,arraySymmetricDifference,arrayToggleInPlace,arrayUnion,arrayUnique,between,callDisposer,cloneObject,cmp,composeOrderby,createArray,createMutex,createPromiseProxy,csv,currency,day,debounce,decodeBase16,decodeBase32,decodeBase58,decodeBase62,decodeBase64,decrypt,deriveKeyPbkdf2,detect,digest,empty,encodeBase16,encodeBase32,encodeBase58,encodeBase62,encodeBase64,encodeQuery,encrypt,endSortWeight,equalBinary,escapeHTML,escapeRegExp,fakeWorkerPair,fetchBasic,fetchJson,fetchOptionsFormURLEncoded,fetchOptionsJson,fetchText,fixBrokenUth8String,forEachDay,formatMessages,fromCamelCase,getGlobal,getGlobalEmitter,getNavigator,getWindow,immediate,isBrowser,isEven,isHalf,isLocalHost,isPromise,isTimeout,jsonStringify,jsonToUint8Array,last,lazyListener,linkifyPlainText,messages,moveSortWeight,parseOrderby,parseQuery,platform,promisify,qid,randomBoolean,randomFloat,randomInt,randomUint8Array,renderMessages,roundDown,roundHalfAwayFromZero,roundHalfDown,roundHalfEven,roundHalfOdd,roundHalfTowardsZero,roundHalfUp,roundUp,size,sleep,sortedItems,sortedOrderby,startSortWeight,stringToBoolean,stringToFloat,stringToInteger,stringToUInt8Array,suid,suidBytes,suidBytesDate,suidDate,throttle,throttleAnimationFrame,timeout,timeoutReached,timoutError,toBase64,toBase64Url,toBool,toCamelCase,toCapitalize,toCapitalizeWords,toFloat,toHex,toHumanReadableUrl,toInt,toString,toUint8Array,toValidFilename,today,tryTimeout,uname,unescapeHTML,useBase,useDisposer,useEventListener,useExitHandler,useInterval,useMessageHub,usePool,usePubSub,useTimeout,uuid,uuidB32,uuidBytes,uuidv4,valueToBoolean,valueToFloat,valueToInteger,valueToString,waitOn}from"./chunk-KTPVWZUV.js";import{LogLevel,LogLevelAlias,Logger,LoggerConsoleHandler,LoggerContext,deepEqual,deepMerge,formatMilliseconds,getGlobalContext,getNamespaceFilterString,getTimestamp,isObject,isPrimitive,parseDate,useLevelFilter,useNamespaceFilter}from"./chunk-NZSIXVWC.js";export{Channel,CryptoEncoder,Currency,DAY_MS,Day,Emitter,JsonEncoder,LocalChannel,LocalStorage,LogLevel,LogLevelAlias,Logger,LoggerBrowserClassicHandler,LoggerBrowserHandler,LoggerBrowserSetupDebugFactory,LoggerConsoleHandler,LoggerContext,MemStorage,PubSub,SerialQueue,Uint8ArrayToJson,Uint8ArrayToString,activateConsoleDebug,arrayEmptyInPlace,arrayFilterInPlace,arrayFlatten,arrayIntersection,arrayIsEqual,arrayMax,arrayMin,arrayMinus,arrayRandomElement,arrayRemoveElement,arraySetElement,arrayShuffle,arrayShuffleForce,arrayShuffleInPlace,arraySorted,arraySortedNumbers,arraySymmetricDifference,arrayToggleInPlace,arrayUnion,arrayUnique,between,callDisposer,cloneObject,cmp,composeOrderby,createArray,createMutex,createPromiseProxy,csv,currency,day,debounce,decodeBase16,decodeBase32,decodeBase58,decodeBase62,decodeBase64,decrypt,deepEqual,deepMerge,deriveKeyPbkdf2,detect,digest,empty,encodeBase16,encodeBase32,encodeBase58,encodeBase62,encodeBase64,encodeQuery,encrypt,endSortWeight,equalBinary,escapeHTML,escapeRegExp,fakeWorkerPair,fetchBasic,fetchJson,fetchOptionsFormURLEncoded,fetchOptionsJson,fetchText,fixBrokenUth8String,forEachDay,formatMessages,formatMilliseconds,fromCamelCase,getGlobal,getGlobalContext,getGlobalEmitter,getNamespaceFilterString,getNavigator,getTimestamp,getWindow,gravatarURLByEmail,immediate,isBrowser,isEven,isHalf,isLocalHost,isObject,isPrimitive,isPromise,isTimeout,jsonStringify,jsonToUint8Array,last,lazyListener,linkifyPlainText,messages,moveSortWeight,parseDate,parseOrderby,parseQuery,platform,promisify,qid,randomBoolean,randomFloat,randomInt,randomUint8Array,renderMessages,roundDown,roundHalfAwayFromZero,roundHalfDown,roundHalfEven,roundHalfOdd,roundHalfTowardsZero,roundHalfUp,roundUp,selectColor,size,sleep,sortedItems,sortedOrderby,startSortWeight,stringToBoolean,stringToFloat,stringToInteger,stringToUInt8Array,suid,suidBytes,suidBytesDate,suidDate,supportsColors,throttle,throttleAnimationFrame,timeout,timeoutReached,timoutError,toBase64,toBase64Url,toBool,toCamelCase,toCapitalize,toCapitalizeWords,toFloat,toHex,toHumanReadableUrl,toInt,toString,toUint8Array,toValidFilename,today,tryTimeout,uname,unescapeHTML,urlBase64ToUint8Array,useBase,useDisposer,useEventListener,useExitHandler,useInterval,useLevelFilter,useMessageHub,useNamespaceFilter,usePool,usePubSub,useTimeout,uuid,uuidB32,uuidBytes,uuidv4,valueToBoolean,valueToFloat,valueToInteger,valueToString,waitOn};
2
2
  //# sourceMappingURL=index.browser.js.map
@@ -1,3 +1,3 @@
1
- var __create=Object.create;var __defProp=Object.defineProperty;var __defProps=Object.defineProperties;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropDescs=Object.getOwnPropertyDescriptors;var __getOwnPropNames=Object.getOwnPropertyNames;var __getOwnPropSymbols=Object.getOwnPropertySymbols;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __propIsEnum=Object.prototype.propertyIsEnumerable;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __spreadValues=(a,b)=>{for(var prop in b||(b={}))if(__hasOwnProp.call(b,prop))__defNormalProp(a,prop,b[prop]);if(__getOwnPropSymbols)for(var prop of __getOwnPropSymbols(b)){if(__propIsEnum.call(b,prop))__defNormalProp(a,prop,b[prop])}return a};var __spreadProps=(a,b)=>__defProps(a,__getOwnPropDescs(b));var __markAsModule=target=>__defProp(target,"__esModule",{value:true});var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __export=(target,all)=>{__markAsModule(target);for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __reExport=(target,module2,desc)=>{if(module2&&typeof module2==="object"||typeof module2==="function"){for(let key of __getOwnPropNames(module2))if(!__hasOwnProp.call(target,key)&&key!=="default")__defProp(target,key,{get:()=>module2[key],enumerable:!(desc=__getOwnPropDesc(module2,key))||desc.enumerable})}return target};var __toModule=module2=>{return __reExport(__markAsModule(__defProp(module2!=null?__create(__getProtoOf(module2)):{},"default",module2&&module2.__esModule&&"default"in module2?{get:()=>module2.default,enumerable:true}:{value:module2,enumerable:true})),module2)};__export(exports,{Channel:()=>Channel,CryptoEncoder:()=>CryptoEncoder,Currency:()=>Currency,DAY_MS:()=>DAY_MS,Day:()=>Day,Emitter:()=>Emitter,FileStorage:()=>FileStorage,JsonEncoder:()=>JsonEncoder,LocalChannel:()=>LocalChannel,LogLevel:()=>LogLevel,LogLevelAlias:()=>LogLevelAlias,Logger:()=>Logger,LoggerConsoleHandler:()=>LoggerConsoleHandler,LoggerContext:()=>LoggerContext,LoggerFileHandler:()=>LoggerFileHandler,LoggerNodeHandler:()=>LoggerNodeHandler,MemStorage:()=>MemStorage,PubSub:()=>PubSub,SerialQueue:()=>SerialQueue,Uint8ArrayToJson:()=>Uint8ArrayToJson,Uint8ArrayToString:()=>Uint8ArrayToString,arrayEmptyInPlace:()=>arrayEmptyInPlace,arrayFilterInPlace:()=>arrayFilterInPlace,arrayFlatten:()=>arrayFlatten,arrayIntersection:()=>arrayIntersection,arrayIsEqual:()=>arrayIsEqual,arrayMax:()=>arrayMax,arrayMin:()=>arrayMin,arrayMinus:()=>arrayMinus,arrayRandomElement:()=>arrayRandomElement,arrayRemoveElement:()=>arrayRemoveElement,arraySetElement:()=>arraySetElement,arrayShuffle:()=>arrayShuffle,arrayShuffleForce:()=>arrayShuffleForce,arrayShuffleInPlace:()=>arrayShuffleInPlace,arraySorted:()=>arraySorted,arraySortedNumbers:()=>arraySortedNumbers,arraySymmetricDifference:()=>arraySymmetricDifference,arrayToggleInPlace:()=>arrayToggleInPlace,arrayUnion:()=>arrayUnion,arrayUnique:()=>arrayUnique,between:()=>between,callDisposer:()=>callDisposer,cloneObject:()=>cloneObject,cmp:()=>cmp,colorString:()=>colorString,colorStringList:()=>colorStringList,composeOrderby:()=>composeOrderby,createArray:()=>createArray,createMutex:()=>createMutex,createPromiseProxy:()=>createPromiseProxy,csv:()=>csv,currency:()=>currency,day:()=>day,debounce:()=>debounce,decodeBase16:()=>decodeBase16,decodeBase32:()=>decodeBase32,decodeBase58:()=>decodeBase58,decodeBase62:()=>decodeBase62,decodeBase64:()=>decodeBase64,decrypt:()=>decrypt,deepEqual:()=>deepEqual,deepMerge:()=>deepMerge,deriveKeyPbkdf2:()=>deriveKeyPbkdf2,detect:()=>detect,digest:()=>digest,empty:()=>empty,encodeBase16:()=>encodeBase16,encodeBase32:()=>encodeBase32,encodeBase58:()=>encodeBase58,encodeBase62:()=>encodeBase62,encodeBase64:()=>encodeBase64,encodeQuery:()=>encodeQuery,encrypt:()=>encrypt,endSortWeight:()=>endSortWeight,equalBinary:()=>equalBinary,escapeHTML:()=>escapeHTML,escapeRegExp:()=>escapeRegExp,fakeWorkerPair:()=>fakeWorkerPair,fetchBasic:()=>fetchBasic,fetchJson:()=>fetchJson,fetchOptionsFormURLEncoded:()=>fetchOptionsFormURLEncoded,fetchOptionsJson:()=>fetchOptionsJson,fetchText:()=>fetchText,fixBrokenUth8String:()=>fixBrokenUth8String,forEachDay:()=>forEachDay,formatMessages:()=>formatMessages,formatMilliseconds:()=>formatMilliseconds,fromCamelCase:()=>fromCamelCase,getGlobal:()=>getGlobal,getGlobalContext:()=>getGlobalContext,getGlobalEmitter:()=>getGlobalEmitter,getNamespaceFilterString:()=>getNamespaceFilterString,getNavigator:()=>getNavigator,getSourceLocation:()=>getSourceLocation,getSourceLocationByPrecedingPattern:()=>getSourceLocationByPrecedingPattern,getStack:()=>getStack,getStackLlocationList:()=>getStackLlocationList,getTimestamp:()=>getTimestamp,getWindow:()=>getWindow,immediate:()=>immediate,isBrowser:()=>isBrowser,isEven:()=>isEven,isHalf:()=>isHalf,isLocalHost:()=>isLocalHost,isObject:()=>isObject,isPrimitive:()=>isPrimitive,isPromise:()=>isPromise,isTTY:()=>isTTY,isTimeout:()=>isTimeout,jsonStringify:()=>jsonStringify,jsonToUint8Array:()=>jsonToUint8Array,last:()=>last,lazyListener:()=>lazyListener,linkifyPlainText:()=>linkifyPlainText,loggerStackTraceDebug:()=>loggerStackTraceDebug,messages:()=>messages,moveSortWeight:()=>moveSortWeight,parseDate:()=>parseDate,parseOrderby:()=>parseOrderby,parseQuery:()=>parseQuery,platform:()=>platform,promisify:()=>promisify,qid:()=>qid,randomBoolean:()=>randomBoolean,randomFloat:()=>randomFloat,randomInt:()=>randomInt,randomUint8Array:()=>randomUint8Array,renderMessages:()=>renderMessages,roundDown:()=>roundDown,roundHalfAwayFromZero:()=>roundHalfAwayFromZero,roundHalfDown:()=>roundHalfDown,roundHalfEven:()=>roundHalfEven,roundHalfOdd:()=>roundHalfOdd,roundHalfTowardsZero:()=>roundHalfTowardsZero,roundHalfUp:()=>roundHalfUp,roundUp:()=>roundUp,setupEnv:()=>setupEnv,size:()=>size,sleep:()=>sleep,sortedItems:()=>sortedItems,sortedOrderby:()=>sortedOrderby,startSortWeight:()=>startSortWeight,stringToBoolean:()=>stringToBoolean,stringToFloat:()=>stringToFloat,stringToInteger:()=>stringToInteger,stringToPath:()=>stringToPath,stringToUInt8Array:()=>stringToUInt8Array,suid:()=>suid,suidBytes:()=>suidBytes,suidBytesDate:()=>suidBytesDate,suidDate:()=>suidDate,throttle:()=>throttle,throttleAnimationFrame:()=>throttleAnimationFrame,timeout:()=>timeout,timeoutReached:()=>timeoutReached,timoutError:()=>timoutError,toBase64:()=>toBase64,toBase64Url:()=>toBase64Url,toBool:()=>toBool,toCamelCase:()=>toCamelCase,toCapitalize:()=>toCapitalize,toCapitalizeWords:()=>toCapitalizeWords,toFloat:()=>toFloat,toHex:()=>toHex,toHumanReadableUrl:()=>toHumanReadableUrl,toInt:()=>toInt,toPath:()=>toPath,toString:()=>toString,toUint8Array:()=>toUint8Array,toValidFilename:()=>toValidFilename,today:()=>today,tryTimeout:()=>tryTimeout,uname:()=>uname,unescapeHTML:()=>unescapeHTML,useBase:()=>useBase,useDisposer:()=>useDisposer,useEventListener:()=>useEventListener,useExitHandler:()=>useExitHandler,useInterval:()=>useInterval,useLevelFilter:()=>useLevelFilter,useMessageHub:()=>useMessageHub,useNamespaceFilter:()=>useNamespaceFilter,usePubSub:()=>usePubSub,useTimeout:()=>useTimeout,uuid:()=>uuid,uuidB32:()=>uuidB32,uuidBytes:()=>uuidBytes,uuidv4:()=>uuidv4,valueToBoolean:()=>valueToBoolean,valueToFloat:()=>valueToFloat,valueToInteger:()=>valueToInteger,valueToPath:()=>valueToPath,valueToString:()=>valueToString,waitOn:()=>waitOn});var isObject=__name(obj=>obj&&typeof obj==="object","isObject");var isPrimitive=__name(obj=>Object(obj)!==obj,"isPrimitive");function deepEqual(a,b,hash=new WeakSet){if(a===b){return true}if(hash.has(b)){return true}if(!isPrimitive(b)){hash.add(b)}if(!(a instanceof Object)||!(b instanceof Object)){return false}if(a.constructor!==b.constructor){return false}if(a.length!==b.length){return false}for(let p in a){if(!a.hasOwnProperty(p)){continue}if(!b.hasOwnProperty(p)){return false}let aa=a[p];let bb=b[p];if(!deepEqual(aa,bb,hash)){return false}}for(let p in b){if(b.hasOwnProperty(p)&&!a.hasOwnProperty(p)){return false}}return true}__name(deepEqual,"deepEqual");function deepMerge(target,...sources){for(let source of sources){if(!isObject(target)){target={}}if(source==null)continue;Object.keys(source).forEach(key=>{const targetValue=target[key];const sourceValue=source[key];if(Array.isArray(targetValue)&&Array.isArray(sourceValue)){target[key]=targetValue.concat(sourceValue)}else if(isObject(targetValue)&&isObject(sourceValue)){target[key]=deepMerge(Object.assign({},targetValue),sourceValue)}else{target[key]=sourceValue}})}return target}__name(deepMerge,"deepMerge");function getNamespaceFilterString(defaultNamespaceFilter2){if(defaultNamespaceFilter2===true||defaultNamespaceFilter2==="true"||defaultNamespaceFilter2==="1"||typeof defaultNamespaceFilter2==="number"&&defaultNamespaceFilter2!==0){defaultNamespaceFilter2="*"}else if(defaultNamespaceFilter2===false||defaultNamespaceFilter2==="false"||defaultNamespaceFilter2===0||defaultNamespaceFilter2==="0"||defaultNamespaceFilter2==null||defaultNamespaceFilter2==="null"||defaultNamespaceFilter2==="undefined"){defaultNamespaceFilter2=""}else{defaultNamespaceFilter2=String(defaultNamespaceFilter2)}return defaultNamespaceFilter2}__name(getNamespaceFilterString,"getNamespaceFilterString");var _a,_b;var defaultNamespaceFilter=getNamespaceFilterString(typeof process!=="undefined"?(_a=process.env.ZEED)!=null?_a:process.env.DEBUG:typeof localStorage!=="undefined"?(_b=localStorage.zeed)!=null?_b:localStorage.debug:"*");function useNamespaceFilter(filter=defaultNamespaceFilter){let fn;let reject=[];let accept=[];if(!filter){fn=__name(function(name){return false},"fn")}else if(filter==="*"){fn=__name(function(name){return true},"fn")}else{let i;const split=filter.split(/[\s,]+/);const len=split.length;for(i=0;i<len;i++){if(!split[i]){continue}let template=split[i].replace(/\*/g,".*?");if(template[0]==="-"){reject.push(new RegExp("^"+template.substr(1)+"$"))}else{accept.push(new RegExp("^"+template+"$"))}}fn=__name(function(name){if(reject.length===0&&accept.length===0){return true}let i2,len2;for(i2=0,len2=reject.length;i2<len2;i2++){if(reject[i2].test(name)){return false}}for(i2=0,len2=accept.length;i2<len2;i2++){if(accept[i2].test(name)){return true}}return false},"fn")}fn.accept=accept;fn.reject=reject;fn.filter=filter;return fn}__name(useNamespaceFilter,"useNamespaceFilter");var _a2,_b2,_c,_d;var defaultLevelFilter=typeof process!=="undefined"?(_b2=(_a2=process.env.ZEED_LEVEL)!=null?_a2:process.env.LEVEL)!=null?_b2:process.env.DEBUG_LEVEL:typeof localStorage!=="undefined"?(_d=(_c=localStorage.zeed_level)!=null?_c:localStorage.level)!=null?_d:localStorage.debug_level:void 0;function useLevelFilter(filter=defaultLevelFilter){let filterLevel=LogLevel.all;if(typeof filter==="string"){const l=LogLevelAlias[filter.toLocaleLowerCase().trim()];if(l!=null)filterLevel=l}else if(typeof filter==="number"){filterLevel=filter}return level=>level>=filterLevel}__name(useLevelFilter,"useLevelFilter");var LogLevel;(function(LogLevel2){LogLevel2[LogLevel2["all"]=-1]="all";LogLevel2[LogLevel2["debug"]=0]="debug";LogLevel2[LogLevel2["info"]=1]="info";LogLevel2[LogLevel2["warn"]=2]="warn";LogLevel2[LogLevel2["error"]=3]="error";LogLevel2[LogLevel2["fatal"]=4]="fatal";LogLevel2[LogLevel2["off"]=Infinity]="off"})(LogLevel||(LogLevel={}));var LogLevelAlias={"*":-1,a:-1,all:-1,d:0,dbg:0,debug:0,i:1,inf:1,info:1,w:2,warn:2,warning:2,e:3,err:3,error:3,fatal:4,off:Infinity,"-":Infinity};function LoggerContext(prefix=""){let logHandlers=[LoggerConsoleHandler()];let logAssertLevel=2;let logCheckNamespace=__name(name=>true,"logCheckNamespace");let logLock=false;let logFactory=LoggerBaseFactory;function LoggerBaseFactory(name=""){log10.extend=function(prefix2){return logFactory(name?`${name}:${prefix2}`:prefix2)};const emit=__name(msg=>{if(log10.active===true){if(msg.level>=Logger2.level&&msg.level>=log10.level){if(logCheckNamespace(name)){for(let handler of logHandlers){if(handler)handler(msg)}}}}},"emit");function log10(...messages2){emit({name,messages:messages2,level:0})}__name(log10,"log");log10.active=true;log10.level=-1;log10.debug=function(...messages2){emit({name,messages:messages2,level:0})};log10.info=function(...messages2){emit({name,messages:messages2,level:1})};log10.warn=function(...messages2){emit({name,messages:messages2,level:2})};log10.error=function(...messages2){emit({name,messages:messages2,level:3})};log10.assert=function(cond,...messages2){if(!cond){if(typeof console!==void 0){if(console.assert){console.assert(cond,...messages2)}else{console.error(`Assert did fail with: ${cond}`,...messages2)}}emit({name,messages:messages2||[`Assert did fail with: ${cond}`],level:logAssertLevel})}};log10.assertEqual=function(value,expected,...args){let equal=deepEqual(value,expected);if(!equal){log10.assert(equal,`Assert did fail. Expected ${expected} got ${value}`,expected,value,...args)}};log10.assertNotEqual=function(value,expected,...args){let equal=deepEqual(value,expected);if(equal){log10.assert(equal,`Assert did fail. Expected ${expected} not to be equal with ${value}`,expected,value,...args)}};return log10}__name(LoggerBaseFactory,"LoggerBaseFactory");function Logger2(name=""){return logFactory(name)}__name(Logger2,"Logger");Logger2.registerHandler=function(handler){logHandlers.push(handler)};Logger2.setFilter=function(namespaces3){logCheckNamespace=useNamespaceFilter(namespaces3)};Logger2.setLock=(lock=true)=>logLock=lock;Logger2.setHandlers=function(handlers=[]){if(logFactory!==LoggerBaseFactory){logFactory=LoggerBaseFactory}if(logLock)return;logHandlers=[...handlers].filter(h=>typeof h==="function")};Logger2.level=-1;Logger2.setLogLevel=function(level=-1){if(logLock)return;Logger2.level=level};Logger2.setFactory=function(factory){if(logLock)return;logFactory=factory};return Logger2}__name(LoggerContext,"LoggerContext");function LoggerConsoleHandler(opt={}){const{level=void 0,filter=void 0,colors:colors2=true,levelHelper=false,nameBrackets=true,padding=16}=opt;const matchesNamespace=useNamespaceFilter(filter);const matchesLevel=useLevelFilter(level);return msg=>{if(!matchesLevel(msg.level))return;if(!matchesNamespace(msg.name))return;let name=msg.name?`[${msg.name}]`:"";switch(msg.level){case LogLevel.info:console.info(`I|* ${name}`,...msg.messages);break;case LogLevel.warn:console.warn(`W|** ${name}`,...msg.messages);break;case LogLevel.error:console.error(`E|*** ${name}`,...msg.messages);break;default:console.debug(`D| ${name}`,...msg.messages);break}}}__name(LoggerConsoleHandler,"LoggerConsoleHandler");function _global(){if(typeof self!=="undefined")return self;if(typeof window!=="undefined")return window;if(typeof global!=="undefined")return global;if(typeof globalThis!=="undefined")return globalThis;throw new Error("unable to locate global object")}__name(_global,"_global");function getGlobalContext(){let gcontext=_global();if(gcontext._zeedGlobal==null){gcontext._zeedGlobal={}}return gcontext._zeedGlobal}__name(getGlobalContext,"getGlobalContext");var globalLogger;function getLoggerContext(){let logger=LoggerContext();logger.setHandlers([LoggerConsoleHandler()]);return logger}__name(getLoggerContext,"getLoggerContext");try{let _global2=getGlobalContext();if(_global2!=null){if((_global2==null?void 0:_global2.logger)==null){globalLogger=getLoggerContext();_global2.logger=globalLogger}else{globalLogger=_global2.logger}}else{globalLogger=getLoggerContext()}}catch(e){globalLogger=getLoggerContext()}var Logger=globalLogger;var log=Logger("bin");var _textEncoder;function stringToUInt8Array(text){if(typeof TextEncoder==="undefined")return new Uint8Array;const textEncoder=_textEncoder!=null?_textEncoder:_textEncoder=new TextEncoder;return textEncoder.encode(text.normalize("NFC"))}__name(stringToUInt8Array,"stringToUInt8Array");var _textDecoder;function Uint8ArrayToString(bin){if(typeof TextDecoder==="undefined")return"";const textDecoder=_textDecoder!=null?_textDecoder:_textDecoder=new TextDecoder("utf-8",{ignoreBOM:true});return textDecoder.decode(bin).normalize("NFC")}__name(Uint8ArrayToString,"Uint8ArrayToString");function toUint8Array(data){if(data instanceof ArrayBuffer)return new Uint8Array(data);if(typeof data==="string")return stringToUInt8Array(data);if(data.length)return new Uint8Array(data);return data}__name(toUint8Array,"toUint8Array");function toHex(bin){if(typeof Buffer!=="undefined"){return Buffer.from(toUint8Array(bin)).toString("hex")}const h="0123456789abcdef";let s="";for(const v of[...toUint8Array(bin)]){s+=h[v>>4]+h[v&15]}return s}__name(toHex,"toHex");function toBase64(bin){const bytes=toUint8Array(bin);if(typeof Buffer!=="undefined"){return Buffer.from(bytes).toString("base64")}let s="";for(let i=0;i<bytes.byteLength;i++){s+=String.fromCharCode(bytes[i])}return btoa(s)}__name(toBase64,"toBase64");function toBase64Url(bin){const bytes=toUint8Array(bin);if(typeof Buffer!=="undefined"){return Buffer.from(bytes).toString("base64url")}let s="";for(let i=0;i<bytes.byteLength;i++){s+=String.fromCharCode(bytes[i])}return btoa(s).replace(/\+/g,"-").replace(/\//g,"_")}__name(toBase64Url,"toBase64Url");function equalBinary(a,b){if(a.byteLength!==b.byteLength)return false;const aa=toUint8Array(a);const bb=toUint8Array(b);for(let i=0;i<aa.length;i++){if(aa[i]!==bb[i]){return false}}return true}__name(equalBinary,"equalBinary");function jsonToUint8Array(json){try{return stringToUInt8Array(JSON.stringify(json))}catch(err){log.warn("jsonToUint8Array",json);throw err}}__name(jsonToUint8Array,"jsonToUint8Array");function Uint8ArrayToJson(data){try{return JSON.parse(Uint8ArrayToString(data))}catch(err){log.warn("Uint8ArrayToJson",data);throw err}}__name(Uint8ArrayToJson,"Uint8ArrayToJson");function randomUint8Array(length=16){let randomBytes=new Uint8Array(length);if(typeof crypto!=="undefined"&&crypto.getRandomValues){crypto.getRandomValues(randomBytes)}else{for(let i=0;i<length;i++){randomBytes[i]=Math.floor(Math.random()*256)}}return randomBytes}__name(randomUint8Array,"randomUint8Array");var DEFAULT_HASH_ALG="SHA-256";var DEFAULT_CRYPTO_ALG="AES-GCM";var DEFAULT_DERIVE_ALG="PBKDF2";async function digest(message,algorithm=DEFAULT_HASH_ALG){return await crypto.subtle.digest(algorithm,toUint8Array(message))}__name(digest,"digest");async function deriveKeyPbkdf2(secret,opt={}){var _a4;const secretBuffer=toUint8Array(secret);const keyMaterial=await crypto.subtle.importKey("raw",secretBuffer,DEFAULT_DERIVE_ALG,false,["deriveKey"]);return await crypto.subtle.deriveKey({name:DEFAULT_DERIVE_ALG,salt:opt.salt?toUint8Array(opt.salt):new Uint8Array(0),iterations:(_a4=opt.iterations)!=null?_a4:1e5,hash:DEFAULT_HASH_ALG},keyMaterial,{name:DEFAULT_CRYPTO_ALG,length:256},true,["encrypt","decrypt"])}__name(deriveKeyPbkdf2,"deriveKeyPbkdf2");var MAGIC_ID=new Uint8Array([1,1]);async function encrypt(data,key){const iv=randomUint8Array(12);const cipher=await crypto.subtle.encrypt({name:DEFAULT_CRYPTO_ALG,iv},key,data);const binCypher=new Uint8Array(cipher);const bufferLength=MAGIC_ID.length+iv.length+binCypher.length;const buffer=new Uint8Array(bufferLength);let pos=0;buffer.set(MAGIC_ID,pos);pos+=MAGIC_ID.length;buffer.set(iv,pos);pos+=iv.length;buffer.set(binCypher,pos);return buffer}__name(encrypt,"encrypt");async function decrypt(data,key){let magic=data.subarray(0,2);if(!equalBinary(magic,MAGIC_ID)){return Promise.reject(`Unknown magic ${magic}`)}let iv=data.subarray(2,2+12);let cipher=data.subarray(2+12,data.length);const plain=await crypto.subtle.decrypt({name:DEFAULT_CRYPTO_ALG,iv},key,cipher);return new Uint8Array(plain)}__name(decrypt,"decrypt");var separator=",";var preventCast=false;var ignoreNullOrUndefined=true;function filterFloat(value){if(/^([-+])?([0-9]+(\.[0-9]+)?|Infinity)$/.test(value)){return Number(value)}return NaN}__name(filterFloat,"filterFloat");function escape2(field){if(ignoreNullOrUndefined&&field==void 0){return""}if(preventCast){return'="'+String(field).replace(/"/g,'""')+'"'}if(!isNaN(filterFloat(field))&&isFinite(field)){return parseFloat(field)}return'"'+String(field).replace(/"/g,'""')+'"'}__name(escape2,"escape");function csv(data,headerRow){let body="";if(headerRow){body=headerRow.join(separator)+"\r\n"}for(let i=0;i<data.length;i++){body+=data[i].map(escape2).join(separator)+"\r\n"}return body}__name(csv,"csv");function parseOrderby(value=""){let[field="",orderby="asc"]=value.split(" ");orderby=orderby.toLowerCase();return{field,orderby,asc:orderby!=="desc",desc:orderby==="desc"}}__name(parseOrderby,"parseOrderby");function composeOrderby(field,asc=true){return`${field} ${asc?"asc":"desc"}`}__name(composeOrderby,"composeOrderby");function cmp(a,b,asc=true){const aa=a||0;const bb=b||0;return aa>bb?asc?1:-1:aa<bb?asc?-1:1:0}__name(cmp,"cmp");function sortedOrderby(values,...orderby){if(orderby.length>0){let orderByList=orderby.map(parseOrderby);let sortValues=Array.from(values);sortValues.sort((a,b)=>{for(let{field,asc}of orderByList){const result=cmp(a[field],b[field],asc);if(result!==0)return result}return 0});return sortValues}return values}__name(sortedOrderby,"sortedOrderby");function arrayUnique(x){return x.filter((n,index)=>x.indexOf(n)===index)}__name(arrayUnique,"arrayUnique");function arrayMinus(x,y){return arrayUnique(x.filter(n=>!y.includes(n)))}__name(arrayMinus,"arrayMinus");function arrayUnion(...a){return arrayUnique(a.reduce((acc=[],value)=>acc.concat(value),[]))}__name(arrayUnion,"arrayUnion");function arrayFlatten(...list){return list.flat(Infinity)}__name(arrayFlatten,"arrayFlatten");function arrayIntersection(x,y){return arrayUnique(x).filter(n=>y.includes(n))}__name(arrayIntersection,"arrayIntersection");function arraySymmetricDifference(x,y){return arrayMinus(arrayUnion(x,y),arrayIntersection(x,y))}__name(arraySymmetricDifference,"arraySymmetricDifference");function arrayRemoveElement(arr,el){if(arr&&Array.isArray(arr)){let index;while((index=arr.indexOf(el))!==-1){arr.splice(index,1)}return arr}return[]}__name(arrayRemoveElement,"arrayRemoveElement");function arraySetElement(arr,el){if(!arr.includes(el))arr.push(el);return arr}__name(arraySetElement,"arraySetElement");function arrayFilterInPlace(array,fn){array.splice(0,array.length,...array.filter(fn));return array}__name(arrayFilterInPlace,"arrayFilterInPlace");function arrayToggleInPlace(array,el){const index=array.findIndex(e=>e===el);if(index>=0)array.splice(index,1);else array.push(el);return array}__name(arrayToggleInPlace,"arrayToggleInPlace");function arrayEmptyInPlace(array){array.splice(0,array.length);return array}__name(arrayEmptyInPlace,"arrayEmptyInPlace");function arraySorted(arr,cond=cmp){return Array.from(arr).sort(cond)}__name(arraySorted,"arraySorted");function arraySortedNumbers(arr){return arraySorted(arr,(l,r)=>l-r)}__name(arraySortedNumbers,"arraySortedNumbers");function arrayIsEqual(array1,array2){return array1.length===array2.length&&array1.every((value,index)=>value===array2[index])}__name(arrayIsEqual,"arrayIsEqual");function arrayShuffleInPlace(array){array.sort(()=>Math.random()>.5?1:-1);return array}__name(arrayShuffleInPlace,"arrayShuffleInPlace");function arrayShuffle(array){return arrayShuffleInPlace(Array.from(array))}__name(arrayShuffle,"arrayShuffle");function arrayShuffleForce(array){while(array.length>1){const copy=Array.from(array);arrayShuffleInPlace(copy);if(!arrayIsEqual(array,copy))return copy}return array}__name(arrayShuffleForce,"arrayShuffleForce");function arrayRandomElement(array){return array[Math.floor(Math.random()*array.length)]}__name(arrayRandomElement,"arrayRandomElement");function arrayMax(...array){return arrayFlatten(array).reduce((acc,value)=>acc!=null?value>acc?value:acc:value,void 0)}__name(arrayMax,"arrayMax");function arrayMin(...array){return arrayFlatten(array).reduce((acc,value)=>acc!=null?value<acc?value:acc:value,void 0)}__name(arrayMin,"arrayMin");function createArray(size2=0,item){if(size2<=0)return[];let arr=new Array(size2);for(let i=0;i<size2;i++){arr[i]=item instanceof Function?item(i):item}return arr}__name(createArray,"createArray");var log2=Logger("zeed:basex");var alphabets={"2":"01","8":"01234567","11":"0123456789a","16":"0123456789abcdef","32":"0123456789ABCDEFGHJKMNPQRSTVWXYZ","32-rfc":"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","32-hex":"0123456789ABCDEFGHIJKLMNOPQRSTUV","32-zbase":"ybndrfg8ejkmcpqxot1uwisza345h769","36":"0123456789abcdefghijklmnopqrstuvwxyz","58":"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz","62":"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","64":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","64-url":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","66":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~","85":"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~"};function useBase(alphaOrBase){let ALPHABET;if(typeof alphaOrBase==="string"){ALPHABET=alphaOrBase}else{ALPHABET=alphabets[alphaOrBase.toString()];if(ALPHABET==null)throw new Error(`Unknown base ${alphaOrBase}`)}if(ALPHABET.length>=255)throw new TypeError("Alphabet too long");const BASE_MAP=new Uint8Array(256);for(let j=0;j<BASE_MAP.length;j++){BASE_MAP[j]=255}for(let i=0;i<ALPHABET.length;i++){const x=ALPHABET.charAt(i);const xc=x.charCodeAt(0);if(BASE_MAP[xc]!==255)throw new TypeError(x+" is ambiguous");BASE_MAP[xc]=i}const BASE=ALPHABET.length;const LEADER=ALPHABET.charAt(0);const FACTOR=Math.log(BASE)/Math.log(256);const iFACTOR=Math.log(256)/Math.log(BASE);function encode(source,padToLength=-1){let data=toUint8Array(source);if(data.byteLength===0)return"";let length=0;let pbegin=0;const pend=data.byteLength;while(pbegin!==pend&&data[pbegin]===0)pbegin++;const size2=(pend-pbegin)*iFACTOR+1>>>0;const dataEncoded=new Uint8Array(size2);while(pbegin!==pend){let carry=data[pbegin];let i=0;for(let it1=size2-1;(carry!==0||i<length)&&it1!==-1;it1--,i++){carry+=256*dataEncoded[it1]>>>0;dataEncoded[it1]=carry%BASE>>>0;carry=carry/BASE>>>0}if(carry!==0){log2.warn("Non-zero carry",data,padToLength,i,size2);throw new Error("Non-zero carry")}length=i;pbegin++}let it2=size2-length;while(it2!==size2&&dataEncoded[it2]===0){it2++}let str="";for(;it2<size2;++it2)str+=ALPHABET.charAt(dataEncoded[it2]);if(padToLength>0){return str.padStart(padToLength,LEADER)}return str}__name(encode,"encode");function decode(source,padToLength=-1){if(typeof source!=="string")throw new TypeError("Expected String");if(source.length===0)return new Uint8Array;source=source.replace(/\s+/gi,"");let psz=0;let length=0;while(source[psz]===LEADER){psz++}const size2=(source.length-psz)*FACTOR+1>>>0;const dataDecoded=new Uint8Array(size2);while(source[psz]){let carry=BASE_MAP[source.charCodeAt(psz)];if(carry===255)throw new Error(`Unsupported character "${source[psz]}"`);let i=0;for(let it3=size2-1;(carry!==0||i<length)&&it3!==-1;it3--,i++){carry+=BASE*dataDecoded[it3]>>>0;dataDecoded[it3]=carry%256>>>0;carry=carry/256>>>0}if(carry!==0)throw new Error("Non-zero carry");length=i;psz++}let it4=size2-length;while(it4!==size2&&dataDecoded[it4]===0){it4++}if(padToLength>0){return new Uint8Array([...new Uint8Array(padToLength-dataDecoded.length+it4),...dataDecoded.slice(it4)])}return dataDecoded.slice(it4)}__name(decode,"decode");return{encode,decode}}__name(useBase,"useBase");var{encode:encodeBase16,decode:decodeBase16}=useBase(16);var{encode:encodeBase32,decode:decodeBase32}=useBase(32);var{encode:encodeBase58,decode:decodeBase58}=useBase(58);var{encode:encodeBase62,decode:decodeBase62}=useBase(62);var{encode:encodeBase64,decode:decodeBase64}=useBase(62);var toCamelCase=__name(s=>{if(s.length>0){if(/^[A-Z0-9_\-\ ]*$/g.test(s)){s=s.toLowerCase()}s=s.replace(/^[-_\ ]+/gi,"").replace(/[-_\ ]+$/gi,"").replace(/[-_\ ]+([a-z0-9])/gi,($0,$1)=>$1.toUpperCase());s=s[0].toLowerCase()+s.substring(1)}return s},"toCamelCase");function toCapitalize(s){return s.charAt(0).toUpperCase()+s.toLowerCase().slice(1)}__name(toCapitalize,"toCapitalize");function toCapitalizeWords(s){return s.replace(/\w\S*/g,toCapitalize)}__name(toCapitalizeWords,"toCapitalizeWords");function fromCamelCase(str,separator2="-"){separator2=typeof separator2==="undefined"?"_":separator2;return str.replace(/([a-z\d])([A-Z])/g,"$1"+separator2+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+separator2+"$2").toLowerCase()}__name(fromCamelCase,"fromCamelCase");function serializer(replacer,cycleReplacer){var stack=[],keys=[];if(cycleReplacer==null)cycleReplacer=__name(function(key,value){if(stack[0]===value)return"[Circular ~]";return"[Circular ~."+keys.slice(0,stack.indexOf(value)).join(".")+"]"},"cycleReplacer");return function(key,value){if(stack.length>0){var thisPos=stack.indexOf(this);~thisPos?stack.splice(thisPos+1):stack.push(this);~thisPos?keys.splice(thisPos,Infinity,key):keys.push(key);if(~stack.indexOf(value))value=cycleReplacer==null?void 0:cycleReplacer.call(this,key,value)}else stack.push(value);return replacer==null?value:replacer.call(this,key,value)}}__name(serializer,"serializer");function jsonStringify(obj,replacer,spaces,cycleReplacer){return JSON.stringify(obj,serializer(replacer,cycleReplacer),spaces)}__name(jsonStringify,"jsonStringify");var TRUE_VALUES_LIST=["1","true","yes","y","on"];function stringToBoolean(value,defaultValue=false){if(value==null||typeof value!=="string")return defaultValue;return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())}__name(stringToBoolean,"stringToBoolean");function stringToInteger(value,defaultValue=0){var _a4;if(value==null||typeof value!=="string")return defaultValue;return(_a4=parseInt(value.trim(),10))!=null?_a4:defaultValue}__name(stringToInteger,"stringToInteger");function stringToFloat(value,defaultValue=0){var _a4;if(value==null||typeof value!=="string")return defaultValue;return(_a4=parseFloat(value.trim()))!=null?_a4:defaultValue}__name(stringToFloat,"stringToFloat");function valueToBoolean(value,defaultValue=false){if(value==null)return defaultValue;if(typeof value==="boolean")return value;if(typeof value==="number")return value!==0;return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())}__name(valueToBoolean,"valueToBoolean");function valueToInteger(value,defaultValue=0){var _a4;if(value==null)return defaultValue;if(typeof value==="boolean")return value?1:0;if(typeof value==="number")return Math.floor(value);return(_a4=parseInt(String(value).trim(),10))!=null?_a4:defaultValue}__name(valueToInteger,"valueToInteger");function valueToFloat(value,defaultValue=0){var _a4;if(value==null)return defaultValue;if(typeof value==="boolean")return value?1:0;if(typeof value==="number")return Math.floor(value);return(_a4=parseFloat(String(value).trim()))!=null?_a4:defaultValue}__name(valueToFloat,"valueToFloat");function valueToString(value,defaultValue=""){var _a4;if(value==null)return defaultValue;return(_a4=String(value))!=null?_a4:defaultValue}__name(valueToString,"valueToString");var toFloat=valueToFloat;var toInt=valueToInteger;var toString=valueToString;var toBool=valueToBoolean;function formatMessages(messages2,opt={}){const{trace=true,pretty=true}=opt;return messages2.map(obj=>{if(obj&&typeof obj==="object"){if(obj instanceof Error){if(!trace){return`${obj.name||"Error"}: ${obj.message}`}return`${obj.name||"Error"}: ${obj.message}
2
- ${obj.stack}`}return pretty?jsonStringify(obj,null,2):jsonStringify(obj)}return String(obj)})}__name(formatMessages,"formatMessages");function renderMessages(messages2,opt={}){return formatMessages(messages2,opt).join(" ")}__name(renderMessages,"renderMessages");function fixBrokenUth8String(brokenString){try{return decodeURIComponent(escape(brokenString))}catch(e){}return brokenString}__name(fixBrokenUth8String,"fixBrokenUth8String");var defaults={symbol:"$",separator:",",decimal:".",errorOnInvalid:false,precision:2,pattern:"!#",negativePattern:"-!#",format,fromCents:false};var round=__name(v=>Math.round(v),"round");var pow=__name(p=>Math.pow(10,p),"pow");var rounding=__name((value,increment)=>round(value/increment)*increment,"rounding");var groupRegex=/(\d)(?=(\d{3})+\b)/g;var vedicRegex=/(\d)(?=(\d\d)+\d\b)/g;function currency(value,opts={}){return new Currency(value,opts)}__name(currency,"currency");var _Currency=class{constructor(value,opts={}){var _a4;let settings=Object.assign({},defaults,opts);let precision=pow((_a4=settings.precision)!=null?_a4:2);let v=parse(value,settings);this.intValue=v;this.value=v/precision;settings.increment=settings.increment||1/precision;if(settings.useVedic){settings.groups=vedicRegex}else{settings.groups=groupRegex}this._settings=settings;this._precision=precision}add(number){let{intValue,_settings,_precision}=this;return currency((intValue+=parse(number,_settings))/(_settings.fromCents?1:_precision),_settings)}subtract(number){let{intValue,_settings,_precision}=this;return currency((intValue-=parse(number,_settings))/(_settings.fromCents?1:_precision),_settings)}multiply(number){let{intValue,_settings,_precision}=this;return currency((intValue*=number)/(_settings.fromCents?1:pow(_precision)),_settings)}divide(number){let{intValue,_settings}=this;return currency(intValue/=parse(number,_settings,false),_settings)}distribute(count){let{intValue,_precision,_settings}=this,distribution=[],split=Math[intValue>=0?"floor":"ceil"](intValue/count),pennies=Math.abs(intValue-split*count),precision=_settings.fromCents?1:_precision;for(;count!==0;count--){let item=currency(split/precision,_settings);pennies-- >0&&(item=item[intValue>=0?"add":"subtract"](1/precision));distribution.push(item)}return distribution}dollars(){return~~this.value}cents(){let{intValue,_precision}=this;return~~(intValue%_precision)}format(options){let{_settings}=this;if(typeof options==="function"){return options(this,_settings)}return _settings.format(this,Object.assign({},_settings,options))}toString(){let{intValue,_precision,_settings}=this;return rounding(intValue/_precision,_settings.increment).toFixed(_settings.precision)}toJSON(){return this.value}static sum(...array){return arrayFlatten(array).reduce((acc,value)=>currency(acc).add(value),this.zero)}static avg(...array){let arr=arrayFlatten(array);return arr.reduce((acc,value)=>currency(acc).add(value),this.zero).divide(arr.length)}};var Currency=_Currency;__name(Currency,"Currency");Currency.zero=new _Currency(0);Currency.one=new _Currency(1);function parse(value,opts,useRounding=true){let v=0,{decimal,errorOnInvalid,precision:decimals,fromCents}=opts,precision=pow(decimals),isNumber=typeof value==="number";if(value instanceof Currency&&fromCents){return value.intValue}if(isNumber||value instanceof Currency){v=value instanceof Currency?value.value:value}else if(typeof value==="string"){let regex=new RegExp("[^-\\d"+decimal+"]","g"),decimalString=new RegExp("\\"+decimal,"g");v=value.replace(/\((.*)\)/,"-$1").replace(regex,"").replace(decimalString,".");v=v||0}else{if(errorOnInvalid){throw Error("Invalid Input")}v=0}if(!fromCents){v*=precision;v=v.toFixed(4)}return useRounding?round(v):v}__name(parse,"parse");function format(currency2,settings){let{pattern:pattern2,negativePattern,symbol,separator:separator2,decimal,groups}=settings,split=(""+currency2).replace(/^-/,"").split("."),dollars=split[0],cents=split[1];return(currency2.value>=0?pattern2:negativePattern).replace("!",symbol).replace("#",dollars.replace(groups,"$1"+separator2)+(cents?decimal+cents:""))}__name(format,"format");var isHalf=__name(value=>Math.abs(value)%1===.5,"isHalf");var isEven=__name(value=>value%2===0,"isEven");var roundUp=__name(value=>Math.ceil(value),"roundUp");var roundDown=__name(value=>Math.floor(value),"roundDown");var roundHalfUp=__name(value=>Math.round(value),"roundHalfUp");var roundHalfOdd=__name(value=>{const rounded=Math.round(value);if(!isHalf(value)){return rounded}return isEven(rounded)?rounded-1:rounded},"roundHalfOdd");var roundHalfAwayFromZero=__name(value=>{return isHalf(value)?Math.sign(value)*Math.ceil(Math.abs(value)):Math.round(value)},"roundHalfAwayFromZero");var roundHalfDown=__name(value=>isHalf(value)?Math.floor(value):Math.round(value),"roundHalfDown");var roundHalfEven=__name(value=>{const rounded=Math.round(value);if(!isHalf(value)){return rounded}return isEven(rounded)?rounded:rounded-1},"roundHalfEven");var roundHalfTowardsZero=__name(value=>isHalf(value)?Math.sign(value)*Math.floor(Math.abs(value)):Math.round(value),"roundHalfTowardsZero");var{warn}=Logger("zeed:promise");async function sleep(milliSeconds){return new Promise(resolve5=>setTimeout(resolve5,milliSeconds))}__name(sleep,"sleep");async function immediate(){return new Promise(resolve5=>setTimeout(resolve5,0))}__name(immediate,"immediate");var timeoutReached=Symbol("timeout");async function timeout(promise,milliSeconds,timeoutValue=timeoutReached){return new Promise(async(resolve5,reject)=>{let done=false;const timeout2=setTimeout(()=>{done=true;resolve5(timeoutValue)},milliSeconds);try{let result=await promise;clearTimeout(timeout2);if(!done)resolve5(result)}catch(err){clearTimeout(timeout2);if(!done)reject(err)}})}__name(timeout,"timeout");var timoutError=new Error("Timeout reached");function isTimeout(value){return value===timeoutReached||value===timoutError}__name(isTimeout,"isTimeout");async function tryTimeout(promise,milliSeconds){if(milliSeconds<=0){return await promise}return new Promise(async(resolve5,reject)=>{let done=false;const timeout2=setTimeout(()=>{done=true;reject(timoutError)},milliSeconds);try{let result=await promise;clearTimeout(timeout2);if(!done)resolve5(result)}catch(err){clearTimeout(timeout2);if(!done)reject(err)}})}__name(tryTimeout,"tryTimeout");function waitOn(obj,event,timeoutMS=1e3){return new Promise((resolve5,reject)=>{let fn=__name(value=>{if(timer){clearTimeout(timer);done();resolve5(value)}},"fn");let done=__name(()=>{timer=null;if(obj.off){obj.off(event,fn)}else if(obj.removeEventListener){obj.removeEventListener(event,fn)}else{warn("No remove listener method found for",obj,event)}},"done");let timer=setTimeout(()=>{done();reject(new Error(`Did not response in time`))},timeoutMS);if(obj.on){obj.on(event,fn)}else if(obj.addEventListener){obj.addEventListener(event,fn)}else{warn("No listener method found for",obj)}})}__name(waitOn,"waitOn");function isPromise(value){return Boolean(value&&(value instanceof Promise||typeof value.then==="function"))}__name(isPromise,"isPromise");function promisify(value){return Promise.resolve(value)}__name(promisify,"promisify");var DAY_MS=1e3*60*60*24;var Day=class{constructor(days){var _a4;if(typeof days==="number"){this.days=days;return}if(days!=null){days=(_a4=Day.from(days))==null?void 0:_a4.days}if(days==null){const date=new Date;this.days=date.getFullYear()*1e4+(date.getMonth()+1)*100+date.getDate()}else{this.days=days}}static fromNumber(n){return new Day(n)}static fromString(dateString){return new Day(+dateString.replace(/[^0-9]/g,""))}static fromDate(date,gmt=false){return gmt?Day.fromString(date.toISOString().substr(0,10)):new Day(date.getFullYear()*1e4+(date.getMonth()+1)*100+date.getDate())}static fromDateGMT(date){return Day.fromDate(date,true)}static from(value,gmt=false){if(typeof value==="number"){return new Day(value)}else if(typeof value==="string"){return Day.fromString(value)}else if(value instanceof Date){return Day.fromDate(value,gmt)}else if(value instanceof Day){return value}}toNumber(){return this.days}toJson(){return this.days}toString(sep="-"){let baseString=String(this.days);return baseString.slice(0,4)+sep+baseString.slice(4,6)+sep+baseString.slice(6,8)}toDate(gmt=false){return gmt?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateGMT(){return this.toDate(true)}dayOffset(offset){return Day.fromDateGMT(new Date(this.toDateGMT().getTime()+offset*DAY_MS))}daysUntil(otherDay){var _a4;return Math.round((((_a4=new Day(otherDay))==null?void 0:_a4.toDateGMT().getTime())-this.toDateGMT().getTime())/DAY_MS)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};__name(Day,"Day");async function forEachDay(from,to,handler){let start=Day.from(from);let end=Day.from(to);while(start&&end&&(start==null?void 0:start.days)<=(end==null?void 0:end.days)){let result=handler(start);if(isPromise(result)){await result}start=start.dayOffset(1)}}__name(forEachDay,"forEachDay");function today(){return new Day}__name(today,"today");function day(days){return new Day(days)}__name(day,"day");var escapeHTML=__name(s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&apos;").replace(/"/g,"&quot;"),"escapeHTML");var unescapeHTML=__name(s=>s.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&apos;/gi,"'").replace(/&amp;/gi,"&"),"unescapeHTML");function randomBoolean(bias=.25){return Math.random()<bias?0:1}__name(randomBoolean,"randomBoolean");function randomInt(max=100,min=0){return min+Math.floor(Math.random()*(max-min))}__name(randomInt,"randomInt");function randomFloat(max=100,min=0){return min+Math.random()*(max-min)}__name(randomFloat,"randomFloat");function between(min,value,max){return Math.max(min,Math.min(max,value))}__name(between,"between");var MAX_FILENAME_LENGTH=100;var reControlChars=/[\u0000-\u001F\u0080-\u009F]/g;var reRelativePath=/^\.+/;var reTrailingPeriods=/\.+$/;function filenameReservedRegex(){return/[<>:"/\\|?*\u0000-\u001F]/g}__name(filenameReservedRegex,"filenameReservedRegex");function windowsReservedNameRegex(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}__name(windowsReservedNameRegex,"windowsReservedNameRegex");function toValidFilename(string){if(typeof string!=="string"){throw new TypeError("Expected a string")}const replacement="_";if(filenameReservedRegex().test(replacement)&&reControlChars.test(replacement)){throw new Error("Replacement string cannot contain reserved filename characters")}string=string.replace(filenameReservedRegex(),replacement).replace(reControlChars,replacement).replace(reRelativePath,replacement).replace(reTrailingPeriods,"");string=windowsReservedNameRegex().test(string)?string+replacement:string;return string.slice(0,MAX_FILENAME_LENGTH)}__name(toValidFilename,"toValidFilename");var rxEscape=/[\\\-\[\]\/{}()*+?.^$|]/g;function escapeRegExp(value){if(!value)return"";if(value instanceof RegExp){return value.source}return value.replace(rxEscape,"\\$&")}__name(escapeRegExp,"escapeRegExp");function startSortWeight(items){return items.reduce((acc,item)=>Math.min(acc,item.sort_weight||0),0)-1-Math.random()}__name(startSortWeight,"startSortWeight");function endSortWeight(items){return items.reduce((acc,item)=>Math.max(acc,item.sort_weight||0),0)+1+Math.random()}__name(endSortWeight,"endSortWeight");function moveSortWeight(newIndex,oldIndex,items){let count=items.length;const moveLower=newIndex<oldIndex;if(count<=0||newIndex>=count-1){return endSortWeight(items)}if(newIndex<=0){return startSortWeight(items)}items=sortedItems([...items]);const step=moveLower?-1:0;const lower=items[newIndex+step].sort_weight||0;const upper=items[newIndex+step+1].sort_weight||0;const distance=upper-lower;if(distance===0){if(moveLower){return startSortWeight(items)}return endSortWeight(items)}const middle=lower+distance/2;const fuzzy=distance*.01*(Math.random()-.5);return middle+fuzzy}__name(moveSortWeight,"moveSortWeight");function sortedItems(items){items.sort((a,b)=>(a.sort_weight||0)-(b.sort_weight||0));return items}__name(sortedItems,"sortedItems");var findURL=/((?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?)/gim;function linkifyPlainText(text){return text.split(findURL).map((part,i)=>{const escapedPart=escapeHTML(part);return i%2?`<a target="_blank" href="${escapedPart}">${toHumanReadableUrl(escapedPart)}</a>`:escapedPart}).join("")}__name(linkifyPlainText,"linkifyPlainText");function toHumanReadableUrl(url){return url.replace(/^https?:\/\/(www\.)?/,"").replace(/\/$/,"")}__name(toHumanReadableUrl,"toHumanReadableUrl");function encodeQuery(data){let pairs=[];for(let[key,value]of Object.entries(data)){if(value!=null){if(!Array.isArray(value)){value=[value]}for(let v of value){if(v!=null){pairs.push(encodeURIComponent(key)+"="+encodeURIComponent(v.toString()||""))}}}}return pairs.join("&")}__name(encodeQuery,"encodeQuery");function parseQuery(queryString){let query={};let pairs=(queryString[0]==="?"?queryString.substr(1):queryString).split("&");for(let i=0;i<pairs.length;i++){let pair=pairs[i].split("=");let key=decodeURIComponent(pair[0]);let value=decodeURIComponent(pair[1]||"");if(query[key]!=null){if(!Array.isArray(query[key])){query[key]=[query[key]]}query[key].push(value)}else{query[key]=value}}return query}__name(parseQuery,"parseQuery");function size(obj){if(obj!=null){if(obj.size!=null){return obj.size}if(obj.length!=null){return obj.length}return Object.keys(obj).length}return 0}__name(size,"size");function last(array){return array!=null&&array.length>0?array[array.length-1]:void 0}__name(last,"last");function empty(value){try{if(value!=null){if(Array.isArray(value)){return value.length<=0}else if(typeof value==="string"){return value.length<=0}else if((value==null?void 0:value.size)!=null){return value.size<=0}else{return Object.keys(value).length<=0}}}catch(err){console.error("Failed to check if empty for",value,err)}return true}__name(empty,"empty");function cloneObject(obj){if(Object(obj)!==obj)return obj;return JSON.parse(JSON.stringify(obj))}__name(cloneObject,"cloneObject");async function callDisposer(disposable){if(typeof disposable==="function"){await promisify(disposable())}else if(isPromise(disposable)){await disposable}else if(typeof disposable.dispose==="function"){await promisify(disposable.dispose())}else if(isPromise(disposable.dispose)){await disposable.dispose}else if(typeof disposable.cleanup==="function"){await promisify(disposable.cleanup())}else if(isPromise(disposable.cleanup)){await disposable.cleanup}}__name(callDisposer,"callDisposer");function useDisposer(){let tracked=[];const untrack=__name(async disposable=>{if(tracked.includes(disposable)){arrayFilterInPlace(tracked,el=>el!==disposable);await callDisposer(disposable)}},"untrack");const dispose=__name(async()=>{while(tracked.length>0){await untrack(tracked[0])}},"dispose");const track=__name(obj=>{tracked.unshift(obj);return()=>untrack(obj)},"track");return Object.assign(dispose,{track,untrack,dispose,getSize(){return tracked.length}})}__name(useDisposer,"useDisposer");function useTimeout(fn,timeout2=0){let timeoutHandle=setTimeout(fn,timeout2);return()=>{if(timeoutHandle){clearTimeout(timeoutHandle);timeoutHandle=void 0}}}__name(useTimeout,"useTimeout");function useInterval(fn,interval){let intervalHandle=setInterval(fn,interval);return()=>{if(intervalHandle){clearInterval(intervalHandle);intervalHandle=void 0}}}__name(useInterval,"useInterval");function useEventListener(emitter,eventName,fn,...args){if(emitter==null)return()=>{};if(emitter.on){emitter.on(eventName,fn,...args)}else if(emitter.addEventListener){emitter.addEventListener(eventName,fn,...args)}return()=>{if(emitter.off){emitter.off(eventName,fn,...args)}else if(emitter.removeEventListener){emitter.removeEventListener(eventName,fn,...args)}}}__name(useEventListener,"useEventListener");function isLocalHost(hostname=window.location.hostname){return["localhost","127.0.0.1","","::1","::"].includes(hostname)||hostname.startsWith("192.168.")||hostname.startsWith("10.0.")||hostname.endsWith(".local")}__name(isLocalHost,"isLocalHost");var getTimestamp=__name(()=>typeof performance!=="undefined"?performance.now():new Date().getTime(),"getTimestamp");function formatMilliseconds(ms){return ms>999?(ms/1e3).toFixed(1)+"s":ms.toFixed(2)+"ms"}__name(formatMilliseconds,"formatMilliseconds");function parseDate(...dateCandidates){for(let dateCandidate of dateCandidates){if(dateCandidate instanceof Date){return dateCandidate}if(typeof dateCandidate==="string"){let date=null;if(dateCandidate.includes(":")){try{date=new Date(dateCandidate)}catch(err){}}if(!(date instanceof Date)){let m=/(\d\d\d\d)-(\d\d)-(\d\d)/.exec(dateCandidate);if(m){date=new Date(+m[1],+m[2]-1,+m[3],12,0)}}if(date instanceof Date){return date}}}}__name(parseDate,"parseDate");var{encode:encode62,decode:decode62}=useBase(62);var{encode:encode32}=useBase(32);function uuidBytes(){return randomUint8Array(16)}__name(uuidBytes,"uuidBytes");function uuid(){return encode62(uuidBytes(),22)}__name(uuid,"uuid");function uuidB32(){return encode32(uuidBytes(),26)}__name(uuidB32,"uuidB32");var _unameCounters={};function uname(name="id"){if(_unameCounters[name]==null){_unameCounters[name]=0}return`${name}-${_unameCounters[name]++}`}__name(uname,"uname");var _qid=0;function qid(){return`id-${_qid++}`}__name(qid,"qid");var pattern="10000000-1000-4000-8000-100000000000";var uuidv4=__name(()=>pattern.replace(/[018]/g,c=>(c^randomUint8Array(1)[0]&15>>c/4).toString(16)),"uuidv4");var ReferenceDateInMS=16e11;function longToByteArray(long){var byteArray=new Uint8Array([0,0,0,0,0,0]);const bytes=byteArray.length-1;for(var index=0;index<byteArray.length;index++){var byte=long&255;byteArray[bytes-index]=byte;long=(long-byte)/256}return byteArray}__name(longToByteArray,"longToByteArray");function suidBytes(){const ms=getTimestamp()-ReferenceDateInMS;return new Uint8Array([...longToByteArray(ms),...randomUint8Array(10)])}__name(suidBytes,"suidBytes");function suid(){return encode62(suidBytes(),22)}__name(suid,"suid");function suidDate(id){return suidBytesDate(decode62(id,16))}__name(suidDate,"suidDate");function suidBytesDate(id){return new Date(ReferenceDateInMS+id.slice(0,6).reduce((acc,byte)=>{return acc*256+byte},0))}__name(suidBytesDate,"suidBytesDate");var log3=Logger("zeed:emitter");var Emitter=class{constructor(){this.subscribers={};this.subscribersOnAny=[];this.call=new Proxy({},{get:(target,name)=>(...args)=>this.emit(name,...args)})}async emit(event,...args){let ok=false;try{let subscribers=this.subscribers[event]||[];this.subscribersOnAny.forEach(fn=>fn(event,...args));if(subscribers.length>0){let all=subscribers.map(fn=>{try{return promisify(fn(...args))}catch(err){log3.warn("emit warning:",err)}});ok=true;await Promise.all(all)}}catch(err){log3.error("emit exception",err)}return ok}onAny(fn){this.subscribersOnAny.push(fn)}on(event,listener){let subscribers=this.subscribers[event]||[];subscribers.push(listener);this.subscribers[event]=subscribers;return()=>{this.off(event,listener)}}onCall(handlers){for(const[name,handler]of Object.entries(handlers)){this.on(name,handler)}}once(event,listener){const onceListener=__name(async(...args)=>{this.off(event,onceListener);return await promisify(listener(...args))},"onceListener");this.on(event,onceListener);return()=>{this.off(event,listener)}}off(event,listener){this.subscribers[event]=(this.subscribers[event]||[]).filter(f=>listener&&f!==listener);return this}removeAllListeners(event){this.subscribers={};return this}dispose(){this.subscribers={};this.subscribersOnAny=[]}};__name(Emitter,"Emitter");function getGlobalEmitter(){let emitter=getGlobalContext().emitter;if(!emitter){emitter=new Emitter;getGlobalContext().emitter=emitter}return emitter}__name(getGlobalEmitter,"getGlobalEmitter");var messages=new Emitter;function lazyListener(emitter,listenerKey){const name=Math.round(Math.random()*100);var events=[];var lazyResolve;const incoming=__name((key,obj)=>{let ev={key,obj};events.push(ev);lazyResolve&&lazyResolve()},"incoming");if(listenerKey){if(emitter.on){emitter.on(listenerKey,obj=>{incoming(listenerKey,obj)})}else if(emitter.addEventListener){emitter.addEventListener(listenerKey,obj=>{incoming(listenerKey,obj)})}else{log3.error(name,"Cannot listen to key")}}else{if(emitter.onAny){emitter.onAny((key,obj)=>{incoming(key,obj)})}else{log3.error(name,"cannot listen to all for",emitter)}}let on=__name((key,skipUnmatched=true)=>{return new Promise((resolve5,reject)=>{if(!key){key=listenerKey;if(!key){if(events.length){key=events[0].key}}}lazyResolve=__name(()=>{while(events.length>0){let ev=events.shift();if(ev.key===key){lazyResolve=void 0;resolve5(ev.obj)}else{if(skipUnmatched){log3.warn(name,`Unhandled event ${key} with value: ${ev.obj}`);continue}reject(`Expected ${key}, but found ${ev.key} with value=${ev.obj}`);log3.error(name,`Unhandled event ${key} with value: ${ev.obj}`)}break}},"lazyResolve");lazyResolve()})},"on");return on}__name(lazyListener,"lazyListener");var Channel=class extends Emitter{constructor(){super(...arguments);this.id=uuid()}close(){}};__name(Channel,"Channel");var LocalChannel=class extends Channel{constructor(){super(...arguments);this.isConnected=true}postMessage(data){var _a4;(_a4=this.other)==null?void 0:_a4.emit("message",{data,origin:"local",lastEventId:uuid()})}};__name(LocalChannel,"LocalChannel");function fakeWorkerPair(){let w1=new LocalChannel;let w2=new LocalChannel;w1.other=w2;w2.other=w1;return[w1,w2]}__name(fakeWorkerPair,"fakeWorkerPair");var JsonEncoder=class{async encode(data){return jsonToUint8Array(data)}async decode(data){return Uint8ArrayToJson(data)}};__name(JsonEncoder,"JsonEncoder");var CryptoEncoder=class{constructor(key){this.key=key}async encode(data){const plain=jsonToUint8Array(data);return await encrypt(plain,this.key)}async decode(data){const plain=await decrypt(data,this.key);return Uint8ArrayToJson(plain)}};__name(CryptoEncoder,"CryptoEncoder");var createPromiseProxy=__name((fn,opt,predefinedMethods={})=>new Proxy(predefinedMethods,{get:(target,name)=>{if(name in target)return target[name];return(...args)=>fn(name,args,opt)}}),"createPromiseProxy");function useMessageHub(opt={}){let{name=uname("hub"),encoder=new JsonEncoder,retryAfter=1e3,ignoreUnhandled=true}=opt;const log10=Logger(name);let handlers={};let channel;let queue=[];let queueRetryTimer;let waitingForResponse={};const dispose=__name(()=>{clearTimeout(queueRetryTimer)},"dispose");const postNext=__name(async()=>{clearTimeout(queueRetryTimer);if(channel){if(channel.isConnected){while(queue.length){let message=queue[0];try{channel.postMessage(await encoder.encode(message));queue.shift()}catch(err){log10.warn("postMessage",err);break}}}if(queue.length>0&&retryAfter>0){queueRetryTimer=setTimeout(postNext,retryAfter)}}},"postNext");const postMessage=__name(async message=>{log10("enqueue postMessage",message);queue.push(message);await postNext()},"postMessage");const connect=__name(async newChannel=>{channel=newChannel;channel.on("connect",postNext);channel.on("message",async msg=>{log10("onmessage",typeof msg);const{name:name2,args,id,result,error}=await encoder.decode(msg.data);if(name2){log10(`name ${name2} id ${id}`);try{if(handlers[name2]==null){throw new Error(`handler for ${name2} was not found`)}let result2=handlers[name2](...args);if(isPromise(result2))result2=await result2;log10(`result ${result2}`);if(id){postMessage({id,result:result2})}}catch(error2){let err=error2 instanceof Error?error2:new Error(valueToString(error2));log10.warn("execution error",err.name);postMessage({id,error:{message:err.message,stack:err.stack,name:err.name}})}}else if(id){log10(`response for id=${id}: result=${result}, error=${error}`);if(waitingForResponse[id]==null){if(result===void 0){log10(`skip response for ${id}`)}else{log10.warn(`no response hook for ${id}`)}}else{const[resolve5,reject]=waitingForResponse[id];if(resolve5&&reject){delete waitingForResponse[id];if(error){let err=new Error(error.message);err.stack=error.stack;err.name=error.name;log10.warn("reject",err.name);reject(err)}else{log10("resolve",result);resolve5(result)}}}}else if(!ignoreUnhandled){log10.warn("Unhandled message",msg)}});postNext()},"connect");const fetchMessage=__name(async(name2,args,opt2={})=>{const{timeout:timeout2=5e3}=opt2;const id=uuid();postMessage({name:name2,args,id});return tryTimeout(new Promise((resolve5,reject)=>waitingForResponse[id]=[resolve5,reject]),timeout2)},"fetchMessage");if(opt.channel){connect(opt.channel)}return{dispose,connect,listen(newHandlers){Object.assign(handlers,newHandlers)},send(){return createPromiseProxy(fetchMessage,{},{options(perCallopt){return createPromiseProxy(fetchMessage,__spreadValues({},perCallopt))}})}}}__name(useMessageHub,"useMessageHub");var PubSub=class extends Emitter{constructor(opt){super();this.publish=this.emit;this.subscribe=this.on;var _a4;let{name,encoder=new JsonEncoder,channel,debug=false}=opt;this.channel=channel;this.encoder=encoder;this.debug=debug;this.name=(_a4=name!=null?name:this.channel.id)!=null?_a4:uname("pubsub");this.log=Logger(`${this.shortId}`);if(this.debug){this.channel.on("connect",()=>{this.log("channel connected")});this.channel.on("disconnect",()=>{this.log("channel disconnected")})}this.channel.on("message",async({data})=>{let info=await this.encoder.decode(data);if(this.debug)this.log(`channel message, event=${info==null?void 0:info.event}, info=`,info);else this.log(`channel message, event=${info==null?void 0:info.event}`);if(info){const{event,args}=info;await this.emitSuper(event,...args)}})}get shortId(){return this.name.substr(0,6)}async emitSuper(event,...args){return await super.emit(event,...args)}async emit(event,...args){try{if(this.debug)this.log(`emit(${event})`,event);else this.log(`emit(${event})`,args.length);if(!this.channel.isConnected){this.log.warn("channel not connected");return false}const data=await this.encoder.encode({event,args});this.channel.postMessage(data);return true}catch(err){this.log.warn(`emit(${event})`,err)}return false}};__name(PubSub,"PubSub");function usePubSub(opt){return new PubSub(opt)}__name(usePubSub,"usePubSub");function createMutex(){let token=true;return(fn,elseFn)=>{let executed=false;if(token){token=false;try{fn();executed=true}finally{token=true}}else if(elseFn!==void 0){elseFn()}return executed}}__name(createMutex,"createMutex");var log4=Logger("network");var defaultOptions={cache:"no-cache",redirect:"follow"};async function fetchBasic(url,fetchOptions={},fetchFn=fetch){try{const response=await fetchFn(url,fetchOptions);if(response.status<400){return response}try{log4.warn(`Fetch of ${url} with ${fetchOptions} returned status=${response.status}`);log4.warn(`Response: ${await response.text()}`)}catch(err){log4.error("Exception:",err)}}catch(err){log4.error("fetchBasic",err)}}__name(fetchBasic,"fetchBasic");async function fetchJson(url,opts={},fetchFn=fetch){try{let res=await fetchBasic(url,__spreadValues(__spreadProps(__spreadValues({method:"GET"},defaultOptions),{headers:{}}),opts),fetchFn);if(res){return await res.json()}}catch(err){log4.error("fetchJSON error:",err)}}__name(fetchJson,"fetchJson");function fetchOptionsFormURLEncoded(data,method="POST"){return __spreadProps(__spreadValues({method},defaultOptions),{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:encodeQuery(data)})}__name(fetchOptionsFormURLEncoded,"fetchOptionsFormURLEncoded");function fetchOptionsJson(data,method="POST"){return __spreadProps(__spreadValues({method},defaultOptions),{headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json"},body:JSON.stringify(data)})}__name(fetchOptionsJson,"fetchOptionsJson");async function fetchText(url,opts={},fetchFn=fetch){try{let res=await fetchBasic(url,__spreadValues(__spreadProps(__spreadValues({method:"GET"},defaultOptions),{headers:{}}),opts),fetchFn);if(res){return await res.text()}}catch(err){log4.error("fetchHTML error:",err)}}__name(fetchText,"fetchText");function getWindow(){if(typeof window!=="undefined")return window}__name(getWindow,"getWindow");function getNavigator(){if(typeof navigator!=="undefined")return navigator}__name(getNavigator,"getNavigator");function getGlobal(){var _a4;return((_a4=getWindow())!=null?_a4:typeof WorkerGlobalScope!=="undefined")?self:typeof global!=="undefined"?global:Function("return this;")()}__name(getGlobal,"getGlobal");var _navigator=getNavigator();var _window=getWindow();function detect(info={ios:false,macos:false,windows:false,beaker:false,electron:false,wkwebview:false,pwa:false,pwaInstalled:false,browser:false,node:false,worker:false,jest:false,macosNative:false,iosNative:false,appleNative:false,touch:false}){var _a4,_b4,_c2,_d2,_e,_f,_g,_h,_i;info.ios=((_a4=_navigator==null?void 0:_navigator.platform)==null?void 0:_a4.match(/(iPhone|iPod|iPad)/i))!=null;info.macos=!!((_b4=_navigator==null?void 0:_navigator.platform)==null?void 0:_b4.startsWith("Mac"));info.windows=!!((_c2=_navigator==null?void 0:_navigator.platform)==null?void 0:_c2.startsWith("Win"));info.beaker=(_window==null?void 0:_window["beaker"])!=null;info.electron=(((_e=(_d2=_navigator==null?void 0:_navigator.userAgent)==null?void 0:_d2.toLowerCase())==null?void 0:_e.indexOf(" electron/"))||-1)>-1&&!info.beaker;info.wkwebview=((_f=_window==null?void 0:_window.webkit)==null?void 0:_f["messageHandlers"])!=null;info.pwa=(_navigator==null?void 0:_navigator.serviceWorker)!=null;info.pwaInstalled=(_navigator==null?void 0:_navigator.standalone)||((_h=(_g=_window==null?void 0:_window.matchMedia)==null?void 0:_g.call(_window,"(display-mode: standalone)"))==null?void 0:_h.matches);info.node=typeof process!=="undefined"&&((_i=process==null?void 0:process.release)==null?void 0:_i.name)==="node";info.browser=!info.electron&&!info.wkwebview&&!info.node;info.worker=typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope;info.jest=typeof jest!=="undefined";info.macosNative=info.wkwebview&&info.macos;info.iosNative=info.wkwebview&&info.ios;info.appleNative=info.wkwebview;info.touch=_window&&"ontouchstart"in _window||((_navigator==null?void 0:_navigator.maxTouchPoints)||0)>1||(_navigator==null?void 0:_navigator.msPointerEnabled)&&(_window==null?void 0:_window.MSGesture)||(_window==null?void 0:_window.DocumentTouch)&&document instanceof DocumentTouch;return info}__name(detect,"detect");var isBrowser=__name(()=>typeof window!=="undefined"&&globalThis===window,"isBrowser");var platform=detect();function useExitHandler(handler){if(isBrowser()){window.addEventListener("beforeunload",handler)}else if(typeof process!=="undefined"){process.on("exit",()=>handler)}}__name(useExitHandler,"useExitHandler");var log5=Logger("zeed:queue");var SerialQueue=class{constructor(opt={}){this.queue=[];this.isPaused=false;this.waitToFinish=[];const{name=uname("queue"),logLevel}=opt;this.name=name;this.log=Logger(`zeed:queue:${name}`);this.log.level=logLevel!=null?logLevel:LogLevel.off}async performNext(){this.log(`performNext, queue.length =`,this.queue.length);if(this.currentTask!=null){this.log(`performNext => skip while another task is running`);return}if(this.isPaused){this.log(`performNext => skip while is paused`);return}while(this.currentTask==null&&!this.isPaused){let info=this.queue.shift();this.log(`performNext => ${info==null?void 0:info.name}`);if(info==null){break}const{name,task,resolve:resolve5}=info;this.currentTask=task();let result=void 0;try{this.log.info(`start task ${name}`);result=await this.currentTask;this.log(`finished task ${name} with result =`,result)}catch(err){log5.warn("Error performing task",err)}resolve5(result);this.currentTask=void 0}while(this.waitToFinish.length>0){this.waitToFinish.shift()()}}async enqueue(task,opt={}){const{immediate:immediate2=false,name=uname(this.name)}=opt;if(immediate2){this.log.info(`immediate execution ${name}`);return await task()}this.log(`enqueue ${name}`);return new Promise(resolve5=>{this.queue.push({name,task,resolve:resolve5});this.performNext()})}async enqueueReentrant(task,opt={}){return this.enqueue(task,{immediate:this.currentTask!=null,name:opt.name})}async cancelAll(unblock=true){this.log(`cancelAll`);let resolver=this.queue.map(task=>task.resolve);this.queue=[];resolver.forEach(r=>r(void 0));await this.wait()}async pause(){this.log(`pause`);this.isPaused=true;await this.wait()}resume(){this.log(`resume`);this.isPaused=false;this.performNext()}async wait(){this.log(`wait`);if(this.currentTask==null&&(this.queue.length===0||this.isPaused)){return}return new Promise(resolve5=>{this.waitToFinish.push(resolve5)})}};__name(SerialQueue,"SerialQueue");var log6=Logger("zeed:memstorage");var MemStorage=class{constructor(opt={}){this.store={}}setItem(key,value){this.store[key]=cloneObject(value)}getItem(key){if(this.store.hasOwnProperty(key)){return cloneObject(this.store[key])}}removeItem(key){delete this.store[key]}clear(){this.store={}}allKeys(){return Object.keys(this.store)}};__name(MemStorage,"MemStorage");function throttle(callback,opt={}){const{delay=100,noTrailing=false,debounceMode=false}=opt;let timeoutID;let cancelled=false;let lastExec=0;function clearExistingTimeout(){if(timeoutID){clearTimeout(timeoutID)}}__name(clearExistingTimeout,"clearExistingTimeout");function cancel(){clearExistingTimeout();cancelled=true}__name(cancel,"cancel");function wrapper(...arguments_){let self2=this;let elapsed=Date.now()-lastExec;if(cancelled){return}function exec(){lastExec=Date.now();callback.apply(self2,arguments_)}__name(exec,"exec");function clear(){timeoutID=void 0}__name(clear,"clear");if(debounceMode&&!timeoutID){exec()}clearExistingTimeout();if(debounceMode===void 0&&elapsed>delay){exec()}else if(noTrailing!==true){timeoutID=setTimeout(debounceMode?clear:exec,debounceMode===void 0?delay-elapsed:delay)}}__name(wrapper,"wrapper");wrapper.cancel=cancel;wrapper.dispose=cancel;return wrapper}__name(throttle,"throttle");function debounce(callback,opt={}){opt.debounceMode=true;return throttle(callback,opt)}__name(debounce,"debounce");function throttleAnimationFrame(callback){let requestId;let lastArgs;const later=__name(context=>()=>{requestId=void 0;callback.apply(context,lastArgs)},"later");const throttled=__name(function(...args){lastArgs=args;if(requestId==null){requestId=requestAnimationFrame(later(this))}},"throttled");throttled.cancel=throttled.dispose=()=>{cancelAnimationFrame(requestId);requestId=void 0};return throttled}__name(throttleAnimationFrame,"throttleAnimationFrame");var import_crypto3=__toModule(require("crypto"));try{if(import_crypto3.default&&import_crypto3.default.webcrypto&&typeof globalThis!=="undefined"&&typeof globalThis.crypto==="undefined"){globalThis.crypto=import_crypto3.default.webcrypto}}catch(err){console.warn("Failed to polyfill webcrypto",err)}var import_fs=__toModule(require("fs"));var import_path=__toModule(require("path"));var log7=Logger("zeed:env");var NEWLINE="\n";var RE_INI_KEY_VAL=/^\s*([\w_.-]+)\s*=\s*(.*)?\s*$/;var RE_NEWLINES=/\\n/g;var NEWLINES_MATCH=/\n|\r|\r\n/;function parse2(src,options={}){let obj={};src.toString().split(NEWLINES_MATCH).forEach(function(line,idx){const keyValueArr=line.match(RE_INI_KEY_VAL);if(keyValueArr!=null){const key=keyValueArr[1];let val=keyValueArr[2]||"";const end=val.length-1;const isDoubleQuoted=val[0]==='"'&&val[end]==='"';const isSingleQuoted=val[0]==="'"&&val[end]==="'";if(isSingleQuoted||isDoubleQuoted){val=val.substring(1,end);if(isDoubleQuoted){val=val.replace(RE_NEWLINES,NEWLINE)}}else{val=val.trim()}obj[key]=val}else{log7.debug(`did not match key and value when parsing line ${idx+1}: ${line}`)}});return obj}__name(parse2,"parse");function stringToPath(value,defaultValue="."){return(0,import_path.resolve)(process.cwd(),value!=null?value:defaultValue)}__name(stringToPath,"stringToPath");function valueToPath(value,defaultValue=""){if(value==null)value=defaultValue;return stringToPath(String(value).trim(),defaultValue)}__name(valueToPath,"valueToPath");var toPath=valueToPath;function setupEnv(options={}){var _a4,_b4,_c2,_d2;const dotenvPath=(_b4=options==null?void 0:options.path)!=null?_b4:toPath((_a4=options==null?void 0:options.filename)!=null?_a4:".env");const encoding=(_c2=options==null?void 0:options.encoding)!=null?_c2:"utf8";const debug=(options==null?void 0:options.debug)||false;if(debug!==true)log7.level=LogLevel.off;try{const parsedEnv=import_fs.default.existsSync(dotenvPath)?parse2(import_fs.default.readFileSync(dotenvPath,{encoding}),{debug}):{};const parsedEnvLocal=import_fs.default.existsSync(dotenvPath+".local")?parse2(import_fs.default.readFileSync(dotenvPath+".local",{encoding}),{debug}):{};const parsed=Object.assign({},parsedEnv,parsedEnvLocal);let env=(_d2=options==null?void 0:options.env)!=null?_d2:process.env;Object.entries(parsed).forEach(([key,value])=>{if(typeof(options==null?void 0:options.prefix)==="string"){key=(options==null?void 0:options.prefix)+key}if(!Object.prototype.hasOwnProperty.call(env,key)){if(value!=null){log7.info(`set env.${key} = ${value}`);env[key]=value}}else{log7.debug(`"${key}" is already defined and will not be overwritten`)}});return{parsed}}catch(e){log7.error(e);return{error:e}}}__name(setupEnv,"setupEnv");var import_fs2=__toModule(require("fs"));var import_path2=__toModule(require("path"));var log8=Logger("zeed:filestorage");var FileStorage=class{constructor(opt={}){this.store={};this.fileKeys=void 0;this.pretty=false;var _a4,_b4,_c2,_d2;this.dirname=(0,import_path2.resolve)(process.cwd(),opt.path||".fileStorage");this.pretty=!!opt.pretty;this.extension=(_a4=opt.extension)!=null?_a4:".json";if(opt.extension&&!this.extension.startsWith(".")){this.extension="."+this.extension}this.extensionLength=this.extension.length;this.objectToString=(_b4=opt.objectToString)!=null?_b4:data=>{return this.pretty?JSON.stringify(data,null,2):JSON.stringify(data)};this.objectFromString=(_c2=opt.objectFromString)!=null?_c2:data=>{try{return JSON.parse(data)}catch(err){log8.warn(`fileStorage parse error '${err}' in`,data)}};this.keyToFilename=(_d2=opt.keyToFilename)!=null?_d2:toValidFilename}setItem(key,value){this.store[key]=cloneObject(value);try{const data=this.objectToString(value);const path=this.getPath(key);(0,import_fs2.mkdirSync)((0,import_path2.dirname)(path),{recursive:true});(0,import_fs2.writeFileSync)(path,data,"utf8")}catch(err){log8.error("setItem error",err)}}getPath(key){return(0,import_path2.resolve)(this.dirname,this.keyToFilename(key)+this.extension)}getBuffer(key){const path=this.getPath(key);return Buffer.from((0,import_fs2.readFileSync)(path))}getItem(key){let value=this.store[key];if(value===null)return;if(value!=null){return cloneObject(value)}try{const path=this.getPath(key);const data=(0,import_fs2.readFileSync)(path,"utf8");if(data!=null){const value2=this.objectFromString(data);this.store[key]=value2;return value2}}catch(err){log8.warn("getItem error",err);this.store[key]=null}}removeItem(key){delete this.store[key];if(this.fileKeys!=null){const index=this.fileKeys.indexOf(key);if(index!==-1){this.fileKeys.splice(index,1)}}try{const path=this.getPath(key);(0,import_fs2.unlinkSync)(path)}catch(err){}}clear(){this.fileKeys=[];this.store={};(0,import_fs2.rmSync)(this.dirname,{recursive:true,force:true})}allKeys(){if(this.fileKeys==null){try{this.fileKeys=(0,import_fs2.readdirSync)(this.dirname,{withFileTypes:true}).filter(item=>!item.isDirectory()&&item.name.endsWith(this.extension)).map(item=>item.name.slice(0,-this.extensionLength))||[]}catch(err){}}let keys=[...this.fileKeys||[]];for(let key of Object.keys(this.store)){if(!keys.includes(key)){keys.push(key)}}keys.sort();return keys}};__name(FileStorage,"FileStorage");var import_fs3=__toModule(require("fs"));var import_path4=__toModule(require("path"));var namespaces={};function LoggerFileHandler(path,opt={}){const{level=LogLevel.all,filter="*"}=opt;path=(0,import_path4.resolve)(process.cwd(),path);(0,import_fs3.mkdirSync)((0,import_path4.dirname)(path),{recursive:true});var stream=(0,import_fs3.createWriteStream)(path,{flags:"a"});const matchesNamespace=useNamespaceFilter(filter);const matchesLevel=useLevelFilter(level);return msg=>{if(!matchesLevel(msg.level))return;if(!matchesNamespace(msg.name))return;const time2=new Date().toISOString();let name=msg.name||"";let ninfo=namespaces[name||""];if(ninfo==null){namespaces[name]=ninfo}let args=[`[${name||"*"}]`,renderMessages(msg.messages,{pretty:false})];function write(...args2){stream.write(args2.join(" ")+"\n")}__name(write,"write");switch(msg.level){case LogLevel.info:write(time2,`I|* `,...args);break;case LogLevel.warn:write(time2,`W|** `,...args);break;case LogLevel.error:write(time2,`E|***`,...args);break;default:write(time2,`D| `,...args);break}}}__name(LoggerFileHandler,"LoggerFileHandler");var import_tty=__toModule(require("tty"));var import_path5=__toModule(require("path"));function getStackLlocationList(stack){var _a4,_b4;if(typeof stack!=="string")return[];return((_b4=(_a4=stack==null?void 0:stack.split("\n"))==null?void 0:_a4.map(rawLine=>{let m=rawLine.match(/^\s+at.*(\((.*)\)|file:\/\/(.*)$)/);if(m){let line=m[3]||m[2];if(line.endsWith(")"))line=line.slice(0,-1);return line}}))==null?void 0:_b4.filter(v=>v!=null))||[]}__name(getStackLlocationList,"getStackLlocationList");var cwd=(0,import_path5.resolve)(process.cwd());var _a3,_b3;var home=((_a3=process.env)==null?void 0:_a3.HOME)?(0,import_path5.resolve)((_b3=process.env)==null?void 0:_b3.HOME):"";function pathStripCwd(path){if(path.includes("/node_modules/")){return""}const fileURL="file://";if(path.startsWith(fileURL)){return path.substr(fileURL.length)}if(cwd&&path.startsWith(cwd)){return path.substr(cwd.length+1)}if(home&&path.startsWith(home)){path="~/"+path.substr(home.length+1)}return path}__name(pathStripCwd,"pathStripCwd");function extractFileInfo(stackLine){let m=stackLine.match(/^\s*at.*(\((.*)\)|file:\/\/(.*)$)/);if(m){let line=m[3]||m[2];if(line.endsWith(")"))line=line.slice(0,-1);return line}return""}__name(extractFileInfo,"extractFileInfo");function getSourceLocation(level=2,stripCwd=true){var _a4;let stack=new Error().stack||"";let line=(_a4=getStackLlocationList(stack))==null?void 0:_a4[level];if(line&&stripCwd){line=pathStripCwd(line)}return line||""}__name(getSourceLocation,"getSourceLocation");function getStack(){return new Error().stack||""}__name(getStack,"getStack");function getSourceLocationByPrecedingPattern(patterns,stripCwd=true){let line="";let stack=new Error().stack||"";if(typeof stack==="string"){const lines=stack.split("\n").map(l=>l.trim());const index=lines.findIndex(l=>patterns.some(p=>l.startsWith(p)));line=lines[index+1];if(line){line=extractFileInfo(line)}if(line&&stripCwd){line=pathStripCwd(line)}}return line}__name(getSourceLocationByPrecedingPattern,"getSourceLocationByPrecedingPattern");function isTTY(){try{return import_tty.default.isatty(process.stdout.fd)}catch(err){}return false}__name(isTTY,"isTTY");var colors=[6,2,3,4,5,1];function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return colors[Math.abs(hash)%colors.length]}__name(selectColor,"selectColor");var namespaces2={};var time=getTimestamp();var useColors=import_tty.default.isatty(process.stderr.fd);function log9(...args){return process.stderr.write(renderMessages(args)+"\n")}__name(log9,"log");var TTY_STYLE={BOLD:"",UNBOLD:"",RED:"",GREEN:"",BLUE:"",PURPLE:"",GRAY:"",ORANGE:"",UNCOLOR:""};var COLOR;(function(COLOR2){COLOR2[COLOR2["RED"]=1]="RED";COLOR2[COLOR2["GREEN"]=2]="GREEN";COLOR2[COLOR2["BLUE"]=4]="BLUE";COLOR2[COLOR2["PURPLE"]=5]="PURPLE";COLOR2[COLOR2["GRAY"]=7]="GRAY";COLOR2[COLOR2["ORANGE"]=8]="ORANGE"})(COLOR||(COLOR={}));var colorEnd="";function colorString(value,colorCode){const colorStart=colorCode===8?TTY_STYLE.ORANGE:"[3"+(colorCode<8?colorCode:"8;5;"+colorCode)+"m";return`${colorStart}${value}${colorEnd}`}__name(colorString,"colorString");function colorStringList(list,style,bold=true){return list.map(value=>{if(typeof value!=="string")return value;let start=style;let end=colorEnd;if(bold){start=`${TTY_STYLE.BOLD}${start}`;end=`${end}${TTY_STYLE.BOLD}`}return`${start}${value}${end}`})}__name(colorStringList,"colorStringList");var loggerStackTraceDebug="loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485";function LoggerNodeHandler(opt={}){const{level=void 0,filter=void 0,colors:colors2=isTTY(),levelHelper=true,nameBrackets=true,padding=0,fill=0,stack=true}=opt;const matchesNamespace=useNamespaceFilter(filter);const matchesLevel=useLevelFilter(level);return msg=>{var _a4;if(!matchesLevel(msg.level))return;if(!matchesNamespace(msg.name))return;const timeNow=getTimestamp();let name=msg.name||"";let ninfo=namespaces2[name||""];if(ninfo==null){ninfo={color:selectColor(name)};namespaces2[name]=ninfo}const diff=formatMilliseconds(timeNow-time);let args;let displayName=nameBrackets?`[${name}]`:name;if(padding>0){displayName=displayName.padStart(padding," ")}if(fill>0){displayName=displayName.padEnd(fill," ")}if(colors2&&useColors){const c=ninfo.color;args=[colorString(displayName,c)+` | `];if(msg.level===LogLevel.warn){args.push(...colorStringList(msg.messages,TTY_STYLE.ORANGE))}else if(msg.level===LogLevel.error){args.push(...colorStringList(msg.messages,TTY_STYLE.RED))}else{args.push(...msg.messages)}args.push(colorString(`+${diff}`,c))}else{args=[displayName,...msg.messages];args.push(`+${diff}`)}if(((_a4=msg.messages)==null?void 0:_a4[0])===loggerStackTraceDebug){console.log(getStack())}if(stack){let line="";if(typeof stack==="boolean"){line=getSourceLocationByPrecedingPattern(["at Function.","at null.log (","at log ("],true);if(!line){line=getSourceLocation(0,true)}}else{const depth=typeof stack==="number"?stack:3;line=getSourceLocation(depth,true)}if(line){args.push(colorString(`(${line})`,7))}}switch(msg.level){case LogLevel.info:if(levelHelper)args[0]=`I|* `+args[0];log9(...args);break;case LogLevel.warn:if(levelHelper)args[0]=(colors2&&useColors?colorString(`W|** `,8):`W|** `)+args[0];log9(...args);break;case LogLevel.error:if(levelHelper)args[0]=(colors2&&useColors?colorString(`E|*** `,1):`E|*** `)+args[0];log9(...args);break;default:if(levelHelper)args[0]=`D| `+args[0];log9(...args);break}}}__name(LoggerNodeHandler,"LoggerNodeHandler");function setupLogContextNode(){var _a4;let handlers=[LoggerNodeHandler({padding:32,nameBrackets:false})];let logFilePath=(_a4=process.env.ZEED_LOG)!=null?_a4:process.env.LOG;if(logFilePath){handlers.unshift(LoggerFileHandler(toPath(logFilePath)))}Logger.setHandlers(handlers)}__name(setupLogContextNode,"setupLogContextNode");setupLogContextNode();0&&(module.exports={Channel,CryptoEncoder,Currency,DAY_MS,Day,Emitter,FileStorage,JsonEncoder,LocalChannel,LogLevel,LogLevelAlias,Logger,LoggerConsoleHandler,LoggerContext,LoggerFileHandler,LoggerNodeHandler,MemStorage,PubSub,SerialQueue,Uint8ArrayToJson,Uint8ArrayToString,arrayEmptyInPlace,arrayFilterInPlace,arrayFlatten,arrayIntersection,arrayIsEqual,arrayMax,arrayMin,arrayMinus,arrayRandomElement,arrayRemoveElement,arraySetElement,arrayShuffle,arrayShuffleForce,arrayShuffleInPlace,arraySorted,arraySortedNumbers,arraySymmetricDifference,arrayToggleInPlace,arrayUnion,arrayUnique,between,callDisposer,cloneObject,cmp,colorString,colorStringList,composeOrderby,createArray,createMutex,createPromiseProxy,csv,currency,day,debounce,decodeBase16,decodeBase32,decodeBase58,decodeBase62,decodeBase64,decrypt,deepEqual,deepMerge,deriveKeyPbkdf2,detect,digest,empty,encodeBase16,encodeBase32,encodeBase58,encodeBase62,encodeBase64,encodeQuery,encrypt,endSortWeight,equalBinary,escapeHTML,escapeRegExp,fakeWorkerPair,fetchBasic,fetchJson,fetchOptionsFormURLEncoded,fetchOptionsJson,fetchText,fixBrokenUth8String,forEachDay,formatMessages,formatMilliseconds,fromCamelCase,getGlobal,getGlobalContext,getGlobalEmitter,getNamespaceFilterString,getNavigator,getSourceLocation,getSourceLocationByPrecedingPattern,getStack,getStackLlocationList,getTimestamp,getWindow,immediate,isBrowser,isEven,isHalf,isLocalHost,isObject,isPrimitive,isPromise,isTTY,isTimeout,jsonStringify,jsonToUint8Array,last,lazyListener,linkifyPlainText,loggerStackTraceDebug,messages,moveSortWeight,parseDate,parseOrderby,parseQuery,platform,promisify,qid,randomBoolean,randomFloat,randomInt,randomUint8Array,renderMessages,roundDown,roundHalfAwayFromZero,roundHalfDown,roundHalfEven,roundHalfOdd,roundHalfTowardsZero,roundHalfUp,roundUp,setupEnv,size,sleep,sortedItems,sortedOrderby,startSortWeight,stringToBoolean,stringToFloat,stringToInteger,stringToPath,stringToUInt8Array,suid,suidBytes,suidBytesDate,suidDate,throttle,throttleAnimationFrame,timeout,timeoutReached,timoutError,toBase64,toBase64Url,toBool,toCamelCase,toCapitalize,toCapitalizeWords,toFloat,toHex,toHumanReadableUrl,toInt,toPath,toString,toUint8Array,toValidFilename,today,tryTimeout,uname,unescapeHTML,useBase,useDisposer,useEventListener,useExitHandler,useInterval,useLevelFilter,useMessageHub,useNamespaceFilter,usePubSub,useTimeout,uuid,uuidB32,uuidBytes,uuidv4,valueToBoolean,valueToFloat,valueToInteger,valueToPath,valueToString,waitOn});
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __defProps=Object.defineProperties;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropDescs=Object.getOwnPropertyDescriptors;var __getOwnPropNames=Object.getOwnPropertyNames;var __getOwnPropSymbols=Object.getOwnPropertySymbols;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __propIsEnum=Object.prototype.propertyIsEnumerable;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __spreadValues=(a,b)=>{for(var prop in b||(b={}))if(__hasOwnProp.call(b,prop))__defNormalProp(a,prop,b[prop]);if(__getOwnPropSymbols)for(var prop of __getOwnPropSymbols(b)){if(__propIsEnum.call(b,prop))__defNormalProp(a,prop,b[prop])}return a};var __spreadProps=(a,b)=>__defProps(a,__getOwnPropDescs(b));var __markAsModule=target=>__defProp(target,"__esModule",{value:true});var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __export=(target,all)=>{__markAsModule(target);for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __reExport=(target,module2,desc)=>{if(module2&&typeof module2==="object"||typeof module2==="function"){for(let key of __getOwnPropNames(module2))if(!__hasOwnProp.call(target,key)&&key!=="default")__defProp(target,key,{get:()=>module2[key],enumerable:!(desc=__getOwnPropDesc(module2,key))||desc.enumerable})}return target};var __toModule=module2=>{return __reExport(__markAsModule(__defProp(module2!=null?__create(__getProtoOf(module2)):{},"default",module2&&module2.__esModule&&"default"in module2?{get:()=>module2.default,enumerable:true}:{value:module2,enumerable:true})),module2)};__export(exports,{Channel:()=>Channel,CryptoEncoder:()=>CryptoEncoder,Currency:()=>Currency,DAY_MS:()=>DAY_MS,Day:()=>Day,Emitter:()=>Emitter,FileStorage:()=>FileStorage,JsonEncoder:()=>JsonEncoder,LocalChannel:()=>LocalChannel,LogLevel:()=>LogLevel,LogLevelAlias:()=>LogLevelAlias,Logger:()=>Logger,LoggerConsoleHandler:()=>LoggerConsoleHandler,LoggerContext:()=>LoggerContext,LoggerFileHandler:()=>LoggerFileHandler,LoggerNodeHandler:()=>LoggerNodeHandler,MemStorage:()=>MemStorage,PubSub:()=>PubSub,SerialQueue:()=>SerialQueue,Uint8ArrayToJson:()=>Uint8ArrayToJson,Uint8ArrayToString:()=>Uint8ArrayToString,arrayEmptyInPlace:()=>arrayEmptyInPlace,arrayFilterInPlace:()=>arrayFilterInPlace,arrayFlatten:()=>arrayFlatten,arrayIntersection:()=>arrayIntersection,arrayIsEqual:()=>arrayIsEqual,arrayMax:()=>arrayMax,arrayMin:()=>arrayMin,arrayMinus:()=>arrayMinus,arrayRandomElement:()=>arrayRandomElement,arrayRemoveElement:()=>arrayRemoveElement,arraySetElement:()=>arraySetElement,arrayShuffle:()=>arrayShuffle,arrayShuffleForce:()=>arrayShuffleForce,arrayShuffleInPlace:()=>arrayShuffleInPlace,arraySorted:()=>arraySorted,arraySortedNumbers:()=>arraySortedNumbers,arraySymmetricDifference:()=>arraySymmetricDifference,arrayToggleInPlace:()=>arrayToggleInPlace,arrayUnion:()=>arrayUnion,arrayUnique:()=>arrayUnique,between:()=>between,callDisposer:()=>callDisposer,cloneObject:()=>cloneObject,cmp:()=>cmp,colorString:()=>colorString,colorStringList:()=>colorStringList,composeOrderby:()=>composeOrderby,createArray:()=>createArray,createMutex:()=>createMutex,createPromiseProxy:()=>createPromiseProxy,csv:()=>csv,currency:()=>currency,day:()=>day,debounce:()=>debounce,decodeBase16:()=>decodeBase16,decodeBase32:()=>decodeBase32,decodeBase58:()=>decodeBase58,decodeBase62:()=>decodeBase62,decodeBase64:()=>decodeBase64,decrypt:()=>decrypt,deepEqual:()=>deepEqual,deepMerge:()=>deepMerge,deriveKeyPbkdf2:()=>deriveKeyPbkdf2,detect:()=>detect,digest:()=>digest,empty:()=>empty,encodeBase16:()=>encodeBase16,encodeBase32:()=>encodeBase32,encodeBase58:()=>encodeBase58,encodeBase62:()=>encodeBase62,encodeBase64:()=>encodeBase64,encodeQuery:()=>encodeQuery,encrypt:()=>encrypt,endSortWeight:()=>endSortWeight,equalBinary:()=>equalBinary,escapeHTML:()=>escapeHTML,escapeRegExp:()=>escapeRegExp,fakeWorkerPair:()=>fakeWorkerPair,fetchBasic:()=>fetchBasic,fetchJson:()=>fetchJson,fetchOptionsFormURLEncoded:()=>fetchOptionsFormURLEncoded,fetchOptionsJson:()=>fetchOptionsJson,fetchText:()=>fetchText,fixBrokenUth8String:()=>fixBrokenUth8String,forEachDay:()=>forEachDay,formatMessages:()=>formatMessages,formatMilliseconds:()=>formatMilliseconds,fromCamelCase:()=>fromCamelCase,getGlobal:()=>getGlobal,getGlobalContext:()=>getGlobalContext,getGlobalEmitter:()=>getGlobalEmitter,getNamespaceFilterString:()=>getNamespaceFilterString,getNavigator:()=>getNavigator,getSourceLocation:()=>getSourceLocation,getSourceLocationByPrecedingPattern:()=>getSourceLocationByPrecedingPattern,getStack:()=>getStack,getStackLlocationList:()=>getStackLlocationList,getTimestamp:()=>getTimestamp,getWindow:()=>getWindow,immediate:()=>immediate,isBrowser:()=>isBrowser,isEven:()=>isEven,isHalf:()=>isHalf,isLocalHost:()=>isLocalHost,isObject:()=>isObject,isPrimitive:()=>isPrimitive,isPromise:()=>isPromise,isTTY:()=>isTTY,isTimeout:()=>isTimeout,jsonStringify:()=>jsonStringify,jsonToUint8Array:()=>jsonToUint8Array,last:()=>last,lazyListener:()=>lazyListener,linkifyPlainText:()=>linkifyPlainText,loggerStackTraceDebug:()=>loggerStackTraceDebug,messages:()=>messages,moveSortWeight:()=>moveSortWeight,parseDate:()=>parseDate,parseOrderby:()=>parseOrderby,parseQuery:()=>parseQuery,platform:()=>platform,promisify:()=>promisify,qid:()=>qid,randomBoolean:()=>randomBoolean,randomFloat:()=>randomFloat,randomInt:()=>randomInt,randomUint8Array:()=>randomUint8Array,renderMessages:()=>renderMessages,roundDown:()=>roundDown,roundHalfAwayFromZero:()=>roundHalfAwayFromZero,roundHalfDown:()=>roundHalfDown,roundHalfEven:()=>roundHalfEven,roundHalfOdd:()=>roundHalfOdd,roundHalfTowardsZero:()=>roundHalfTowardsZero,roundHalfUp:()=>roundHalfUp,roundUp:()=>roundUp,setupEnv:()=>setupEnv,size:()=>size,sleep:()=>sleep,sortedItems:()=>sortedItems,sortedOrderby:()=>sortedOrderby,startSortWeight:()=>startSortWeight,stringToBoolean:()=>stringToBoolean,stringToFloat:()=>stringToFloat,stringToInteger:()=>stringToInteger,stringToPath:()=>stringToPath,stringToUInt8Array:()=>stringToUInt8Array,suid:()=>suid,suidBytes:()=>suidBytes,suidBytesDate:()=>suidBytesDate,suidDate:()=>suidDate,throttle:()=>throttle,throttleAnimationFrame:()=>throttleAnimationFrame,timeout:()=>timeout,timeoutReached:()=>timeoutReached,timoutError:()=>timoutError,toBase64:()=>toBase64,toBase64Url:()=>toBase64Url,toBool:()=>toBool,toCamelCase:()=>toCamelCase,toCapitalize:()=>toCapitalize,toCapitalizeWords:()=>toCapitalizeWords,toFloat:()=>toFloat,toHex:()=>toHex,toHumanReadableUrl:()=>toHumanReadableUrl,toInt:()=>toInt,toPath:()=>toPath,toString:()=>toString,toUint8Array:()=>toUint8Array,toValidFilename:()=>toValidFilename,today:()=>today,tryTimeout:()=>tryTimeout,uname:()=>uname,unescapeHTML:()=>unescapeHTML,useBase:()=>useBase,useDisposer:()=>useDisposer,useEventListener:()=>useEventListener,useExitHandler:()=>useExitHandler,useInterval:()=>useInterval,useLevelFilter:()=>useLevelFilter,useMessageHub:()=>useMessageHub,useNamespaceFilter:()=>useNamespaceFilter,usePool:()=>usePool,usePubSub:()=>usePubSub,useTimeout:()=>useTimeout,uuid:()=>uuid,uuidB32:()=>uuidB32,uuidBytes:()=>uuidBytes,uuidv4:()=>uuidv4,valueToBoolean:()=>valueToBoolean,valueToFloat:()=>valueToFloat,valueToInteger:()=>valueToInteger,valueToPath:()=>valueToPath,valueToString:()=>valueToString,waitOn:()=>waitOn});var isObject=__name(obj=>obj&&typeof obj==="object","isObject");var isPrimitive=__name(obj=>Object(obj)!==obj,"isPrimitive");function deepEqual(a,b,hash=new WeakSet){if(a===b){return true}if(hash.has(b)){return true}if(!isPrimitive(b)){hash.add(b)}if(!(a instanceof Object)||!(b instanceof Object)){return false}if(a.constructor!==b.constructor){return false}if(a.length!==b.length){return false}for(let p in a){if(!a.hasOwnProperty(p)){continue}if(!b.hasOwnProperty(p)){return false}let aa=a[p];let bb=b[p];if(!deepEqual(aa,bb,hash)){return false}}for(let p in b){if(b.hasOwnProperty(p)&&!a.hasOwnProperty(p)){return false}}return true}__name(deepEqual,"deepEqual");function deepMerge(target,...sources){for(let source of sources){if(!isObject(target)){target={}}if(source==null)continue;Object.keys(source).forEach(key=>{const targetValue=target[key];const sourceValue=source[key];if(Array.isArray(targetValue)&&Array.isArray(sourceValue)){target[key]=targetValue.concat(sourceValue)}else if(isObject(targetValue)&&isObject(sourceValue)){target[key]=deepMerge(Object.assign({},targetValue),sourceValue)}else{target[key]=sourceValue}})}return target}__name(deepMerge,"deepMerge");function getNamespaceFilterString(defaultNamespaceFilter2){if(defaultNamespaceFilter2===true||defaultNamespaceFilter2==="true"||defaultNamespaceFilter2==="1"||typeof defaultNamespaceFilter2==="number"&&defaultNamespaceFilter2!==0){defaultNamespaceFilter2="*"}else if(defaultNamespaceFilter2===false||defaultNamespaceFilter2==="false"||defaultNamespaceFilter2===0||defaultNamespaceFilter2==="0"||defaultNamespaceFilter2==null||defaultNamespaceFilter2==="null"||defaultNamespaceFilter2==="undefined"){defaultNamespaceFilter2=""}else{defaultNamespaceFilter2=String(defaultNamespaceFilter2)}return defaultNamespaceFilter2}__name(getNamespaceFilterString,"getNamespaceFilterString");var _a,_b;var defaultNamespaceFilter=getNamespaceFilterString(typeof process!=="undefined"?(_a=process.env.ZEED)!=null?_a:process.env.DEBUG:typeof localStorage!=="undefined"?(_b=localStorage.zeed)!=null?_b:localStorage.debug:"*");function useNamespaceFilter(filter=defaultNamespaceFilter){let fn;let reject=[];let accept=[];if(!filter){fn=__name(function(name){return false},"fn")}else if(filter==="*"){fn=__name(function(name){return true},"fn")}else{let i;const split=filter.split(/[\s,]+/);const len=split.length;for(i=0;i<len;i++){if(!split[i]){continue}let template=split[i].replace(/\*/g,".*?");if(template[0]==="-"){reject.push(new RegExp("^"+template.substr(1)+"$"))}else{accept.push(new RegExp("^"+template+"$"))}}fn=__name(function(name){if(reject.length===0&&accept.length===0){return true}let i2,len2;for(i2=0,len2=reject.length;i2<len2;i2++){if(reject[i2].test(name)){return false}}for(i2=0,len2=accept.length;i2<len2;i2++){if(accept[i2].test(name)){return true}}return false},"fn")}fn.accept=accept;fn.reject=reject;fn.filter=filter;return fn}__name(useNamespaceFilter,"useNamespaceFilter");var _a2,_b2,_c,_d;var defaultLevelFilter=typeof process!=="undefined"?(_b2=(_a2=process.env.ZEED_LEVEL)!=null?_a2:process.env.LEVEL)!=null?_b2:process.env.DEBUG_LEVEL:typeof localStorage!=="undefined"?(_d=(_c=localStorage.zeed_level)!=null?_c:localStorage.level)!=null?_d:localStorage.debug_level:void 0;function useLevelFilter(filter=defaultLevelFilter){let filterLevel=LogLevel.all;if(typeof filter==="string"){const l=LogLevelAlias[filter.toLocaleLowerCase().trim()];if(l!=null)filterLevel=l}else if(typeof filter==="number"){filterLevel=filter}return level=>level>=filterLevel}__name(useLevelFilter,"useLevelFilter");var LogLevel;(function(LogLevel2){LogLevel2[LogLevel2["all"]=-1]="all";LogLevel2[LogLevel2["debug"]=0]="debug";LogLevel2[LogLevel2["info"]=1]="info";LogLevel2[LogLevel2["warn"]=2]="warn";LogLevel2[LogLevel2["error"]=3]="error";LogLevel2[LogLevel2["fatal"]=4]="fatal";LogLevel2[LogLevel2["off"]=Infinity]="off"})(LogLevel||(LogLevel={}));var LogLevelAlias={"*":-1,a:-1,all:-1,d:0,dbg:0,debug:0,i:1,inf:1,info:1,w:2,warn:2,warning:2,e:3,err:3,error:3,fatal:4,off:Infinity,"-":Infinity};function LoggerContext(prefix=""){let logHandlers=[LoggerConsoleHandler()];let logAssertLevel=2;let logCheckNamespace=__name(name=>true,"logCheckNamespace");let logLock=false;let logFactory=LoggerBaseFactory;function LoggerBaseFactory(name=""){log10.extend=function(prefix2){return logFactory(name?`${name}:${prefix2}`:prefix2)};const emit=__name(msg=>{if(log10.active===true){if(msg.level>=Logger2.level&&msg.level>=log10.level){if(logCheckNamespace(name)){for(let handler of logHandlers){if(handler)handler(msg)}}}}},"emit");function log10(...messages2){emit({name,messages:messages2,level:0})}__name(log10,"log");log10.active=true;log10.level=-1;log10.debug=function(...messages2){emit({name,messages:messages2,level:0})};log10.info=function(...messages2){emit({name,messages:messages2,level:1})};log10.warn=function(...messages2){emit({name,messages:messages2,level:2})};log10.error=function(...messages2){emit({name,messages:messages2,level:3})};log10.assert=function(cond,...messages2){if(!cond){if(typeof console!==void 0){if(console.assert){console.assert(cond,...messages2)}else{console.error(`Assert did fail with: ${cond}`,...messages2)}}emit({name,messages:messages2||[`Assert did fail with: ${cond}`],level:logAssertLevel})}};log10.assertEqual=function(value,expected,...args){let equal=deepEqual(value,expected);if(!equal){log10.assert(equal,`Assert did fail. Expected ${expected} got ${value}`,expected,value,...args)}};log10.assertNotEqual=function(value,expected,...args){let equal=deepEqual(value,expected);if(equal){log10.assert(equal,`Assert did fail. Expected ${expected} not to be equal with ${value}`,expected,value,...args)}};return log10}__name(LoggerBaseFactory,"LoggerBaseFactory");function Logger2(name=""){return logFactory(name)}__name(Logger2,"Logger");Logger2.registerHandler=function(handler){logHandlers.push(handler)};Logger2.setFilter=function(namespaces3){logCheckNamespace=useNamespaceFilter(namespaces3)};Logger2.setLock=(lock=true)=>logLock=lock;Logger2.setHandlers=function(handlers=[]){if(logFactory!==LoggerBaseFactory){logFactory=LoggerBaseFactory}if(logLock)return;logHandlers=[...handlers].filter(h=>typeof h==="function")};Logger2.level=-1;Logger2.setLogLevel=function(level=-1){if(logLock)return;Logger2.level=level};Logger2.setFactory=function(factory){if(logLock)return;logFactory=factory};return Logger2}__name(LoggerContext,"LoggerContext");function LoggerConsoleHandler(opt={}){const{level=void 0,filter=void 0,colors:colors2=true,levelHelper=false,nameBrackets=true,padding=16}=opt;const matchesNamespace=useNamespaceFilter(filter);const matchesLevel=useLevelFilter(level);return msg=>{if(!matchesLevel(msg.level))return;if(!matchesNamespace(msg.name))return;let name=msg.name?`[${msg.name}]`:"";switch(msg.level){case LogLevel.info:console.info(`I|* ${name}`,...msg.messages);break;case LogLevel.warn:console.warn(`W|** ${name}`,...msg.messages);break;case LogLevel.error:console.error(`E|*** ${name}`,...msg.messages);break;default:console.debug(`D| ${name}`,...msg.messages);break}}}__name(LoggerConsoleHandler,"LoggerConsoleHandler");function _global(){if(typeof self!=="undefined")return self;if(typeof window!=="undefined")return window;if(typeof global!=="undefined")return global;if(typeof globalThis!=="undefined")return globalThis;throw new Error("unable to locate global object")}__name(_global,"_global");function getGlobalContext(){let gcontext=_global();if(gcontext._zeedGlobal==null){gcontext._zeedGlobal={}}return gcontext._zeedGlobal}__name(getGlobalContext,"getGlobalContext");var globalLogger;function getLoggerContext(){let logger=LoggerContext();logger.setHandlers([LoggerConsoleHandler()]);return logger}__name(getLoggerContext,"getLoggerContext");try{let _global2=getGlobalContext();if(_global2!=null){if((_global2==null?void 0:_global2.logger)==null){globalLogger=getLoggerContext();_global2.logger=globalLogger}else{globalLogger=_global2.logger}}else{globalLogger=getLoggerContext()}}catch(e){globalLogger=getLoggerContext()}var Logger=globalLogger;var log=Logger("bin");var _textEncoder;function stringToUInt8Array(text){if(typeof TextEncoder==="undefined")return new Uint8Array;const textEncoder=_textEncoder!=null?_textEncoder:_textEncoder=new TextEncoder;return textEncoder.encode(text.normalize("NFC"))}__name(stringToUInt8Array,"stringToUInt8Array");var _textDecoder;function Uint8ArrayToString(bin){if(typeof TextDecoder==="undefined")return"";const textDecoder=_textDecoder!=null?_textDecoder:_textDecoder=new TextDecoder("utf-8",{ignoreBOM:true});return textDecoder.decode(bin).normalize("NFC")}__name(Uint8ArrayToString,"Uint8ArrayToString");function toUint8Array(data){if(data instanceof ArrayBuffer)return new Uint8Array(data);if(typeof data==="string")return stringToUInt8Array(data);if(data.length)return new Uint8Array(data);return data}__name(toUint8Array,"toUint8Array");function toHex(bin){if(typeof Buffer!=="undefined"){return Buffer.from(toUint8Array(bin)).toString("hex")}const h="0123456789abcdef";let s="";for(const v of[...toUint8Array(bin)]){s+=h[v>>4]+h[v&15]}return s}__name(toHex,"toHex");function toBase64(bin){const bytes=toUint8Array(bin);if(typeof Buffer!=="undefined"){return Buffer.from(bytes).toString("base64")}let s="";for(let i=0;i<bytes.byteLength;i++){s+=String.fromCharCode(bytes[i])}return btoa(s)}__name(toBase64,"toBase64");function toBase64Url(bin){const bytes=toUint8Array(bin);if(typeof Buffer!=="undefined"){return Buffer.from(bytes).toString("base64url")}let s="";for(let i=0;i<bytes.byteLength;i++){s+=String.fromCharCode(bytes[i])}return btoa(s).replace(/\+/g,"-").replace(/\//g,"_")}__name(toBase64Url,"toBase64Url");function equalBinary(a,b){if(a.byteLength!==b.byteLength)return false;const aa=toUint8Array(a);const bb=toUint8Array(b);for(let i=0;i<aa.length;i++){if(aa[i]!==bb[i]){return false}}return true}__name(equalBinary,"equalBinary");function jsonToUint8Array(json){try{return stringToUInt8Array(JSON.stringify(json))}catch(err){log.warn("jsonToUint8Array",json);throw err}}__name(jsonToUint8Array,"jsonToUint8Array");function Uint8ArrayToJson(data){try{return JSON.parse(Uint8ArrayToString(data))}catch(err){log.warn("Uint8ArrayToJson",data);throw err}}__name(Uint8ArrayToJson,"Uint8ArrayToJson");function randomUint8Array(length=16){let randomBytes=new Uint8Array(length);if(typeof crypto!=="undefined"&&crypto.getRandomValues){crypto.getRandomValues(randomBytes)}else{for(let i=0;i<length;i++){randomBytes[i]=Math.floor(Math.random()*256)}}return randomBytes}__name(randomUint8Array,"randomUint8Array");var DEFAULT_HASH_ALG="SHA-256";var DEFAULT_CRYPTO_ALG="AES-GCM";var DEFAULT_DERIVE_ALG="PBKDF2";async function digest(message,algorithm=DEFAULT_HASH_ALG){return await crypto.subtle.digest(algorithm,toUint8Array(message))}__name(digest,"digest");async function deriveKeyPbkdf2(secret,opt={}){var _a4;const secretBuffer=toUint8Array(secret);const keyMaterial=await crypto.subtle.importKey("raw",secretBuffer,DEFAULT_DERIVE_ALG,false,["deriveKey"]);return await crypto.subtle.deriveKey({name:DEFAULT_DERIVE_ALG,salt:opt.salt?toUint8Array(opt.salt):new Uint8Array(0),iterations:(_a4=opt.iterations)!=null?_a4:1e5,hash:DEFAULT_HASH_ALG},keyMaterial,{name:DEFAULT_CRYPTO_ALG,length:256},true,["encrypt","decrypt"])}__name(deriveKeyPbkdf2,"deriveKeyPbkdf2");var MAGIC_ID=new Uint8Array([1,1]);async function encrypt(data,key){const iv=randomUint8Array(12);const cipher=await crypto.subtle.encrypt({name:DEFAULT_CRYPTO_ALG,iv},key,data);const binCypher=new Uint8Array(cipher);const bufferLength=MAGIC_ID.length+iv.length+binCypher.length;const buffer=new Uint8Array(bufferLength);let pos=0;buffer.set(MAGIC_ID,pos);pos+=MAGIC_ID.length;buffer.set(iv,pos);pos+=iv.length;buffer.set(binCypher,pos);return buffer}__name(encrypt,"encrypt");async function decrypt(data,key){let magic=data.subarray(0,2);if(!equalBinary(magic,MAGIC_ID)){return Promise.reject(`Unknown magic ${magic}`)}let iv=data.subarray(2,2+12);let cipher=data.subarray(2+12,data.length);const plain=await crypto.subtle.decrypt({name:DEFAULT_CRYPTO_ALG,iv},key,cipher);return new Uint8Array(plain)}__name(decrypt,"decrypt");var separator=",";var preventCast=false;var ignoreNullOrUndefined=true;function filterFloat(value){if(/^([-+])?([0-9]+(\.[0-9]+)?|Infinity)$/.test(value)){return Number(value)}return NaN}__name(filterFloat,"filterFloat");function escape2(field){if(ignoreNullOrUndefined&&field==void 0){return""}if(preventCast){return'="'+String(field).replace(/"/g,'""')+'"'}if(!isNaN(filterFloat(field))&&isFinite(field)){return parseFloat(field)}return'"'+String(field).replace(/"/g,'""')+'"'}__name(escape2,"escape");function csv(data,headerRow){let body="";if(headerRow){body=headerRow.join(separator)+"\r\n"}for(let i=0;i<data.length;i++){body+=data[i].map(escape2).join(separator)+"\r\n"}return body}__name(csv,"csv");function parseOrderby(value=""){let[field="",orderby="asc"]=value.split(" ");orderby=orderby.toLowerCase();return{field,orderby,asc:orderby!=="desc",desc:orderby==="desc"}}__name(parseOrderby,"parseOrderby");function composeOrderby(field,asc=true){return`${field} ${asc?"asc":"desc"}`}__name(composeOrderby,"composeOrderby");function cmp(a,b,asc=true){const aa=a||0;const bb=b||0;return aa>bb?asc?1:-1:aa<bb?asc?-1:1:0}__name(cmp,"cmp");function sortedOrderby(values,...orderby){if(orderby.length>0){let orderByList=orderby.map(parseOrderby);let sortValues=Array.from(values);sortValues.sort((a,b)=>{for(let{field,asc}of orderByList){const result=cmp(a[field],b[field],asc);if(result!==0)return result}return 0});return sortValues}return values}__name(sortedOrderby,"sortedOrderby");function arrayUnique(x){return x.filter((n,index)=>x.indexOf(n)===index)}__name(arrayUnique,"arrayUnique");function arrayMinus(x,y){return arrayUnique(x.filter(n=>!y.includes(n)))}__name(arrayMinus,"arrayMinus");function arrayUnion(...a){return arrayUnique(a.reduce((acc=[],value)=>acc.concat(value),[]))}__name(arrayUnion,"arrayUnion");function arrayFlatten(...list){return list.flat(Infinity)}__name(arrayFlatten,"arrayFlatten");function arrayIntersection(x,y){return arrayUnique(x).filter(n=>y.includes(n))}__name(arrayIntersection,"arrayIntersection");function arraySymmetricDifference(x,y){return arrayMinus(arrayUnion(x,y),arrayIntersection(x,y))}__name(arraySymmetricDifference,"arraySymmetricDifference");function arrayRemoveElement(arr,el){if(arr&&Array.isArray(arr)){let index;while((index=arr.indexOf(el))!==-1){arr.splice(index,1)}return arr}return[]}__name(arrayRemoveElement,"arrayRemoveElement");function arraySetElement(arr,el){if(!arr.includes(el))arr.push(el);return arr}__name(arraySetElement,"arraySetElement");function arrayFilterInPlace(array,fn){array.splice(0,array.length,...array.filter(fn));return array}__name(arrayFilterInPlace,"arrayFilterInPlace");function arrayToggleInPlace(array,el){const index=array.findIndex(e=>e===el);if(index>=0)array.splice(index,1);else array.push(el);return array}__name(arrayToggleInPlace,"arrayToggleInPlace");function arrayEmptyInPlace(array){array.splice(0,array.length);return array}__name(arrayEmptyInPlace,"arrayEmptyInPlace");function arraySorted(arr,cond=cmp){return Array.from(arr).sort(cond)}__name(arraySorted,"arraySorted");function arraySortedNumbers(arr){return arraySorted(arr,(l,r)=>l-r)}__name(arraySortedNumbers,"arraySortedNumbers");function arrayIsEqual(array1,array2){return array1.length===array2.length&&array1.every((value,index)=>value===array2[index])}__name(arrayIsEqual,"arrayIsEqual");function arrayShuffleInPlace(array){array.sort(()=>Math.random()>.5?1:-1);return array}__name(arrayShuffleInPlace,"arrayShuffleInPlace");function arrayShuffle(array){return arrayShuffleInPlace(Array.from(array))}__name(arrayShuffle,"arrayShuffle");function arrayShuffleForce(array){while(array.length>1){const copy=Array.from(array);arrayShuffleInPlace(copy);if(!arrayIsEqual(array,copy))return copy}return array}__name(arrayShuffleForce,"arrayShuffleForce");function arrayRandomElement(array){return array[Math.floor(Math.random()*array.length)]}__name(arrayRandomElement,"arrayRandomElement");function arrayMax(...array){return arrayFlatten(array).reduce((acc,value)=>acc!=null?value>acc?value:acc:value,void 0)}__name(arrayMax,"arrayMax");function arrayMin(...array){return arrayFlatten(array).reduce((acc,value)=>acc!=null?value<acc?value:acc:value,void 0)}__name(arrayMin,"arrayMin");function createArray(size2=0,item){if(size2<=0)return[];let arr=new Array(size2);for(let i=0;i<size2;i++){arr[i]=item instanceof Function?item(i):item}return arr}__name(createArray,"createArray");var log2=Logger("zeed:basex");var alphabets={"2":"01","8":"01234567","11":"0123456789a","16":"0123456789abcdef","32":"0123456789ABCDEFGHJKMNPQRSTVWXYZ","32-rfc":"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","32-hex":"0123456789ABCDEFGHIJKLMNOPQRSTUV","32-zbase":"ybndrfg8ejkmcpqxot1uwisza345h769","36":"0123456789abcdefghijklmnopqrstuvwxyz","58":"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz","62":"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz","64":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","64-url":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","66":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~","85":"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~"};function useBase(alphaOrBase){let ALPHABET;if(typeof alphaOrBase==="string"){ALPHABET=alphaOrBase}else{ALPHABET=alphabets[alphaOrBase.toString()];if(ALPHABET==null)throw new Error(`Unknown base ${alphaOrBase}`)}if(ALPHABET.length>=255)throw new TypeError("Alphabet too long");const BASE_MAP=new Uint8Array(256);for(let j=0;j<BASE_MAP.length;j++){BASE_MAP[j]=255}for(let i=0;i<ALPHABET.length;i++){const x=ALPHABET.charAt(i);const xc=x.charCodeAt(0);if(BASE_MAP[xc]!==255)throw new TypeError(x+" is ambiguous");BASE_MAP[xc]=i}const BASE=ALPHABET.length;const LEADER=ALPHABET.charAt(0);const FACTOR=Math.log(BASE)/Math.log(256);const iFACTOR=Math.log(256)/Math.log(BASE);function encode(source,padToLength=-1){let data=toUint8Array(source);if(data.byteLength===0)return"";let length=0;let pbegin=0;const pend=data.byteLength;while(pbegin!==pend&&data[pbegin]===0)pbegin++;const size2=(pend-pbegin)*iFACTOR+1>>>0;const dataEncoded=new Uint8Array(size2);while(pbegin!==pend){let carry=data[pbegin];let i=0;for(let it1=size2-1;(carry!==0||i<length)&&it1!==-1;it1--,i++){carry+=256*dataEncoded[it1]>>>0;dataEncoded[it1]=carry%BASE>>>0;carry=carry/BASE>>>0}if(carry!==0){log2.warn("Non-zero carry",data,padToLength,i,size2);throw new Error("Non-zero carry")}length=i;pbegin++}let it2=size2-length;while(it2!==size2&&dataEncoded[it2]===0){it2++}let str="";for(;it2<size2;++it2)str+=ALPHABET.charAt(dataEncoded[it2]);if(padToLength>0){return str.padStart(padToLength,LEADER)}return str}__name(encode,"encode");function decode(source,padToLength=-1){if(typeof source!=="string")throw new TypeError("Expected String");if(source.length===0)return new Uint8Array;source=source.replace(/\s+/gi,"");let psz=0;let length=0;while(source[psz]===LEADER){psz++}const size2=(source.length-psz)*FACTOR+1>>>0;const dataDecoded=new Uint8Array(size2);while(source[psz]){let carry=BASE_MAP[source.charCodeAt(psz)];if(carry===255)throw new Error(`Unsupported character "${source[psz]}"`);let i=0;for(let it3=size2-1;(carry!==0||i<length)&&it3!==-1;it3--,i++){carry+=BASE*dataDecoded[it3]>>>0;dataDecoded[it3]=carry%256>>>0;carry=carry/256>>>0}if(carry!==0)throw new Error("Non-zero carry");length=i;psz++}let it4=size2-length;while(it4!==size2&&dataDecoded[it4]===0){it4++}if(padToLength>0){return new Uint8Array([...new Uint8Array(padToLength-dataDecoded.length+it4),...dataDecoded.slice(it4)])}return dataDecoded.slice(it4)}__name(decode,"decode");return{encode,decode}}__name(useBase,"useBase");var{encode:encodeBase16,decode:decodeBase16}=useBase(16);var{encode:encodeBase32,decode:decodeBase32}=useBase(32);var{encode:encodeBase58,decode:decodeBase58}=useBase(58);var{encode:encodeBase62,decode:decodeBase62}=useBase(62);var{encode:encodeBase64,decode:decodeBase64}=useBase(62);var toCamelCase=__name(s=>{if(s.length>0){if(/^[A-Z0-9_\-\ ]*$/g.test(s)){s=s.toLowerCase()}s=s.replace(/^[-_\ ]+/gi,"").replace(/[-_\ ]+$/gi,"").replace(/[-_\ ]+([a-z0-9])/gi,($0,$1)=>$1.toUpperCase());s=s[0].toLowerCase()+s.substring(1)}return s},"toCamelCase");function toCapitalize(s){return s.charAt(0).toUpperCase()+s.toLowerCase().slice(1)}__name(toCapitalize,"toCapitalize");function toCapitalizeWords(s){return s.replace(/\w\S*/g,toCapitalize)}__name(toCapitalizeWords,"toCapitalizeWords");function fromCamelCase(str,separator2="-"){separator2=typeof separator2==="undefined"?"_":separator2;return str.replace(/([a-z\d])([A-Z])/g,"$1"+separator2+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+separator2+"$2").toLowerCase()}__name(fromCamelCase,"fromCamelCase");function serializer(replacer,cycleReplacer){var stack=[],keys=[];if(cycleReplacer==null)cycleReplacer=__name(function(key,value){if(stack[0]===value)return"[Circular ~]";return"[Circular ~."+keys.slice(0,stack.indexOf(value)).join(".")+"]"},"cycleReplacer");return function(key,value){if(stack.length>0){var thisPos=stack.indexOf(this);~thisPos?stack.splice(thisPos+1):stack.push(this);~thisPos?keys.splice(thisPos,Infinity,key):keys.push(key);if(~stack.indexOf(value))value=cycleReplacer==null?void 0:cycleReplacer.call(this,key,value)}else stack.push(value);return replacer==null?value:replacer.call(this,key,value)}}__name(serializer,"serializer");function jsonStringify(obj,replacer,spaces,cycleReplacer){return JSON.stringify(obj,serializer(replacer,cycleReplacer),spaces)}__name(jsonStringify,"jsonStringify");var TRUE_VALUES_LIST=["1","true","yes","y","on"];function stringToBoolean(value,defaultValue=false){if(value==null||typeof value!=="string")return defaultValue;return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())}__name(stringToBoolean,"stringToBoolean");function stringToInteger(value,defaultValue=0){var _a4;if(value==null||typeof value!=="string")return defaultValue;return(_a4=parseInt(value.trim(),10))!=null?_a4:defaultValue}__name(stringToInteger,"stringToInteger");function stringToFloat(value,defaultValue=0){var _a4;if(value==null||typeof value!=="string")return defaultValue;return(_a4=parseFloat(value.trim()))!=null?_a4:defaultValue}__name(stringToFloat,"stringToFloat");function valueToBoolean(value,defaultValue=false){if(value==null)return defaultValue;if(typeof value==="boolean")return value;if(typeof value==="number")return value!==0;return TRUE_VALUES_LIST.includes(String(value).trim().toLowerCase())}__name(valueToBoolean,"valueToBoolean");function valueToInteger(value,defaultValue=0){var _a4;if(value==null)return defaultValue;if(typeof value==="boolean")return value?1:0;if(typeof value==="number")return Math.floor(value);return(_a4=parseInt(String(value).trim(),10))!=null?_a4:defaultValue}__name(valueToInteger,"valueToInteger");function valueToFloat(value,defaultValue=0){var _a4;if(value==null)return defaultValue;if(typeof value==="boolean")return value?1:0;if(typeof value==="number")return Math.floor(value);return(_a4=parseFloat(String(value).trim()))!=null?_a4:defaultValue}__name(valueToFloat,"valueToFloat");function valueToString(value,defaultValue=""){var _a4;if(value==null)return defaultValue;return(_a4=String(value))!=null?_a4:defaultValue}__name(valueToString,"valueToString");var toFloat=valueToFloat;var toInt=valueToInteger;var toString=valueToString;var toBool=valueToBoolean;function formatMessages(messages2,opt={}){const{trace=true,pretty=true}=opt;return messages2.map(obj=>{if(obj&&typeof obj==="object"){if(obj instanceof Error){if(!trace){return`${obj.name||"Error"}: ${obj.message}`}return`${obj.name||"Error"}: ${obj.message}
2
+ ${obj.stack}`}return pretty?jsonStringify(obj,null,2):jsonStringify(obj)}return String(obj)})}__name(formatMessages,"formatMessages");function renderMessages(messages2,opt={}){return formatMessages(messages2,opt).join(" ")}__name(renderMessages,"renderMessages");function fixBrokenUth8String(brokenString){try{return decodeURIComponent(escape(brokenString))}catch(e){}return brokenString}__name(fixBrokenUth8String,"fixBrokenUth8String");var defaults={symbol:"$",separator:",",decimal:".",errorOnInvalid:false,precision:2,pattern:"!#",negativePattern:"-!#",format,fromCents:false};var round=__name(v=>Math.round(v),"round");var pow=__name(p=>Math.pow(10,p),"pow");var rounding=__name((value,increment)=>round(value/increment)*increment,"rounding");var groupRegex=/(\d)(?=(\d{3})+\b)/g;var vedicRegex=/(\d)(?=(\d\d)+\d\b)/g;function currency(value,opts={}){return new Currency(value,opts)}__name(currency,"currency");var _Currency=class{constructor(value,opts={}){var _a4;let settings=Object.assign({},defaults,opts);let precision=pow((_a4=settings.precision)!=null?_a4:2);let v=parse(value,settings);this.intValue=v;this.value=v/precision;settings.increment=settings.increment||1/precision;if(settings.useVedic){settings.groups=vedicRegex}else{settings.groups=groupRegex}this._settings=settings;this._precision=precision}add(number){let{intValue,_settings,_precision}=this;return currency((intValue+=parse(number,_settings))/(_settings.fromCents?1:_precision),_settings)}subtract(number){let{intValue,_settings,_precision}=this;return currency((intValue-=parse(number,_settings))/(_settings.fromCents?1:_precision),_settings)}multiply(number){let{intValue,_settings,_precision}=this;return currency((intValue*=number)/(_settings.fromCents?1:pow(_precision)),_settings)}divide(number){let{intValue,_settings}=this;return currency(intValue/=parse(number,_settings,false),_settings)}distribute(count){let{intValue,_precision,_settings}=this,distribution=[],split=Math[intValue>=0?"floor":"ceil"](intValue/count),pennies=Math.abs(intValue-split*count),precision=_settings.fromCents?1:_precision;for(;count!==0;count--){let item=currency(split/precision,_settings);pennies-- >0&&(item=item[intValue>=0?"add":"subtract"](1/precision));distribution.push(item)}return distribution}dollars(){return~~this.value}cents(){let{intValue,_precision}=this;return~~(intValue%_precision)}format(options){let{_settings}=this;if(typeof options==="function"){return options(this,_settings)}return _settings.format(this,Object.assign({},_settings,options))}toString(){let{intValue,_precision,_settings}=this;return rounding(intValue/_precision,_settings.increment).toFixed(_settings.precision)}toJSON(){return this.value}static sum(...array){return arrayFlatten(array).reduce((acc,value)=>currency(acc).add(value),this.zero)}static avg(...array){let arr=arrayFlatten(array);return arr.reduce((acc,value)=>currency(acc).add(value),this.zero).divide(arr.length)}};var Currency=_Currency;__name(Currency,"Currency");Currency.zero=new _Currency(0);Currency.one=new _Currency(1);function parse(value,opts,useRounding=true){let v=0,{decimal,errorOnInvalid,precision:decimals,fromCents}=opts,precision=pow(decimals),isNumber=typeof value==="number";if(value instanceof Currency&&fromCents){return value.intValue}if(isNumber||value instanceof Currency){v=value instanceof Currency?value.value:value}else if(typeof value==="string"){let regex=new RegExp("[^-\\d"+decimal+"]","g"),decimalString=new RegExp("\\"+decimal,"g");v=value.replace(/\((.*)\)/,"-$1").replace(regex,"").replace(decimalString,".");v=v||0}else{if(errorOnInvalid){throw Error("Invalid Input")}v=0}if(!fromCents){v*=precision;v=v.toFixed(4)}return useRounding?round(v):v}__name(parse,"parse");function format(currency2,settings){let{pattern:pattern2,negativePattern,symbol,separator:separator2,decimal,groups}=settings,split=(""+currency2).replace(/^-/,"").split("."),dollars=split[0],cents=split[1];return(currency2.value>=0?pattern2:negativePattern).replace("!",symbol).replace("#",dollars.replace(groups,"$1"+separator2)+(cents?decimal+cents:""))}__name(format,"format");var isHalf=__name(value=>Math.abs(value)%1===.5,"isHalf");var isEven=__name(value=>value%2===0,"isEven");var roundUp=__name(value=>Math.ceil(value),"roundUp");var roundDown=__name(value=>Math.floor(value),"roundDown");var roundHalfUp=__name(value=>Math.round(value),"roundHalfUp");var roundHalfOdd=__name(value=>{const rounded=Math.round(value);if(!isHalf(value)){return rounded}return isEven(rounded)?rounded-1:rounded},"roundHalfOdd");var roundHalfAwayFromZero=__name(value=>{return isHalf(value)?Math.sign(value)*Math.ceil(Math.abs(value)):Math.round(value)},"roundHalfAwayFromZero");var roundHalfDown=__name(value=>isHalf(value)?Math.floor(value):Math.round(value),"roundHalfDown");var roundHalfEven=__name(value=>{const rounded=Math.round(value);if(!isHalf(value)){return rounded}return isEven(rounded)?rounded:rounded-1},"roundHalfEven");var roundHalfTowardsZero=__name(value=>isHalf(value)?Math.sign(value)*Math.floor(Math.abs(value)):Math.round(value),"roundHalfTowardsZero");var{warn}=Logger("zeed:promise");async function sleep(milliSeconds){return new Promise(resolve5=>setTimeout(resolve5,milliSeconds))}__name(sleep,"sleep");async function immediate(){return new Promise(resolve5=>setTimeout(resolve5,0))}__name(immediate,"immediate");var timeoutReached=Symbol("timeout");async function timeout(promise,milliSeconds,timeoutValue=timeoutReached){return new Promise(async(resolve5,reject)=>{let done=false;const timeout2=setTimeout(()=>{done=true;resolve5(timeoutValue)},milliSeconds);try{let result=await promise;clearTimeout(timeout2);if(!done)resolve5(result)}catch(err){clearTimeout(timeout2);if(!done)reject(err)}})}__name(timeout,"timeout");var timoutError=new Error("Timeout reached");function isTimeout(value){return value===timeoutReached||value===timoutError}__name(isTimeout,"isTimeout");async function tryTimeout(promise,milliSeconds){if(milliSeconds<=0){return await promise}return new Promise(async(resolve5,reject)=>{let done=false;const timeout2=setTimeout(()=>{done=true;reject(timoutError)},milliSeconds);try{let result=await promise;clearTimeout(timeout2);if(!done)resolve5(result)}catch(err){clearTimeout(timeout2);if(!done)reject(err)}})}__name(tryTimeout,"tryTimeout");function waitOn(obj,event,timeoutMS=1e3){return new Promise((resolve5,reject)=>{let fn=__name(value=>{if(timer){clearTimeout(timer);done();resolve5(value)}},"fn");let done=__name(()=>{timer=null;if(obj.off){obj.off(event,fn)}else if(obj.removeEventListener){obj.removeEventListener(event,fn)}else{warn("No remove listener method found for",obj,event)}},"done");let timer=setTimeout(()=>{done();reject(new Error(`Did not response in time`))},timeoutMS);if(obj.on){obj.on(event,fn)}else if(obj.addEventListener){obj.addEventListener(event,fn)}else{warn("No listener method found for",obj)}})}__name(waitOn,"waitOn");function isPromise(value){return Boolean(value&&(value instanceof Promise||typeof value.then==="function"))}__name(isPromise,"isPromise");function promisify(value){return Promise.resolve(value)}__name(promisify,"promisify");var DAY_MS=1e3*60*60*24;var Day=class{constructor(days){var _a4;if(typeof days==="number"){this.days=days;return}if(days!=null){days=(_a4=Day.from(days))==null?void 0:_a4.days}if(days==null){const date=new Date;this.days=date.getFullYear()*1e4+(date.getMonth()+1)*100+date.getDate()}else{this.days=days}}static fromNumber(n){return new Day(n)}static fromString(dateString){return new Day(+dateString.replace(/[^0-9]/g,""))}static fromDate(date,gmt=false){return gmt?Day.fromString(date.toISOString().substr(0,10)):new Day(date.getFullYear()*1e4+(date.getMonth()+1)*100+date.getDate())}static fromDateGMT(date){return Day.fromDate(date,true)}static from(value,gmt=false){if(typeof value==="number"){return new Day(value)}else if(typeof value==="string"){return Day.fromString(value)}else if(value instanceof Date){return Day.fromDate(value,gmt)}else if(value instanceof Day){return value}}toNumber(){return this.days}toJson(){return this.days}toString(sep="-"){let baseString=String(this.days);return baseString.slice(0,4)+sep+baseString.slice(4,6)+sep+baseString.slice(6,8)}toDate(gmt=false){return gmt?new Date(`${this.toString()}T00:00:00.000Z`):new Date(this.days/1e4,this.days/100%100-1,this.days%100)}toDateGMT(){return this.toDate(true)}dayOffset(offset){return Day.fromDateGMT(new Date(this.toDateGMT().getTime()+offset*DAY_MS))}daysUntil(otherDay){var _a4;return Math.round((((_a4=new Day(otherDay))==null?void 0:_a4.toDateGMT().getTime())-this.toDateGMT().getTime())/DAY_MS)}yesterday(){return this.dayOffset(-1)}tomorrow(){return this.dayOffset(1)}};__name(Day,"Day");async function forEachDay(from,to,handler){let start=Day.from(from);let end=Day.from(to);while(start&&end&&(start==null?void 0:start.days)<=(end==null?void 0:end.days)){let result=handler(start);if(isPromise(result)){await result}start=start.dayOffset(1)}}__name(forEachDay,"forEachDay");function today(){return new Day}__name(today,"today");function day(days){return new Day(days)}__name(day,"day");var escapeHTML=__name(s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&apos;").replace(/"/g,"&quot;"),"escapeHTML");var unescapeHTML=__name(s=>s.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&apos;/gi,"'").replace(/&amp;/gi,"&"),"unescapeHTML");function randomBoolean(bias=.25){return Math.random()<bias?0:1}__name(randomBoolean,"randomBoolean");function randomInt(max=100,min=0){return min+Math.floor(Math.random()*(max-min))}__name(randomInt,"randomInt");function randomFloat(max=100,min=0){return min+Math.random()*(max-min)}__name(randomFloat,"randomFloat");function between(min,value,max){return Math.max(min,Math.min(max,value))}__name(between,"between");var MAX_FILENAME_LENGTH=100;var reControlChars=/[\u0000-\u001F\u0080-\u009F]/g;var reRelativePath=/^\.+/;var reTrailingPeriods=/\.+$/;function filenameReservedRegex(){return/[<>:"/\\|?*\u0000-\u001F]/g}__name(filenameReservedRegex,"filenameReservedRegex");function windowsReservedNameRegex(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}__name(windowsReservedNameRegex,"windowsReservedNameRegex");function toValidFilename(string){if(typeof string!=="string"){throw new TypeError("Expected a string")}const replacement="_";if(filenameReservedRegex().test(replacement)&&reControlChars.test(replacement)){throw new Error("Replacement string cannot contain reserved filename characters")}string=string.replace(filenameReservedRegex(),replacement).replace(reControlChars,replacement).replace(reRelativePath,replacement).replace(reTrailingPeriods,"");string=windowsReservedNameRegex().test(string)?string+replacement:string;return string.slice(0,MAX_FILENAME_LENGTH)}__name(toValidFilename,"toValidFilename");var rxEscape=/[\\\-\[\]\/{}()*+?.^$|]/g;function escapeRegExp(value){if(!value)return"";if(value instanceof RegExp){return value.source}return value.replace(rxEscape,"\\$&")}__name(escapeRegExp,"escapeRegExp");function startSortWeight(items){return items.reduce((acc,item)=>Math.min(acc,item.sort_weight||0),0)-1-Math.random()}__name(startSortWeight,"startSortWeight");function endSortWeight(items){return items.reduce((acc,item)=>Math.max(acc,item.sort_weight||0),0)+1+Math.random()}__name(endSortWeight,"endSortWeight");function moveSortWeight(newIndex,oldIndex,items){let count=items.length;const moveLower=newIndex<oldIndex;if(count<=0||newIndex>=count-1){return endSortWeight(items)}if(newIndex<=0){return startSortWeight(items)}items=sortedItems([...items]);const step=moveLower?-1:0;const lower=items[newIndex+step].sort_weight||0;const upper=items[newIndex+step+1].sort_weight||0;const distance=upper-lower;if(distance===0){if(moveLower){return startSortWeight(items)}return endSortWeight(items)}const middle=lower+distance/2;const fuzzy=distance*.01*(Math.random()-.5);return middle+fuzzy}__name(moveSortWeight,"moveSortWeight");function sortedItems(items){items.sort((a,b)=>(a.sort_weight||0)-(b.sort_weight||0));return items}__name(sortedItems,"sortedItems");var findURL=/((?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?)/gim;function linkifyPlainText(text){return text.split(findURL).map((part,i)=>{const escapedPart=escapeHTML(part);return i%2?`<a target="_blank" href="${escapedPart}">${toHumanReadableUrl(escapedPart)}</a>`:escapedPart}).join("")}__name(linkifyPlainText,"linkifyPlainText");function toHumanReadableUrl(url){return url.replace(/^https?:\/\/(www\.)?/,"").replace(/\/$/,"")}__name(toHumanReadableUrl,"toHumanReadableUrl");function encodeQuery(data){let pairs=[];for(let[key,value]of Object.entries(data)){if(value!=null){if(!Array.isArray(value)){value=[value]}for(let v of value){if(v!=null){pairs.push(encodeURIComponent(key)+"="+encodeURIComponent(v.toString()||""))}}}}return pairs.join("&")}__name(encodeQuery,"encodeQuery");function parseQuery(queryString){let query={};let pairs=(queryString[0]==="?"?queryString.substr(1):queryString).split("&");for(let i=0;i<pairs.length;i++){let pair=pairs[i].split("=");let key=decodeURIComponent(pair[0]);let value=decodeURIComponent(pair[1]||"");if(query[key]!=null){if(!Array.isArray(query[key])){query[key]=[query[key]]}query[key].push(value)}else{query[key]=value}}return query}__name(parseQuery,"parseQuery");function size(obj){if(obj!=null){if(obj.size!=null){return obj.size}if(obj.length!=null){return obj.length}return Object.keys(obj).length}return 0}__name(size,"size");function last(array){return array!=null&&array.length>0?array[array.length-1]:void 0}__name(last,"last");function empty(value){try{if(value!=null){if(Array.isArray(value)){return value.length<=0}else if(typeof value==="string"){return value.length<=0}else if((value==null?void 0:value.size)!=null){return value.size<=0}else{return Object.keys(value).length<=0}}}catch(err){console.error("Failed to check if empty for",value,err)}return true}__name(empty,"empty");function cloneObject(obj){if(Object(obj)!==obj)return obj;return JSON.parse(JSON.stringify(obj))}__name(cloneObject,"cloneObject");async function callDisposer(disposable){if(typeof disposable==="function"){await promisify(disposable())}else if(isPromise(disposable)){await disposable}else if(typeof disposable.dispose==="function"){await promisify(disposable.dispose())}else if(isPromise(disposable.dispose)){await disposable.dispose}else if(typeof disposable.cleanup==="function"){await promisify(disposable.cleanup())}else if(isPromise(disposable.cleanup)){await disposable.cleanup}}__name(callDisposer,"callDisposer");function useDisposer(){let tracked=[];const untrack=__name(async disposable=>{if(tracked.includes(disposable)){arrayFilterInPlace(tracked,el=>el!==disposable);await callDisposer(disposable)}},"untrack");const dispose=__name(async()=>{while(tracked.length>0){await untrack(tracked[0])}},"dispose");const track=__name(obj=>{tracked.unshift(obj);return()=>untrack(obj)},"track");return Object.assign(dispose,{track,untrack,dispose,getSize(){return tracked.length}})}__name(useDisposer,"useDisposer");function useTimeout(fn,timeout2=0){let timeoutHandle=setTimeout(fn,timeout2);return()=>{if(timeoutHandle){clearTimeout(timeoutHandle);timeoutHandle=void 0}}}__name(useTimeout,"useTimeout");function useInterval(fn,interval){let intervalHandle=setInterval(fn,interval);return()=>{if(intervalHandle){clearInterval(intervalHandle);intervalHandle=void 0}}}__name(useInterval,"useInterval");function useEventListener(emitter,eventName,fn,...args){if(emitter==null)return()=>{};if(emitter.on){emitter.on(eventName,fn,...args)}else if(emitter.addEventListener){emitter.addEventListener(eventName,fn,...args)}return()=>{if(emitter.off){emitter.off(eventName,fn,...args)}else if(emitter.removeEventListener){emitter.removeEventListener(eventName,fn,...args)}}}__name(useEventListener,"useEventListener");function isLocalHost(hostname=window.location.hostname){return["localhost","127.0.0.1","","::1","::"].includes(hostname)||hostname.startsWith("192.168.")||hostname.startsWith("10.0.")||hostname.endsWith(".local")}__name(isLocalHost,"isLocalHost");var getTimestamp=__name(()=>typeof performance!=="undefined"?performance.now():new Date().getTime(),"getTimestamp");function formatMilliseconds(ms){return ms>999?(ms/1e3).toFixed(1)+"s":ms.toFixed(2)+"ms"}__name(formatMilliseconds,"formatMilliseconds");function parseDate(...dateCandidates){for(let dateCandidate of dateCandidates){if(dateCandidate instanceof Date){return dateCandidate}if(typeof dateCandidate==="string"){let date=null;if(dateCandidate.includes(":")){try{date=new Date(dateCandidate)}catch(err){}}if(!(date instanceof Date)){let m=/(\d\d\d\d)-(\d\d)-(\d\d)/.exec(dateCandidate);if(m){date=new Date(+m[1],+m[2]-1,+m[3],12,0)}}if(date instanceof Date){return date}}}}__name(parseDate,"parseDate");var{encode:encode62,decode:decode62}=useBase(62);var{encode:encode32}=useBase(32);function uuidBytes(){return randomUint8Array(16)}__name(uuidBytes,"uuidBytes");function uuid(){return encode62(uuidBytes(),22)}__name(uuid,"uuid");function uuidB32(){return encode32(uuidBytes(),26)}__name(uuidB32,"uuidB32");var _unameCounters={};function uname(name="id"){if(_unameCounters[name]==null){_unameCounters[name]=0}return`${name}-${_unameCounters[name]++}`}__name(uname,"uname");var _qid=0;function qid(){return`id-${_qid++}`}__name(qid,"qid");var pattern="10000000-1000-4000-8000-100000000000";var uuidv4=__name(()=>pattern.replace(/[018]/g,c=>(c^randomUint8Array(1)[0]&15>>c/4).toString(16)),"uuidv4");var ReferenceDateInMS=16e11;function longToByteArray(long){var byteArray=new Uint8Array([0,0,0,0,0,0]);const bytes=byteArray.length-1;for(var index=0;index<byteArray.length;index++){var byte=long&255;byteArray[bytes-index]=byte;long=(long-byte)/256}return byteArray}__name(longToByteArray,"longToByteArray");function suidBytes(){const ms=getTimestamp()-ReferenceDateInMS;return new Uint8Array([...longToByteArray(ms),...randomUint8Array(10)])}__name(suidBytes,"suidBytes");function suid(){return encode62(suidBytes(),22)}__name(suid,"suid");function suidDate(id){return suidBytesDate(decode62(id,16))}__name(suidDate,"suidDate");function suidBytesDate(id){return new Date(ReferenceDateInMS+id.slice(0,6).reduce((acc,byte)=>{return acc*256+byte},0))}__name(suidBytesDate,"suidBytesDate");var log3=Logger("zeed:emitter");var Emitter=class{constructor(){this.subscribers={};this.subscribersOnAny=[];this.call=new Proxy({},{get:(target,name)=>(...args)=>this.emit(name,...args)})}async emit(event,...args){let ok=false;try{let subscribers=this.subscribers[event]||[];this.subscribersOnAny.forEach(fn=>fn(event,...args));if(subscribers.length>0){let all=subscribers.map(fn=>{try{return promisify(fn(...args))}catch(err){log3.warn("emit warning:",err)}});ok=true;await Promise.all(all)}}catch(err){log3.error("emit exception",err)}return ok}onAny(fn){this.subscribersOnAny.push(fn)}on(event,listener){let subscribers=this.subscribers[event]||[];subscribers.push(listener);this.subscribers[event]=subscribers;return()=>{this.off(event,listener)}}onCall(handlers){for(const[name,handler]of Object.entries(handlers)){this.on(name,handler)}}once(event,listener){const onceListener=__name(async(...args)=>{this.off(event,onceListener);return await promisify(listener(...args))},"onceListener");this.on(event,onceListener);return()=>{this.off(event,listener)}}off(event,listener){this.subscribers[event]=(this.subscribers[event]||[]).filter(f=>listener&&f!==listener);return this}removeAllListeners(event){this.subscribers={};return this}dispose(){this.subscribers={};this.subscribersOnAny=[]}};__name(Emitter,"Emitter");function getGlobalEmitter(){let emitter=getGlobalContext().emitter;if(!emitter){emitter=new Emitter;getGlobalContext().emitter=emitter}return emitter}__name(getGlobalEmitter,"getGlobalEmitter");var messages=new Emitter;function lazyListener(emitter,listenerKey){const name=Math.round(Math.random()*100);var events=[];var lazyResolve;const incoming=__name((key,obj)=>{let ev={key,obj};events.push(ev);lazyResolve&&lazyResolve()},"incoming");if(listenerKey){if(emitter.on){emitter.on(listenerKey,obj=>{incoming(listenerKey,obj)})}else if(emitter.addEventListener){emitter.addEventListener(listenerKey,obj=>{incoming(listenerKey,obj)})}else{log3.error(name,"Cannot listen to key")}}else{if(emitter.onAny){emitter.onAny((key,obj)=>{incoming(key,obj)})}else{log3.error(name,"cannot listen to all for",emitter)}}let on=__name((key,skipUnmatched=true)=>{return new Promise((resolve5,reject)=>{if(!key){key=listenerKey;if(!key){if(events.length){key=events[0].key}}}lazyResolve=__name(()=>{while(events.length>0){let ev=events.shift();if(ev.key===key){lazyResolve=void 0;resolve5(ev.obj)}else{if(skipUnmatched){log3.warn(name,`Unhandled event ${key} with value: ${ev.obj}`);continue}reject(`Expected ${key}, but found ${ev.key} with value=${ev.obj}`);log3.error(name,`Unhandled event ${key} with value: ${ev.obj}`)}break}},"lazyResolve");lazyResolve()})},"on");return on}__name(lazyListener,"lazyListener");var Channel=class extends Emitter{constructor(){super(...arguments);this.id=uuid()}close(){}};__name(Channel,"Channel");var LocalChannel=class extends Channel{constructor(){super(...arguments);this.isConnected=true}postMessage(data){var _a4;(_a4=this.other)==null?void 0:_a4.emit("message",{data,origin:"local",lastEventId:uuid()})}};__name(LocalChannel,"LocalChannel");function fakeWorkerPair(){let w1=new LocalChannel;let w2=new LocalChannel;w1.other=w2;w2.other=w1;return[w1,w2]}__name(fakeWorkerPair,"fakeWorkerPair");var JsonEncoder=class{async encode(data){return jsonToUint8Array(data)}async decode(data){return Uint8ArrayToJson(data)}};__name(JsonEncoder,"JsonEncoder");var CryptoEncoder=class{constructor(key){this.key=key}async encode(data){const plain=jsonToUint8Array(data);return await encrypt(plain,this.key)}async decode(data){const plain=await decrypt(data,this.key);return Uint8ArrayToJson(plain)}};__name(CryptoEncoder,"CryptoEncoder");var createPromiseProxy=__name((fn,opt,predefinedMethods={})=>new Proxy(predefinedMethods,{get:(target,name)=>{if(name in target)return target[name];return(...args)=>fn(name,args,opt)}}),"createPromiseProxy");function useMessageHub(opt={}){let{name=uname("hub"),encoder=new JsonEncoder,retryAfter=1e3,ignoreUnhandled=true}=opt;const log10=Logger(name);let handlers={};let channel;let queue=[];let queueRetryTimer;let waitingForResponse={};const dispose=__name(()=>{clearTimeout(queueRetryTimer)},"dispose");const postNext=__name(async()=>{clearTimeout(queueRetryTimer);if(channel){if(channel.isConnected){while(queue.length){let message=queue[0];try{channel.postMessage(await encoder.encode(message));queue.shift()}catch(err){log10.warn("postMessage",err);break}}}if(queue.length>0&&retryAfter>0){queueRetryTimer=setTimeout(postNext,retryAfter)}}},"postNext");const postMessage=__name(async message=>{log10("enqueue postMessage",message);queue.push(message);await postNext()},"postMessage");const connect=__name(async newChannel=>{channel=newChannel;channel.on("connect",postNext);channel.on("message",async msg=>{log10("onmessage",typeof msg);const{name:name2,args,id,result,error}=await encoder.decode(msg.data);if(name2){log10(`name ${name2} id ${id}`);try{if(handlers[name2]==null){throw new Error(`handler for ${name2} was not found`)}let result2=handlers[name2](...args);if(isPromise(result2))result2=await result2;log10(`result ${result2}`);if(id){postMessage({id,result:result2})}}catch(error2){let err=error2 instanceof Error?error2:new Error(valueToString(error2));log10.warn("execution error",err.name);postMessage({id,error:{message:err.message,stack:err.stack,name:err.name}})}}else if(id){log10(`response for id=${id}: result=${result}, error=${error}`);if(waitingForResponse[id]==null){if(result===void 0){log10(`skip response for ${id}`)}else{log10.warn(`no response hook for ${id}`)}}else{const[resolve5,reject]=waitingForResponse[id];if(resolve5&&reject){delete waitingForResponse[id];if(error){let err=new Error(error.message);err.stack=error.stack;err.name=error.name;log10.warn("reject",err.name);reject(err)}else{log10("resolve",result);resolve5(result)}}}}else if(!ignoreUnhandled){log10.warn("Unhandled message",msg)}});postNext()},"connect");const fetchMessage=__name(async(name2,args,opt2={})=>{const{timeout:timeout2=5e3}=opt2;const id=uuid();postMessage({name:name2,args,id});return tryTimeout(new Promise((resolve5,reject)=>waitingForResponse[id]=[resolve5,reject]),timeout2)},"fetchMessage");if(opt.channel){connect(opt.channel)}return{dispose,connect,listen(newHandlers){Object.assign(handlers,newHandlers)},send(){return createPromiseProxy(fetchMessage,{},{options(perCallopt){return createPromiseProxy(fetchMessage,__spreadValues({},perCallopt))}})}}}__name(useMessageHub,"useMessageHub");var PubSub=class extends Emitter{constructor(opt){super();this.publish=this.emit;this.subscribe=this.on;var _a4;let{name,encoder=new JsonEncoder,channel,debug=false}=opt;this.channel=channel;this.encoder=encoder;this.debug=debug;this.name=(_a4=name!=null?name:this.channel.id)!=null?_a4:uname("pubsub");this.log=Logger(`${this.shortId}`);if(this.debug){this.channel.on("connect",()=>{this.log("channel connected")});this.channel.on("disconnect",()=>{this.log("channel disconnected")})}this.channel.on("message",async({data})=>{let info=await this.encoder.decode(data);if(this.debug)this.log(`channel message, event=${info==null?void 0:info.event}, info=`,info);else this.log(`channel message, event=${info==null?void 0:info.event}`);if(info){const{event,args}=info;await this.emitSuper(event,...args)}})}get shortId(){return this.name.substr(0,6)}async emitSuper(event,...args){return await super.emit(event,...args)}async emit(event,...args){try{if(this.debug)this.log(`emit(${event})`,event);else this.log(`emit(${event})`,args.length);if(!this.channel.isConnected){this.log.warn("channel not connected");return false}const data=await this.encoder.encode({event,args});this.channel.postMessage(data);return true}catch(err){this.log.warn(`emit(${event})`,err)}return false}};__name(PubSub,"PubSub");function usePubSub(opt){return new PubSub(opt)}__name(usePubSub,"usePubSub");function createMutex(){let token=true;return(fn,elseFn)=>{let executed=false;if(token){token=false;try{fn();executed=true}finally{token=true}}else if(elseFn!==void 0){elseFn()}return executed}}__name(createMutex,"createMutex");var log4=Logger("network");var defaultOptions={cache:"no-cache",redirect:"follow"};async function fetchBasic(url,fetchOptions={},fetchFn=fetch){try{const response=await fetchFn(url,fetchOptions);if(response.status<400){return response}try{log4.warn(`Fetch of ${url} with ${fetchOptions} returned status=${response.status}`);log4.warn(`Response: ${await response.text()}`)}catch(err){log4.error("Exception:",err)}}catch(err){log4.error("fetchBasic",err)}}__name(fetchBasic,"fetchBasic");async function fetchJson(url,opts={},fetchFn=fetch){try{let res=await fetchBasic(url,__spreadValues(__spreadProps(__spreadValues({method:"GET"},defaultOptions),{headers:{}}),opts),fetchFn);if(res){return await res.json()}}catch(err){log4.error("fetchJSON error:",err)}}__name(fetchJson,"fetchJson");function fetchOptionsFormURLEncoded(data,method="POST"){return __spreadProps(__spreadValues({method},defaultOptions),{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},body:encodeQuery(data)})}__name(fetchOptionsFormURLEncoded,"fetchOptionsFormURLEncoded");function fetchOptionsJson(data,method="POST"){return __spreadProps(__spreadValues({method},defaultOptions),{headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json"},body:JSON.stringify(data)})}__name(fetchOptionsJson,"fetchOptionsJson");async function fetchText(url,opts={},fetchFn=fetch){try{let res=await fetchBasic(url,__spreadValues(__spreadProps(__spreadValues({method:"GET"},defaultOptions),{headers:{}}),opts),fetchFn);if(res){return await res.text()}}catch(err){log4.error("fetchHTML error:",err)}}__name(fetchText,"fetchText");function getWindow(){if(typeof window!=="undefined")return window}__name(getWindow,"getWindow");function getNavigator(){if(typeof navigator!=="undefined")return navigator}__name(getNavigator,"getNavigator");function getGlobal(){var _a4;return((_a4=getWindow())!=null?_a4:typeof WorkerGlobalScope!=="undefined")?self:typeof global!=="undefined"?global:Function("return this;")()}__name(getGlobal,"getGlobal");var _navigator=getNavigator();var _window=getWindow();function detect(info={ios:false,macos:false,windows:false,beaker:false,electron:false,wkwebview:false,pwa:false,pwaInstalled:false,browser:false,node:false,worker:false,jest:false,macosNative:false,iosNative:false,appleNative:false,touch:false}){var _a4,_b4,_c2,_d2,_e,_f,_g,_h,_i;info.ios=((_a4=_navigator==null?void 0:_navigator.platform)==null?void 0:_a4.match(/(iPhone|iPod|iPad)/i))!=null;info.macos=!!((_b4=_navigator==null?void 0:_navigator.platform)==null?void 0:_b4.startsWith("Mac"));info.windows=!!((_c2=_navigator==null?void 0:_navigator.platform)==null?void 0:_c2.startsWith("Win"));info.beaker=(_window==null?void 0:_window["beaker"])!=null;info.electron=(((_e=(_d2=_navigator==null?void 0:_navigator.userAgent)==null?void 0:_d2.toLowerCase())==null?void 0:_e.indexOf(" electron/"))||-1)>-1&&!info.beaker;info.wkwebview=((_f=_window==null?void 0:_window.webkit)==null?void 0:_f["messageHandlers"])!=null;info.pwa=(_navigator==null?void 0:_navigator.serviceWorker)!=null;info.pwaInstalled=(_navigator==null?void 0:_navigator.standalone)||((_h=(_g=_window==null?void 0:_window.matchMedia)==null?void 0:_g.call(_window,"(display-mode: standalone)"))==null?void 0:_h.matches);info.node=typeof process!=="undefined"&&((_i=process==null?void 0:process.release)==null?void 0:_i.name)==="node";info.browser=!info.electron&&!info.wkwebview&&!info.node;info.worker=typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope;info.jest=typeof jest!=="undefined";info.macosNative=info.wkwebview&&info.macos;info.iosNative=info.wkwebview&&info.ios;info.appleNative=info.wkwebview;info.touch=_window&&"ontouchstart"in _window||((_navigator==null?void 0:_navigator.maxTouchPoints)||0)>1||(_navigator==null?void 0:_navigator.msPointerEnabled)&&(_window==null?void 0:_window.MSGesture)||(_window==null?void 0:_window.DocumentTouch)&&document instanceof DocumentTouch;return info}__name(detect,"detect");var isBrowser=__name(()=>typeof window!=="undefined"&&globalThis===window,"isBrowser");var platform=detect();function useExitHandler(handler){if(isBrowser()){window.addEventListener("beforeunload",handler)}else if(typeof process!=="undefined"){process.on("exit",()=>handler)}}__name(useExitHandler,"useExitHandler");function usePool(config={}){const{maxParallel=3}=config;let currentParallel=0;let priority=0;let tasks={};function performNext(){if(currentParallel>=maxParallel)return;let runningTasks=Object.values(tasks).filter(t=>!t.running);if(runningTasks.length>0){let taskInfo=runningTasks.reduce((prev,curr)=>prev.priority>curr.priority?curr:prev);if(taskInfo){taskInfo.running=true;++currentParallel;taskInfo.task().then(r=>{delete tasks[taskInfo.id];--currentParallel;performNext()}).catch(err=>{delete tasks[taskInfo.id];--currentParallel;performNext()})}}}__name(performNext,"performNext");function cancel(id){let taskInfo=tasks[id];if(!taskInfo.running){delete tasks[id]}}__name(cancel,"cancel");return{cancel,enqueue(id,task){if(tasks[id]==null){tasks[id]={id,task,priority:++priority,running:false};performNext()}return()=>cancel(id)}}}__name(usePool,"usePool");var log5=Logger("zeed:queue");var SerialQueue=class{constructor(opt={}){this.queue=[];this.isPaused=false;this.waitToFinish=[];const{name=uname("queue"),logLevel}=opt;this.name=name;this.log=Logger(`zeed:queue:${name}`);this.log.level=logLevel!=null?logLevel:LogLevel.off}async performNext(){this.log(`performNext, queue.length =`,this.queue.length);if(this.currentTask!=null){this.log(`performNext => skip while another task is running`);return}if(this.isPaused){this.log(`performNext => skip while is paused`);return}while(this.currentTask==null&&!this.isPaused){let info=this.queue.shift();this.log(`performNext => ${info==null?void 0:info.name}`);if(info==null){break}const{name,task,resolve:resolve5}=info;this.currentTask=task();let result=void 0;try{this.log.info(`start task ${name}`);result=await this.currentTask;this.log(`finished task ${name} with result =`,result)}catch(err){log5.warn("Error performing task",err)}resolve5(result);this.currentTask=void 0}while(this.waitToFinish.length>0){this.waitToFinish.shift()()}}async enqueue(task,opt={}){const{immediate:immediate2=false,name=uname(this.name)}=opt;if(immediate2){this.log.info(`immediate execution ${name}`);return await task()}this.log(`enqueue ${name}`);return new Promise(resolve5=>{this.queue.push({name,task,resolve:resolve5});this.performNext()})}async enqueueReentrant(task,opt={}){return this.enqueue(task,{immediate:this.currentTask!=null,name:opt.name})}async cancelAll(unblock=true){this.log(`cancelAll`);let resolver=this.queue.map(task=>task.resolve);this.queue=[];resolver.forEach(r=>r(void 0));await this.wait()}async pause(){this.log(`pause`);this.isPaused=true;await this.wait()}resume(){this.log(`resume`);this.isPaused=false;this.performNext()}async wait(){this.log(`wait`);if(this.currentTask==null&&(this.queue.length===0||this.isPaused)){return}return new Promise(resolve5=>{this.waitToFinish.push(resolve5)})}};__name(SerialQueue,"SerialQueue");var log6=Logger("zeed:memstorage");var MemStorage=class{constructor(opt={}){this.store={}}setItem(key,value){this.store[key]=cloneObject(value)}getItem(key){if(this.store.hasOwnProperty(key)){return cloneObject(this.store[key])}}removeItem(key){delete this.store[key]}clear(){this.store={}}allKeys(){return Object.keys(this.store)}};__name(MemStorage,"MemStorage");function throttle(callback,opt={}){const{delay=100,noTrailing=false,debounceMode=false}=opt;let timeoutID;let cancelled=false;let lastExec=0;function clearExistingTimeout(){if(timeoutID){clearTimeout(timeoutID)}}__name(clearExistingTimeout,"clearExistingTimeout");function cancel(){clearExistingTimeout();cancelled=true}__name(cancel,"cancel");function wrapper(...arguments_){let self2=this;let elapsed=Date.now()-lastExec;if(cancelled){return}function exec(){lastExec=Date.now();callback.apply(self2,arguments_)}__name(exec,"exec");function clear(){timeoutID=void 0}__name(clear,"clear");if(debounceMode&&!timeoutID){exec()}clearExistingTimeout();if(debounceMode===void 0&&elapsed>delay){exec()}else if(noTrailing!==true){timeoutID=setTimeout(debounceMode?clear:exec,debounceMode===void 0?delay-elapsed:delay)}}__name(wrapper,"wrapper");wrapper.cancel=cancel;wrapper.dispose=cancel;return wrapper}__name(throttle,"throttle");function debounce(callback,opt={}){opt.debounceMode=true;return throttle(callback,opt)}__name(debounce,"debounce");function throttleAnimationFrame(callback){let requestId;let lastArgs;const later=__name(context=>()=>{requestId=void 0;callback.apply(context,lastArgs)},"later");const throttled=__name(function(...args){lastArgs=args;if(requestId==null){requestId=requestAnimationFrame(later(this))}},"throttled");throttled.cancel=throttled.dispose=()=>{cancelAnimationFrame(requestId);requestId=void 0};return throttled}__name(throttleAnimationFrame,"throttleAnimationFrame");var import_crypto3=__toModule(require("crypto"));try{if(import_crypto3.default&&import_crypto3.default.webcrypto&&typeof globalThis!=="undefined"&&typeof globalThis.crypto==="undefined"){globalThis.crypto=import_crypto3.default.webcrypto}}catch(err){console.warn("Failed to polyfill webcrypto",err)}var import_fs=__toModule(require("fs"));var import_path=__toModule(require("path"));var log7=Logger("zeed:env");var NEWLINE="\n";var RE_INI_KEY_VAL=/^\s*([\w_.-]+)\s*=\s*(.*)?\s*$/;var RE_NEWLINES=/\\n/g;var NEWLINES_MATCH=/\n|\r|\r\n/;function parse2(src,options={}){let obj={};src.toString().split(NEWLINES_MATCH).forEach(function(line,idx){const keyValueArr=line.match(RE_INI_KEY_VAL);if(keyValueArr!=null){const key=keyValueArr[1];let val=keyValueArr[2]||"";const end=val.length-1;const isDoubleQuoted=val[0]==='"'&&val[end]==='"';const isSingleQuoted=val[0]==="'"&&val[end]==="'";if(isSingleQuoted||isDoubleQuoted){val=val.substring(1,end);if(isDoubleQuoted){val=val.replace(RE_NEWLINES,NEWLINE)}}else{val=val.trim()}obj[key]=val}else{log7.debug(`did not match key and value when parsing line ${idx+1}: ${line}`)}});return obj}__name(parse2,"parse");function stringToPath(value,defaultValue="."){return(0,import_path.resolve)(process.cwd(),value!=null?value:defaultValue)}__name(stringToPath,"stringToPath");function valueToPath(value,defaultValue=""){if(value==null)value=defaultValue;return stringToPath(String(value).trim(),defaultValue)}__name(valueToPath,"valueToPath");var toPath=valueToPath;function setupEnv(options={}){var _a4,_b4,_c2,_d2;const dotenvPath=(_b4=options==null?void 0:options.path)!=null?_b4:toPath((_a4=options==null?void 0:options.filename)!=null?_a4:".env");const encoding=(_c2=options==null?void 0:options.encoding)!=null?_c2:"utf8";const debug=(options==null?void 0:options.debug)||false;if(debug!==true)log7.level=LogLevel.off;try{const parsedEnv=import_fs.default.existsSync(dotenvPath)?parse2(import_fs.default.readFileSync(dotenvPath,{encoding}),{debug}):{};const parsedEnvLocal=import_fs.default.existsSync(dotenvPath+".local")?parse2(import_fs.default.readFileSync(dotenvPath+".local",{encoding}),{debug}):{};const parsed=Object.assign({},parsedEnv,parsedEnvLocal);let env=(_d2=options==null?void 0:options.env)!=null?_d2:process.env;Object.entries(parsed).forEach(([key,value])=>{if(typeof(options==null?void 0:options.prefix)==="string"){key=(options==null?void 0:options.prefix)+key}if(!Object.prototype.hasOwnProperty.call(env,key)){if(value!=null){log7.info(`set env.${key} = ${value}`);env[key]=value}}else{log7.debug(`"${key}" is already defined and will not be overwritten`)}});return{parsed}}catch(e){log7.error(e);return{error:e}}}__name(setupEnv,"setupEnv");var import_fs2=__toModule(require("fs"));var import_path2=__toModule(require("path"));var log8=Logger("zeed:filestorage");var FileStorage=class{constructor(opt={}){this.store={};this.fileKeys=void 0;this.pretty=false;var _a4,_b4,_c2,_d2;this.dirname=(0,import_path2.resolve)(process.cwd(),opt.path||".fileStorage");this.pretty=!!opt.pretty;this.extension=(_a4=opt.extension)!=null?_a4:".json";if(opt.extension&&!this.extension.startsWith(".")){this.extension="."+this.extension}this.extensionLength=this.extension.length;this.objectToString=(_b4=opt.objectToString)!=null?_b4:data=>{return this.pretty?JSON.stringify(data,null,2):JSON.stringify(data)};this.objectFromString=(_c2=opt.objectFromString)!=null?_c2:data=>{try{return JSON.parse(data)}catch(err){log8.warn(`fileStorage parse error '${err}' in`,data)}};this.keyToFilename=(_d2=opt.keyToFilename)!=null?_d2:toValidFilename}setItem(key,value){this.store[key]=cloneObject(value);try{const data=this.objectToString(value);const path=this.getPath(key);(0,import_fs2.mkdirSync)((0,import_path2.dirname)(path),{recursive:true});(0,import_fs2.writeFileSync)(path,data,"utf8")}catch(err){log8.error("setItem error",err)}}getPath(key){return(0,import_path2.resolve)(this.dirname,this.keyToFilename(key)+this.extension)}getBuffer(key){const path=this.getPath(key);return Buffer.from((0,import_fs2.readFileSync)(path))}getItem(key){let value=this.store[key];if(value===null)return;if(value!=null){return cloneObject(value)}try{const path=this.getPath(key);const data=(0,import_fs2.readFileSync)(path,"utf8");if(data!=null){const value2=this.objectFromString(data);this.store[key]=value2;return value2}}catch(err){log8.warn("getItem error",err);this.store[key]=null}}removeItem(key){delete this.store[key];if(this.fileKeys!=null){const index=this.fileKeys.indexOf(key);if(index!==-1){this.fileKeys.splice(index,1)}}try{const path=this.getPath(key);(0,import_fs2.unlinkSync)(path)}catch(err){}}clear(){this.fileKeys=[];this.store={};(0,import_fs2.rmSync)(this.dirname,{recursive:true,force:true})}allKeys(){if(this.fileKeys==null){try{this.fileKeys=(0,import_fs2.readdirSync)(this.dirname,{withFileTypes:true}).filter(item=>!item.isDirectory()&&item.name.endsWith(this.extension)).map(item=>item.name.slice(0,-this.extensionLength))||[]}catch(err){}}let keys=[...this.fileKeys||[]];for(let key of Object.keys(this.store)){if(!keys.includes(key)){keys.push(key)}}keys.sort();return keys}};__name(FileStorage,"FileStorage");var import_fs3=__toModule(require("fs"));var import_path4=__toModule(require("path"));var namespaces={};function LoggerFileHandler(path,opt={}){const{level=LogLevel.all,filter="*"}=opt;path=(0,import_path4.resolve)(process.cwd(),path);(0,import_fs3.mkdirSync)((0,import_path4.dirname)(path),{recursive:true});var stream=(0,import_fs3.createWriteStream)(path,{flags:"a"});const matchesNamespace=useNamespaceFilter(filter);const matchesLevel=useLevelFilter(level);return msg=>{if(!matchesLevel(msg.level))return;if(!matchesNamespace(msg.name))return;const time2=new Date().toISOString();let name=msg.name||"";let ninfo=namespaces[name||""];if(ninfo==null){namespaces[name]=ninfo}let args=[`[${name||"*"}]`,renderMessages(msg.messages,{pretty:false})];function write(...args2){stream.write(args2.join(" ")+"\n")}__name(write,"write");switch(msg.level){case LogLevel.info:write(time2,`I|* `,...args);break;case LogLevel.warn:write(time2,`W|** `,...args);break;case LogLevel.error:write(time2,`E|***`,...args);break;default:write(time2,`D| `,...args);break}}}__name(LoggerFileHandler,"LoggerFileHandler");var import_tty=__toModule(require("tty"));var import_path5=__toModule(require("path"));function getStackLlocationList(stack){var _a4,_b4;if(typeof stack!=="string")return[];return((_b4=(_a4=stack==null?void 0:stack.split("\n"))==null?void 0:_a4.map(rawLine=>{let m=rawLine.match(/^\s+at.*(\((.*)\)|file:\/\/(.*)$)/);if(m){let line=m[3]||m[2];if(line.endsWith(")"))line=line.slice(0,-1);return line}}))==null?void 0:_b4.filter(v=>v!=null))||[]}__name(getStackLlocationList,"getStackLlocationList");var cwd=(0,import_path5.resolve)(process.cwd());var _a3,_b3;var home=((_a3=process.env)==null?void 0:_a3.HOME)?(0,import_path5.resolve)((_b3=process.env)==null?void 0:_b3.HOME):"";function pathStripCwd(path){if(path.includes("/node_modules/")){return""}const fileURL="file://";if(path.startsWith(fileURL)){return path.substr(fileURL.length)}if(cwd&&path.startsWith(cwd)){return path.substr(cwd.length+1)}if(home&&path.startsWith(home)){path="~/"+path.substr(home.length+1)}return path}__name(pathStripCwd,"pathStripCwd");function extractFileInfo(stackLine){let m=stackLine.match(/^\s*at.*(\((.*)\)|file:\/\/(.*)$)/);if(m){let line=m[3]||m[2];if(line.endsWith(")"))line=line.slice(0,-1);return line}return""}__name(extractFileInfo,"extractFileInfo");function getSourceLocation(level=2,stripCwd=true){var _a4;let stack=new Error().stack||"";let line=(_a4=getStackLlocationList(stack))==null?void 0:_a4[level];if(line&&stripCwd){line=pathStripCwd(line)}return line||""}__name(getSourceLocation,"getSourceLocation");function getStack(){return new Error().stack||""}__name(getStack,"getStack");function getSourceLocationByPrecedingPattern(patterns,stripCwd=true){let line="";let stack=new Error().stack||"";if(typeof stack==="string"){const lines=stack.split("\n").map(l=>l.trim());const index=lines.findIndex(l=>patterns.some(p=>l.startsWith(p)));line=lines[index+1];if(line){line=extractFileInfo(line)}if(line&&stripCwd){line=pathStripCwd(line)}}return line}__name(getSourceLocationByPrecedingPattern,"getSourceLocationByPrecedingPattern");function isTTY(){try{return import_tty.default.isatty(process.stdout.fd)}catch(err){}return false}__name(isTTY,"isTTY");var colors=[6,2,3,4,5,1];function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0}return colors[Math.abs(hash)%colors.length]}__name(selectColor,"selectColor");var namespaces2={};var time=getTimestamp();var useColors=import_tty.default.isatty(process.stderr.fd);function log9(...args){return process.stderr.write(renderMessages(args)+"\n")}__name(log9,"log");var TTY_STYLE={BOLD:"",UNBOLD:"",RED:"",GREEN:"",BLUE:"",PURPLE:"",GRAY:"",ORANGE:"",UNCOLOR:""};var COLOR;(function(COLOR2){COLOR2[COLOR2["RED"]=1]="RED";COLOR2[COLOR2["GREEN"]=2]="GREEN";COLOR2[COLOR2["BLUE"]=4]="BLUE";COLOR2[COLOR2["PURPLE"]=5]="PURPLE";COLOR2[COLOR2["GRAY"]=7]="GRAY";COLOR2[COLOR2["ORANGE"]=8]="ORANGE"})(COLOR||(COLOR={}));var colorEnd="";function colorString(value,colorCode){const colorStart=colorCode===8?TTY_STYLE.ORANGE:"[3"+(colorCode<8?colorCode:"8;5;"+colorCode)+"m";return`${colorStart}${value}${colorEnd}`}__name(colorString,"colorString");function colorStringList(list,style,bold=true){return list.map(value=>{if(typeof value!=="string")return value;let start=style;let end=colorEnd;if(bold){start=`${TTY_STYLE.BOLD}${start}`;end=`${end}${TTY_STYLE.BOLD}`}return`${start}${value}${end}`})}__name(colorStringList,"colorStringList");var loggerStackTraceDebug="loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485";function LoggerNodeHandler(opt={}){const{level=void 0,filter=void 0,colors:colors2=isTTY(),levelHelper=true,nameBrackets=true,padding=0,fill=0,stack=true}=opt;const matchesNamespace=useNamespaceFilter(filter);const matchesLevel=useLevelFilter(level);return msg=>{var _a4;if(!matchesLevel(msg.level))return;if(!matchesNamespace(msg.name))return;const timeNow=getTimestamp();let name=msg.name||"";let ninfo=namespaces2[name||""];if(ninfo==null){ninfo={color:selectColor(name)};namespaces2[name]=ninfo}const diff=formatMilliseconds(timeNow-time);let args;let displayName=nameBrackets?`[${name}]`:name;if(padding>0){displayName=displayName.padStart(padding," ")}if(fill>0){displayName=displayName.padEnd(fill," ")}if(colors2&&useColors){const c=ninfo.color;args=[colorString(displayName,c)+` | `];if(msg.level===LogLevel.warn){args.push(...colorStringList(msg.messages,TTY_STYLE.ORANGE))}else if(msg.level===LogLevel.error){args.push(...colorStringList(msg.messages,TTY_STYLE.RED))}else{args.push(...msg.messages)}args.push(colorString(`+${diff}`,c))}else{args=[displayName,...msg.messages];args.push(`+${diff}`)}if(((_a4=msg.messages)==null?void 0:_a4[0])===loggerStackTraceDebug){console.log(getStack())}if(stack){let line="";if(typeof stack==="boolean"){line=getSourceLocationByPrecedingPattern(["at Function.","at null.log (","at log ("],true);if(!line){line=getSourceLocation(0,true)}}else{const depth=typeof stack==="number"?stack:3;line=getSourceLocation(depth,true)}if(line){args.push(colorString(`(${line})`,7))}}switch(msg.level){case LogLevel.info:if(levelHelper)args[0]=`I|* `+args[0];log9(...args);break;case LogLevel.warn:if(levelHelper)args[0]=(colors2&&useColors?colorString(`W|** `,8):`W|** `)+args[0];log9(...args);break;case LogLevel.error:if(levelHelper)args[0]=(colors2&&useColors?colorString(`E|*** `,1):`E|*** `)+args[0];log9(...args);break;default:if(levelHelper)args[0]=`D| `+args[0];log9(...args);break}}}__name(LoggerNodeHandler,"LoggerNodeHandler");function setupLogContextNode(){var _a4;let handlers=[LoggerNodeHandler({padding:32,nameBrackets:false})];let logFilePath=(_a4=process.env.ZEED_LOG)!=null?_a4:process.env.LOG;if(logFilePath){handlers.unshift(LoggerFileHandler(toPath(logFilePath)))}Logger.setHandlers(handlers)}__name(setupLogContextNode,"setupLogContextNode");setupLogContextNode();0&&(module.exports={Channel,CryptoEncoder,Currency,DAY_MS,Day,Emitter,FileStorage,JsonEncoder,LocalChannel,LogLevel,LogLevelAlias,Logger,LoggerConsoleHandler,LoggerContext,LoggerFileHandler,LoggerNodeHandler,MemStorage,PubSub,SerialQueue,Uint8ArrayToJson,Uint8ArrayToString,arrayEmptyInPlace,arrayFilterInPlace,arrayFlatten,arrayIntersection,arrayIsEqual,arrayMax,arrayMin,arrayMinus,arrayRandomElement,arrayRemoveElement,arraySetElement,arrayShuffle,arrayShuffleForce,arrayShuffleInPlace,arraySorted,arraySortedNumbers,arraySymmetricDifference,arrayToggleInPlace,arrayUnion,arrayUnique,between,callDisposer,cloneObject,cmp,colorString,colorStringList,composeOrderby,createArray,createMutex,createPromiseProxy,csv,currency,day,debounce,decodeBase16,decodeBase32,decodeBase58,decodeBase62,decodeBase64,decrypt,deepEqual,deepMerge,deriveKeyPbkdf2,detect,digest,empty,encodeBase16,encodeBase32,encodeBase58,encodeBase62,encodeBase64,encodeQuery,encrypt,endSortWeight,equalBinary,escapeHTML,escapeRegExp,fakeWorkerPair,fetchBasic,fetchJson,fetchOptionsFormURLEncoded,fetchOptionsJson,fetchText,fixBrokenUth8String,forEachDay,formatMessages,formatMilliseconds,fromCamelCase,getGlobal,getGlobalContext,getGlobalEmitter,getNamespaceFilterString,getNavigator,getSourceLocation,getSourceLocationByPrecedingPattern,getStack,getStackLlocationList,getTimestamp,getWindow,immediate,isBrowser,isEven,isHalf,isLocalHost,isObject,isPrimitive,isPromise,isTTY,isTimeout,jsonStringify,jsonToUint8Array,last,lazyListener,linkifyPlainText,loggerStackTraceDebug,messages,moveSortWeight,parseDate,parseOrderby,parseQuery,platform,promisify,qid,randomBoolean,randomFloat,randomInt,randomUint8Array,renderMessages,roundDown,roundHalfAwayFromZero,roundHalfDown,roundHalfEven,roundHalfOdd,roundHalfTowardsZero,roundHalfUp,roundUp,setupEnv,size,sleep,sortedItems,sortedOrderby,startSortWeight,stringToBoolean,stringToFloat,stringToInteger,stringToPath,stringToUInt8Array,suid,suidBytes,suidBytesDate,suidDate,throttle,throttleAnimationFrame,timeout,timeoutReached,timoutError,toBase64,toBase64Url,toBool,toCamelCase,toCapitalize,toCapitalizeWords,toFloat,toHex,toHumanReadableUrl,toInt,toPath,toString,toUint8Array,toValidFilename,today,tryTimeout,uname,unescapeHTML,useBase,useDisposer,useEventListener,useExitHandler,useInterval,useLevelFilter,useMessageHub,useNamespaceFilter,usePool,usePubSub,useTimeout,uuid,uuidB32,uuidBytes,uuidv4,valueToBoolean,valueToFloat,valueToInteger,valueToPath,valueToString,waitOn});
3
3
  //# sourceMappingURL=index.node.cjs.map