@budibase/backend-core 3.27.2 → 3.27.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +2 -2
- package/dist/src/sql/utils.js +1 -1
- package/dist/src/sql/utils.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
attempted value: ${o}
|
|
4
4
|
`+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,r){let n=e===void 0?e:this.transforms.reduce((i,o)=>o.call(this,i,e,this),e);return n===void 0&&(n=this.getDefault()),n}_validate(e,r={},n){let{sync:i,path:o,from:a=[],originalValue:u=e,strict:c=this.spec.strict,abortEarly:l=this.spec.abortEarly}=r,d=e;c||(d=this._cast(d,ze({assert:!1},r)));let f={value:d,path:o,options:r,originalValue:u,schema:this,label:this.spec.label,sync:i,from:a},h=[];this._typeError&&h.push(this._typeError),this._whitelistError&&h.push(this._whitelistError),this._blacklistError&&h.push(this._blacklistError),(0,Uh.default)({args:f,value:d,path:o,sync:i,tests:h,endEarly:l},p=>{if(p)return void n(p,d);(0,Uh.default)({tests:this.tests,args:f,path:o,sync:i,value:d,endEarly:l},n)})}validate(e,r,n){let i=this.resolve(ze({},r,{value:e}));return typeof n=="function"?i._validate(e,r,n):new Promise((o,a)=>i._validate(e,r,(u,c)=>{u?a(u):o(c)}))}validateSync(e,r){let n=this.resolve(ze({},r,{value:e})),i;return n._validate(e,ze({},r,{sync:!0}),(o,a)=>{if(o)throw o;i=a}),i}isValid(e,r){return this.validate(e,r).then(()=>!0,n=>{if(Mh.default.isError(n))return!1;throw n})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(n){if(Mh.default.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Nh.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=vn.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=vn.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(n){return this.schema._isPresent(n)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=vn.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let n=this.clone(),i=(0,Xo.default)(r),o=r.exclusive||r.name&&n.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(n.exclusiveTests[r.name]=!!r.exclusive),n.tests=n.tests.filter(a=>!(a.OPTIONS.name===r.name&&(o||a.OPTIONS.test===i.OPTIONS.test))),n.tests.push(i),n}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let n=this.clone(),i=(0,HI.default)(e).map(o=>new jI.default(o));return i.forEach(o=>{o.isSibling&&n.deps.push(o.key)}),n.conditions.push(new QI.default(i,r)),n}typeError(e){var r=this.clone();return r._typeError=(0,Xo.default)({message:e,name:"typeError",test(n){return n!==void 0&&!this.schema.isType(n)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=vn.mixed.oneOf){var n=this.clone();return e.forEach(i=>{n._whitelist.add(i),n._blacklist.delete(i)}),n._whitelistError=(0,Xo.default)({message:r,name:"oneOf",test(i){if(i===void 0)return!0;let o=this.schema._whitelist;return o.has(i,this.resolve)?!0:this.createError({params:{values:o.toArray().join(", ")}})}}),n}notOneOf(e,r=vn.mixed.notOneOf){var n=this.clone();return e.forEach(i=>{n._blacklist.add(i),n._whitelist.delete(i)}),n._blacklistError=(0,Xo.default)({message:r,name:"notOneOf",test(i){let o=this.schema._blacklist;return o.has(i,this.resolve)?this.createError({params:{values:o.toArray().join(", ")}}):!0}}),n}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:n}=e.spec;return{meta:n,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(o=>({name:o.OPTIONS.name,params:o.OPTIONS.params})).filter((o,a,u)=>u.findIndex(c=>c.name===o.name)===a)}}};ea.default=ct;ct.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ct.prototype[`${t}At`]=function(e,r,n={}){let{parent:i,parentPath:o,schema:a}=(0,YI.getIn)(this,e,r,n.context);return a[t](i&&i[o],ze({},n,{parent:i,path:e}))};for(let t of["equals","is"])ct.prototype[t]=ct.prototype.oneOf;for(let t of["not","nope"])ct.prototype[t]=ct.prototype.notOneOf;ct.prototype.optional=ct.prototype.notRequired});var Bh=q(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.create=Fh;Vi.default=void 0;var zI=JI(Ut());function JI(t){return t&&t.__esModule?t:{default:t}}s(JI,"_interopRequireDefault");var ll=zI.default,ZI=ll;Vi.default=ZI;function Fh(){return new ll}s(Fh,"create");Fh.prototype=ll.prototype});var Pn=q(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.default=void 0;var XI=s(t=>t==null,"_default");ta.default=XI});var qh=q(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.create=Vh;Ki.default=void 0;var ew=Gh(Ut()),Wh=Pt(),$h=Gh(Pn());function Gh(t){return t&&t.__esModule?t:{default:t}}s(Gh,"_interopRequireDefault");function Vh(){return new qi}s(Vh,"create");var qi=class extends ew.default{static{s(this,"BooleanSchema")}constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Wh.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,$h.default)(r)||r===!0}})}isFalse(e=Wh.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,$h.default)(r)||r===!1}})}};Ki.default=qi;Vh.prototype=qi.prototype});var jh=q(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.create=Qh;ji.default=void 0;var It=Pt(),Lt=Kh(Pn()),tw=Kh(Ut());function Kh(t){return t&&t.__esModule?t:{default:t}}s(Kh,"_interopRequireDefault");var rw=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,nw=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,iw=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,sw=s(t=>(0,Lt.default)(t)||t===t.trim(),"isTrimmed"),ow={}.toString();function Qh(){return new Qi}s(Qh,"create");var Qi=class extends tw.default{static{s(this,"StringSchema")}constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===ow?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=It.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,Lt.default)(n)||n.length===this.resolve(e)}})}min(e,r=It.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lt.default)(n)||n.length>=this.resolve(e)}})}max(e,r=It.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(n){return(0,Lt.default)(n)||n.length<=this.resolve(e)}})}matches(e,r){let n=!1,i,o;return r&&(typeof r=="object"?{excludeEmptyString:n=!1,message:i,name:o}=r:i=r),this.test({name:o||"matches",message:i||It.string.matches,params:{regex:e},test:a=>(0,Lt.default)(a)||a===""&&n||a.search(e)!==-1})}email(e=It.string.email){return this.matches(rw,{name:"email",message:e,excludeEmptyString:!0})}url(e=It.string.url){return this.matches(nw,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=It.string.uuid){return this.matches(iw,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=It.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:sw})}lowercase(e=It.string.lowercase){return this.transform(r=>(0,Lt.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Lt.default)(r)||r===r.toLowerCase()})}uppercase(e=It.string.uppercase){return this.transform(r=>(0,Lt.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Lt.default)(r)||r===r.toUpperCase()})}};ji.default=Qi;Qh.prototype=Qi.prototype});var zh=q(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.create=Hh;Hi.default=void 0;var Fr=Pt(),Br=Yh(Pn()),aw=Yh(Ut());function Yh(t){return t&&t.__esModule?t:{default:t}}s(Yh,"_interopRequireDefault");var uw=s(t=>t!=+t,"isNaN");function Hh(){return new Yi}s(Hh,"create");var Yi=class extends aw.default{static{s(this,"NumberSchema")}constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!uw(e)}min(e,r=Fr.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Br.default)(n)||n>=this.resolve(e)}})}max(e,r=Fr.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Br.default)(n)||n<=this.resolve(e)}})}lessThan(e,r=Fr.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(n){return(0,Br.default)(n)||n<this.resolve(e)}})}moreThan(e,r=Fr.number.moreThan){return this.test({message:r,name:"min",exclusive:!0,params:{more:e},test(n){return(0,Br.default)(n)||n>this.resolve(e)}})}positive(e=Fr.number.positive){return this.moreThan(0,e)}negative(e=Fr.number.negative){return this.lessThan(0,e)}integer(e=Fr.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Br.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Br.default)(e)?e:e|0)}round(e){var r,n=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(n.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(i=>(0,Br.default)(i)?i:Math[e](i))}};Hi.default=Yi;Hh.prototype=Yi.prototype});var Jh=q(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.default=lw;var cw=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function lw(t){var e=[1,4,5,6,7,10,11],r=0,n,i;if(i=cw.exec(t)){for(var o=0,a;a=e[o];++o)i[a]=+i[a]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,i[7]=i[7]?String(i[7]).substr(0,3):0,(i[8]===void 0||i[8]==="")&&(i[9]===void 0||i[9]==="")?n=+new Date(i[1],i[2],i[3],i[4],i[5],i[6],i[7]):(i[8]!=="Z"&&i[9]!==void 0&&(r=i[10]*60+i[11],i[9]==="+"&&(r=0-r)),n=Date.UTC(i[1],i[2],i[3],i[4],i[5]+r,i[6],i[7]))}else n=Date.parse?Date.parse(t):NaN;return n}s(lw,"parseIsoDate")});var eg=q(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.create=pl;zi.default=void 0;var dw=ra(Jh()),Zh=Pt(),Xh=ra(Pn()),fw=ra(kr()),pw=ra(Ut());function ra(t){return t&&t.__esModule?t:{default:t}}s(ra,"_interopRequireDefault");var fl=new Date(""),mw=s(t=>Object.prototype.toString.call(t)==="[object Date]","isDate");function pl(){return new Nn}s(pl,"create");var Nn=class extends pw.default{static{s(this,"DateSchema")}constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,dw.default)(e),isNaN(e)?fl:new Date(e))})})}_typeCheck(e){return mw(e)&&!isNaN(e.getTime())}prepareParam(e,r){let n;if(fw.default.isRef(e))n=e;else{let i=this.cast(e);if(!this._typeCheck(i))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);n=i}return n}min(e,r=Zh.date.min){let n=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Xh.default)(i)||i>=this.resolve(n)}})}max(e,r=Zh.date.max){var n=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Xh.default)(i)||i<=this.resolve(n)}})}};zi.default=Nn;Nn.INVALID_DATE=fl;pl.prototype=Nn.prototype;pl.INVALID_DATE=fl});var rg=q((KF,ml)=>{"use strict";ml.exports=function(t){return tg(hw(t),t)};ml.exports.array=tg;function tg(t,e){var r=t.length,n=new Array(r),i={},o=r,a=gw(e),u=Ew(t);for(e.forEach(function(l){if(!u.has(l[0])||!u.has(l[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});o--;)i[o]||c(t[o],o,new Set);return n;function c(l,d,f){if(f.has(l)){var h;try{h=", node was:"+JSON.stringify(l)}catch{h=""}throw new Error("Cyclic dependency"+h)}if(!u.has(l))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(l));if(!i[d]){i[d]=!0;var p=a.get(l)||new Set;if(p=Array.from(p),d=p.length){f.add(l);do{var S=p[--d];c(S,u.get(S),f)}while(d);f.delete(l)}n[--r]=l}}}s(tg,"toposort");function hw(t){for(var e=new Set,r=0,n=t.length;r<n;r++){var i=t[r];e.add(i[0]),e.add(i[1])}return Array.from(e)}s(hw,"uniqueNodes");function gw(t){for(var e=new Map,r=0,n=t.length;r<n;r++){var i=t[r];e.has(i[0])||e.set(i[0],new Set),e.has(i[1])||e.set(i[1],new Set),e.get(i[0]).add(i[1])}return e}s(gw,"makeOutgoingEdges");function Ew(t){for(var e=new Map,r=0,n=t.length;r<n;r++)e.set(t[r],r);return e}s(Ew,"makeNodesHash")});var ng=q(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});hl.default=Ow;var yw=na(require("lodash/has")),Tw=na(rg()),Sw=Bi(),Aw=na(kr()),_w=na(xn());function na(t){return t&&t.__esModule?t:{default:t}}s(na,"_interopRequireDefault");function Ow(t,e=[]){let r=[],n=[];function i(o,a){var u=(0,Sw.split)(o)[0];~n.indexOf(u)||n.push(u),~e.indexOf(`${a}-${u}`)||r.push([a,u])}s(i,"addNode");for(let o in t)if((0,yw.default)(t,o)){let a=t[o];~n.indexOf(o)||n.push(o),Aw.default.isRef(a)&&a.isSibling?i(a.path,o):(0,_w.default)(a)&&"deps"in a&&a.deps.forEach(u=>i(u,o))}return Tw.default.array(n,r).reverse()}s(Ow,"sortFields")});var sg=q(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.default=Iw;function ig(t,e){let r=1/0;return t.some((n,i)=>{var o;if(((o=e.path)==null?void 0:o.indexOf(n))!==-1)return r=i,!0}),r}s(ig,"findIndex");function Iw(t){return(e,r)=>ig(t,e)-ig(t,r)}s(Iw,"sortByKeyOrder")});var fg=q(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.create=dg;Zi.default=void 0;var og=wt(require("lodash/has")),ag=wt(require("lodash/snakeCase")),ww=wt(require("lodash/camelCase")),Dw=wt(require("lodash/mapKeys")),Rw=wt(require("lodash/mapValues")),Cw=Bi(),ug=Pt(),bw=wt(ng()),lg=wt(sg()),xw=wt(Yo()),vw=wt(Lr()),El=wt(Ut());function wt(t){return t&&t.__esModule?t:{default:t}}s(wt,"_interopRequireDefault");function Un(){return Un=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Un.apply(this,arguments)}s(Un,"_extends");var cg=s(t=>Object.prototype.toString.call(t)==="[object Object]","isObject");function Pw(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(n=>r.indexOf(n)===-1)}s(Pw,"unknown");var Nw=(0,lg.default)([]),Ji=class extends El.default{static{s(this,"ObjectSchema")}constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=Nw,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(s(function(n){if(typeof n=="string")try{n=JSON.parse(n)}catch{n=null}return this.isType(n)?n:null},"coerce")),e&&this.shape(e)})}_typeCheck(e){return cg(e)||typeof e=="function"}_cast(e,r={}){var n;let i=super._cast(e,r);if(i===void 0)return this.getDefault();if(!this._typeCheck(i))return i;let o=this.fields,a=(n=r.stripUnknown)!=null?n:this.spec.noUnknown,u=this._nodes.concat(Object.keys(i).filter(f=>this._nodes.indexOf(f)===-1)),c={},l=Un({},r,{parent:c,__validating:r.__validating||!1}),d=!1;for(let f of u){let h=o[f],p=(0,og.default)(i,f);if(h){let S,m=i[f];l.path=(r.path?`${r.path}.`:"")+f,h=h.resolve({value:m,context:r.context,parent:c});let E="spec"in h?h.spec:void 0,y=E?.strict;if(E?.strip){d=d||f in i;continue}S=!r.__validating||!y?h.cast(i[f],l):i[f],S!==void 0&&(c[f]=S)}else p&&!a&&(c[f]=i[f]);c[f]!==i[f]&&(d=!0)}return d?c:i}_validate(e,r={},n){let i=[],{sync:o,from:a=[],originalValue:u=e,abortEarly:c=this.spec.abortEarly,recursive:l=this.spec.recursive}=r;a=[{schema:this,value:u},...a],r.__validating=!0,r.originalValue=u,r.from=a,super._validate(e,r,(d,f)=>{if(d){if(!vw.default.isError(d)||c)return void n(d,f);i.push(d)}if(!l||!cg(f)){n(i[0]||null,f);return}u=u||f;let h=this._nodes.map(p=>(S,m)=>{let E=p.indexOf(".")===-1?(r.path?`${r.path}.`:"")+p:`${r.path||""}["${p}"]`,y=this.fields[p];if(y&&"validate"in y){y.validate(f[p],Un({},r,{path:E,from:a,strict:!0,parent:f,originalValue:u[p]}),m);return}m(null)});(0,xw.default)({sync:o,tests:h,value:f,errors:i,endEarly:c,sort:this._sortErrors,path:r.path},n)})}clone(e){let r=super.clone(e);return r.fields=Un({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),n=r.fields;for(let[i,o]of Object.entries(this.fields)){let a=n[i];a===void 0?n[i]=o:a instanceof El.default&&o instanceof El.default&&(n[i]=o.concat(a))}return r.withMutation(()=>r.shape(n))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let n=this.fields[r];e[r]="default"in n?n.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let n=this.clone(),i=Object.assign(n.fields,e);if(n.fields=i,n._sortErrors=(0,lg.default)(Object.keys(i)),r.length){Array.isArray(r[0])||(r=[r]);let o=r.map(([a,u])=>`${a}-${u}`);n._excludedEdges=n._excludedEdges.concat(o)}return n._nodes=(0,bw.default)(i,n._excludedEdges),n}pick(e){let r={};for(let n of e)this.fields[n]&&(r[n]=this.fields[n]);return this.clone().withMutation(n=>(n.fields={},n.shape(r)))}omit(e){let r=this.clone(),n=r.fields;r.fields={};for(let i of e)delete n[i];return r.withMutation(()=>r.shape(n))}from(e,r,n){let i=(0,Cw.getter)(e,!0);return this.transform(o=>{if(o==null)return o;let a=o;return(0,og.default)(o,e)&&(a=Un({},o),n||delete a[e],a[r]=i(o)),a})}noUnknown(e=!0,r=ug.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:r,test(i){if(i==null)return!0;let o=Pw(this.schema,i);return!e||o.length===0||this.createError({params:{unknown:o.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,r=ug.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,Dw.default)(r,(n,i)=>e(i)))}camelCase(){return this.transformKeys(ww.default)}snakeCase(){return this.transformKeys(ag.default)}constantCase(){return this.transformKeys(e=>(0,ag.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Rw.default)(this.fields,r=>r.describe()),e}};Zi.default=Ji;function dg(t){return new Ji(t)}s(dg,"create");dg.prototype=Ji.prototype});var mg=q(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.create=pg;es.default=void 0;var yl=Ln(Pn()),Uw=Ln(xn()),Lw=Ln(Fi()),Tl=Pt(),Mw=Ln(Yo()),kw=Ln(Lr()),Fw=Ln(Ut());function Ln(t){return t&&t.__esModule?t:{default:t}}s(Ln,"_interopRequireDefault");function ia(){return ia=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ia.apply(this,arguments)}s(ia,"_extends");function pg(t){return new Xi(t)}s(pg,"create");var Xi=class extends Fw.default{static{s(this,"ArraySchema")}constructor(e){super({type:"array"}),this.innerType=e,this.withMutation(()=>{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let n=super._cast(e,r);if(!this._typeCheck(n)||!this.innerType)return n;let i=!1,o=n.map((a,u)=>{let c=this.innerType.cast(a,ia({},r,{path:`${r.path||""}[${u}]`}));return c!==a&&(i=!0),c});return i?o:n}_validate(e,r={},n){var i,o;let a=[],u=r.sync,c=r.path,l=this.innerType,d=(i=r.abortEarly)!=null?i:this.spec.abortEarly,f=(o=r.recursive)!=null?o:this.spec.recursive,h=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(p,S)=>{if(p){if(!kw.default.isError(p)||d)return void n(p,S);a.push(p)}if(!f||!l||!this._typeCheck(S)){n(a[0]||null,S);return}h=h||S;let m=new Array(S.length);for(let E=0;E<S.length;E++){let y=S[E],I=`${r.path||""}[${E}]`,_=ia({},r,{path:I,strict:!0,parent:S,index:E,originalValue:h[E]});m[E]=(D,T)=>l.validate(y,_,T)}(0,Mw.default)({sync:u,path:c,value:S,errors:a,endEarly:d,tests:m},n)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,Uw.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,Lw.default)(e));return r.innerType=e,r}length(e,r=Tl.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,yl.default)(n)||n.length===this.resolve(e)}})}min(e,r){return r=r||Tl.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,yl.default)(n)||n.length>=this.resolve(e)}})}max(e,r){return r=r||Tl.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,yl.default)(n)||n.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(n,i,o)=>!e(n,i,o):n=>!!n;return this.transform(n=>n!=null?n.filter(r):n)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};es.default=Xi;pg.prototype=Xi.prototype});var hg=q(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.create=$w;ts.default=void 0;var Bw=Ww(xn());function Ww(t){return t&&t.__esModule?t:{default:t}}s(Ww,"_interopRequireDefault");function $w(t){return new sa(t)}s($w,"create");var sa=class{static{s(this,"Lazy")}constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,n={})=>{let i=this.builder(r,n);if(!(0,Bw.default)(i))throw new TypeError("lazy() functions must return a valid schema");return i.resolve(n)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,n){return this._resolve(e,r).validate(e,r,n)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,n){return this._resolve(r,n).validateAt(e,r,n)}validateSyncAt(e,r,n){return this._resolve(r,n).validateSyncAt(e,r,n)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},Gw=sa;ts.default=Gw});var gg=q(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});Sl.default=Kw;var Vw=qw(Pt());function qw(t){return t&&t.__esModule?t:{default:t}}s(qw,"_interopRequireDefault");function Kw(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{Vw.default[e][r]=t[e][r]})})}s(Kw,"setLocale")});var _l=q(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.addMethod=Zw;Object.defineProperty(re,"MixedSchema",{enumerable:!0,get:function(){return Eg.default}});Object.defineProperty(re,"mixed",{enumerable:!0,get:function(){return Eg.create}});Object.defineProperty(re,"BooleanSchema",{enumerable:!0,get:function(){return Al.default}});Object.defineProperty(re,"bool",{enumerable:!0,get:function(){return Al.create}});Object.defineProperty(re,"boolean",{enumerable:!0,get:function(){return Al.create}});Object.defineProperty(re,"StringSchema",{enumerable:!0,get:function(){return yg.default}});Object.defineProperty(re,"string",{enumerable:!0,get:function(){return yg.create}});Object.defineProperty(re,"NumberSchema",{enumerable:!0,get:function(){return Tg.default}});Object.defineProperty(re,"number",{enumerable:!0,get:function(){return Tg.create}});Object.defineProperty(re,"DateSchema",{enumerable:!0,get:function(){return Sg.default}});Object.defineProperty(re,"date",{enumerable:!0,get:function(){return Sg.create}});Object.defineProperty(re,"ObjectSchema",{enumerable:!0,get:function(){return Ag.default}});Object.defineProperty(re,"object",{enumerable:!0,get:function(){return Ag.create}});Object.defineProperty(re,"ArraySchema",{enumerable:!0,get:function(){return _g.default}});Object.defineProperty(re,"array",{enumerable:!0,get:function(){return _g.create}});Object.defineProperty(re,"ref",{enumerable:!0,get:function(){return Qw.create}});Object.defineProperty(re,"lazy",{enumerable:!0,get:function(){return jw.create}});Object.defineProperty(re,"ValidationError",{enumerable:!0,get:function(){return Yw.default}});Object.defineProperty(re,"reach",{enumerable:!0,get:function(){return Hw.default}});Object.defineProperty(re,"isSchema",{enumerable:!0,get:function(){return Og.default}});Object.defineProperty(re,"setLocale",{enumerable:!0,get:function(){return zw.default}});Object.defineProperty(re,"BaseSchema",{enumerable:!0,get:function(){return Jw.default}});var Eg=Wr(Bh()),Al=Wr(qh()),yg=Wr(jh()),Tg=Wr(zh()),Sg=Wr(eg()),Ag=Wr(fg()),_g=Wr(mg()),Qw=kr(),jw=hg(),Yw=rs(Lr()),Hw=rs(ul()),Og=rs(xn()),zw=rs(gg()),Jw=rs(Ut());function rs(t){return t&&t.__esModule?t:{default:t}}s(rs,"_interopRequireDefault");function Ig(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Ig=s(function(){return t},"_getRequireWildcardCache"),t}s(Ig,"_getRequireWildcardCache");function Wr(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Ig();if(e&&e.has(t))return e.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=n?Object.getOwnPropertyDescriptor(t,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=t[i]}return r.default=t,e&&e.set(t,r),r}s(Wr,"_interopRequireWildcard");function Zw(t,e,r){if(!t||!(0,Og.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}s(Zw,"addMethod")});var wg=q(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});var Ol=wl();Il.default=()=>{(0,Ol.registerOptionPreset)("npm-node-cron",{presetId:"npm-node-cron",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:0,maxValue:11},daysOfWeek:{minValue:0,maxValue:6},years:{minValue:1970,maxValue:2099}}),(0,Ol.registerOptionPreset)("aws-cloud-watch",{presetId:"aws-cloud-watch",useSeconds:!1,useYears:!0,useAliases:!0,useBlankDay:!0,allowOnlyOneBlankDayField:!0,mustHaveBlankDayField:!0,useLastDayOfMonth:!0,useLastDayOfWeek:!0,useNearestWeekday:!0,useNthWeekdayOfMonth:!0,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:1,maxValue:7},years:{minValue:1970,maxValue:2199}}),(0,Ol.registerOptionPreset)("npm-cron-schedule",{presetId:"npm-cron-schedule",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}})}});var wl=q(Ae=>{"use strict";var Xw=Ae&&Ae.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),eD=Ae&&Ae.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),tD=Ae&&Ae.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Xw(e,t,r);return eD(e,t),e},rD=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.validateOptions=Ae.registerOptionPreset=Ae.getOptionPresets=Ae.getOptionPreset=void 0;var b=tD(_l());_l();var ns=at(),nD=rD(wg());ut();var $r={default:{presetId:"default",useSeconds:!1,useYears:!1,useAliases:!1,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:0,maxValue:31},months:{minValue:0,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}}},Dg=b.object({presetId:b.string().required(),useSeconds:b.boolean().required(),useYears:b.boolean().required(),useAliases:b.boolean(),useBlankDay:b.boolean().required(),allowOnlyOneBlankDayField:b.boolean().required(),mustHaveBlankDayField:b.boolean(),useLastDayOfMonth:b.boolean(),useLastDayOfWeek:b.boolean(),useNearestWeekday:b.boolean(),useNthWeekdayOfMonth:b.boolean(),seconds:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),minutes:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),hours:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),daysOfMonth:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),months:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),daysOfWeek:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),years:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required()}).required(),iD=s(t=>$r[t]?(0,ns.valid)($r[t]):(0,ns.err)(`Option preset '${t}' not found.`),"getOptionPreset");Ae.getOptionPreset=iD;var sD=s(()=>$r,"getOptionPresets");Ae.getOptionPresets=sD;var oD=s((t,e)=>{$r[t]=Dg.validateSync(e,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0})},"registerOptionPreset");Ae.registerOptionPreset=oD;var aD=s(t=>{var e,r,n,i,o,a,u,c,l,d,f,h,p,S,m,E,y,I,_,D;try{(0,nD.default)();let T;if(t.preset)if(typeof t.preset=="string"){if(!$r[t.preset])return(0,ns.err)([`Option preset ${t.preset} does not exist.`]);T=$r[t.preset]}else T=t.preset;else T=$r.default;let O=Object.assign(Object.assign({presetId:T.presetId,preset:T},{useSeconds:T.useSeconds,useYears:T.useYears,useAliases:(e=T.useAliases)!==null&&e!==void 0?e:!1,useBlankDay:T.useBlankDay,allowOnlyOneBlankDayField:T.allowOnlyOneBlankDayField,mustHaveBlankDayField:(r=T.mustHaveBlankDayField)!==null&&r!==void 0?r:!1,useLastDayOfMonth:(n=T.useLastDayOfMonth)!==null&&n!==void 0?n:!1,useLastDayOfWeek:(i=T.useLastDayOfWeek)!==null&&i!==void 0?i:!1,useNearestWeekday:(o=T.useNearestWeekday)!==null&&o!==void 0?o:!1,useNthWeekdayOfMonth:(a=T.useNthWeekdayOfMonth)!==null&&a!==void 0?a:!1,seconds:{lowerLimit:(u=T.seconds.lowerLimit)!==null&&u!==void 0?u:T.seconds.minValue,upperLimit:(c=T.seconds.upperLimit)!==null&&c!==void 0?c:T.seconds.maxValue},minutes:{lowerLimit:(l=T.minutes.lowerLimit)!==null&&l!==void 0?l:T.minutes.minValue,upperLimit:(d=T.minutes.upperLimit)!==null&&d!==void 0?d:T.minutes.maxValue},hours:{lowerLimit:(f=T.hours.lowerLimit)!==null&&f!==void 0?f:T.hours.minValue,upperLimit:(h=T.hours.upperLimit)!==null&&h!==void 0?h:T.hours.maxValue},daysOfMonth:{lowerLimit:(p=T.daysOfMonth.lowerLimit)!==null&&p!==void 0?p:T.daysOfMonth.minValue,upperLimit:(S=T.daysOfMonth.upperLimit)!==null&&S!==void 0?S:T.daysOfMonth.maxValue},months:{lowerLimit:(m=T.months.lowerLimit)!==null&&m!==void 0?m:T.months.minValue,upperLimit:(E=T.months.upperLimit)!==null&&E!==void 0?E:T.months.maxValue},daysOfWeek:{lowerLimit:(y=T.daysOfWeek.lowerLimit)!==null&&y!==void 0?y:T.daysOfWeek.minValue,upperLimit:(I=T.daysOfWeek.upperLimit)!==null&&I!==void 0?I:T.daysOfWeek.maxValue},years:{lowerLimit:(_=T.years.lowerLimit)!==null&&_!==void 0?_:T.years.minValue,upperLimit:(D=T.years.upperLimit)!==null&&D!==void 0?D:T.years.maxValue}}),t.override),R=b.object({presetId:b.string().required(),preset:Dg.required(),useSeconds:b.boolean().required(),useYears:b.boolean().required(),useAliases:b.boolean(),useBlankDay:b.boolean().required(),allowOnlyOneBlankDayField:b.boolean().required(),mustHaveBlankDayField:b.boolean(),useLastDayOfMonth:b.boolean(),useLastDayOfWeek:b.boolean(),useNearestWeekday:b.boolean(),useNthWeekdayOfMonth:b.boolean(),seconds:b.object({lowerLimit:b.number().min(T.seconds.minValue).max(T.seconds.maxValue),upperLimit:b.number().min(T.seconds.minValue).max(T.seconds.maxValue)}).required(),minutes:b.object({lowerLimit:b.number().min(T.minutes.minValue).max(T.minutes.maxValue),upperLimit:b.number().min(T.minutes.minValue).max(T.minutes.maxValue)}).required(),hours:b.object({lowerLimit:b.number().min(T.hours.minValue).max(T.hours.maxValue),upperLimit:b.number().min(T.hours.minValue).max(T.hours.maxValue)}).required(),daysOfMonth:b.object({lowerLimit:b.number().min(T.daysOfMonth.minValue).max(T.daysOfMonth.maxValue),upperLimit:b.number().min(T.daysOfMonth.minValue).max(T.daysOfMonth.maxValue)}).required(),months:b.object({lowerLimit:b.number().min(T.months.minValue).max(T.months.maxValue),upperLimit:b.number().min(T.months.minValue).max(T.months.maxValue)}).required(),daysOfWeek:b.object({lowerLimit:b.number().min(T.daysOfWeek.minValue).max(T.daysOfWeek.maxValue),upperLimit:b.number().min(T.daysOfWeek.minValue).max(T.daysOfWeek.maxValue)}).required(),years:b.object({lowerLimit:b.number().min(T.years.minValue).max(T.years.maxValue),upperLimit:b.number().min(T.years.minValue).max(T.years.maxValue)}).required()}).required().validateSync(O,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0});return(0,ns.valid)(R)}catch(T){return(0,ns.err)(T.errors)}},"validateOptions");Ae.validateOptions=aD});var Ot=q((is,Rl)=>{"use strict";var Vr=is&&is.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(is,"__esModule",{value:!0});var Gr=at(),uD=Vr(th()),cD=Vr(rh()),lD=Vr(nh()),dD=Vr(ih()),fD=Vr(sh()),pD=Vr(oh()),mD=Vr(ah()),hD=wl();ut();var gD=s((t,e)=>{let r=t.trim().split(" ");if(e.useSeconds&&e.useYears&&r.length!==7)return(0,Gr.err)(`Expected 7 values, but got ${r.length}.`);if((e.useSeconds&&!e.useYears||e.useYears&&!e.useSeconds)&&r.length!==6)return(0,Gr.err)(`Expected 6 values, but got ${r.length}.`);if(!e.useSeconds&&!e.useYears&&r.length!==5)return(0,Gr.err)(`Expected 5 values, but got ${r.length}.`);let n={seconds:e.useSeconds?r[0]:void 0,minutes:r[e.useSeconds?1:0],hours:r[e.useSeconds?2:1],daysOfMonth:r[e.useSeconds?3:2],months:r[e.useSeconds?4:3],daysOfWeek:r[e.useSeconds?5:4],years:e.useYears?r[e.useSeconds?6:5]:void 0};return(0,Gr.valid)(n)},"splitCronString"),Dl=s((t,e={})=>{let r=(0,hD.validateOptions)(e);if(r.isError())return r;let n=r.getValue(),i=gD(t,n);if(i.isError())return(0,Gr.err)([`${i.getError()} (Input cron: '${t}')`]);let o=i.getValue(),a=[];if(n.useSeconds&&a.push((0,uD.default)(o,n)),a.push((0,cD.default)(o,n)),a.push((0,lD.default)(o,n)),a.push((0,dD.default)(o,n)),a.push((0,fD.default)(o,n)),a.push((0,pD.default)(o,n)),n.useYears&&a.push((0,mD.default)(o,n)),a.every(c=>c.isValid()))return(0,Gr.valid)(o);let u=[];return a.forEach(c=>{c.isError()&&c.getError().forEach(l=>{u.push(l)})}),u.forEach((c,l)=>{u[l]=`${c} (Input cron: '${t}')`}),(0,Gr.err)(u)},"cron");is.default=Dl;Rl.exports=Dl;Rl.exports.default=Dl});var ry=q(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var kt=class extends Error{static{s(this,"LuxonError")}},kl=class extends kt{static{s(this,"InvalidDateTimeError")}constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},Fl=class extends kt{static{s(this,"InvalidIntervalError")}constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},Bl=class extends kt{static{s(this,"InvalidDurationError")}constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},or=class extends kt{static{s(this,"ConflictingSpecificationError")}},pa=class extends kt{static{s(this,"InvalidUnitError")}constructor(e){super(`Invalid unit ${e}`)}},_e=class extends kt{static{s(this,"InvalidArgumentError")}},Dt=class extends kt{static{s(this,"ZoneIsAbstractError")}constructor(){super("Zone is an abstract class")}},v="numeric",ft="short",qe="long",ma={year:v,month:v,day:v},nE={year:v,month:ft,day:v},ED={year:v,month:ft,day:v,weekday:ft},iE={year:v,month:qe,day:v},sE={year:v,month:qe,day:v,weekday:qe},oE={hour:v,minute:v},aE={hour:v,minute:v,second:v},uE={hour:v,minute:v,second:v,timeZoneName:ft},cE={hour:v,minute:v,second:v,timeZoneName:qe},lE={hour:v,minute:v,hourCycle:"h23"},dE={hour:v,minute:v,second:v,hourCycle:"h23"},fE={hour:v,minute:v,second:v,hourCycle:"h23",timeZoneName:ft},pE={hour:v,minute:v,second:v,hourCycle:"h23",timeZoneName:qe},mE={year:v,month:v,day:v,hour:v,minute:v},hE={year:v,month:v,day:v,hour:v,minute:v,second:v},gE={year:v,month:ft,day:v,hour:v,minute:v},EE={year:v,month:ft,day:v,hour:v,minute:v,second:v},yD={year:v,month:ft,day:v,weekday:ft,hour:v,minute:v},yE={year:v,month:qe,day:v,hour:v,minute:v,timeZoneName:ft},TE={year:v,month:qe,day:v,hour:v,minute:v,second:v,timeZoneName:ft},SE={year:v,month:qe,day:v,weekday:qe,hour:v,minute:v,timeZoneName:qe},AE={year:v,month:qe,day:v,weekday:qe,hour:v,minute:v,second:v,timeZoneName:qe},ur=class{static{s(this,"Zone")}get type(){throw new Dt}get name(){throw new Dt}get ianaName(){return this.name}get isUniversal(){throw new Dt}offsetName(e,r){throw new Dt}formatOffset(e,r){throw new Dt}offset(e){throw new Dt}equals(e){throw new Dt}get isValid(){throw new Dt}},Cl=null,ls=class t extends ur{static{s(this,"SystemZone")}static get instance(){return Cl===null&&(Cl=new t),Cl}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return PE(e,r,n)}formatOffset(e,r){return cs(this.offset(e),r)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},Wl=new Map;function TD(t){let e=Wl.get(t);return e===void 0&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),Wl.set(t,e)),e}s(TD,"makeDTF");var SD={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function AD(t,e){let r=t.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,o,a,u,c,l,d]=n;return[a,i,o,u,c,l,d]}s(AD,"hackyOffset");function _D(t,e){let r=t.formatToParts(e),n=[];for(let i=0;i<r.length;i++){let{type:o,value:a}=r[i],u=SD[o];o==="era"?n[u]=a:Q(u)||(n[u]=parseInt(a,10))}return n}s(_D,"partsOffset");var bl=new Map,Ft=class t extends ur{static{s(this,"IANAZone")}static create(e){let r=bl.get(e);return r===void 0&&bl.set(e,r=new t(e)),r}static resetCache(){bl.clear(),Wl.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=t.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return PE(e,r,n,this.name)}formatOffset(e,r){return cs(this.offset(e),r)}offset(e){if(!this.valid)return NaN;let r=new Date(e);if(isNaN(r))return NaN;let n=TD(this.name),[i,o,a,u,c,l,d]=n.formatToParts?_D(n,r):AD(n,r);u==="BC"&&(i=-Math.abs(i)+1);let h=Aa({year:i,month:o,day:a,hour:c===24?0:c,minute:l,second:d,millisecond:0}),p=+r,S=p%1e3;return p-=S>=0?S:1e3+S,(h-p)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},Rg={};function OD(t,e={}){let r=JSON.stringify([t,e]),n=Rg[r];return n||(n=new Intl.ListFormat(t,e),Rg[r]=n),n}s(OD,"getCachedLF");var $l=new Map;function Gl(t,e={}){let r=JSON.stringify([t,e]),n=$l.get(r);return n===void 0&&(n=new Intl.DateTimeFormat(t,e),$l.set(r,n)),n}s(Gl,"getCachedDTF");var Vl=new Map;function ID(t,e={}){let r=JSON.stringify([t,e]),n=Vl.get(r);return n===void 0&&(n=new Intl.NumberFormat(t,e),Vl.set(r,n)),n}s(ID,"getCachedINF");var ql=new Map;function wD(t,e={}){let{base:r,...n}=e,i=JSON.stringify([t,n]),o=ql.get(i);return o===void 0&&(o=new Intl.RelativeTimeFormat(t,e),ql.set(i,o)),o}s(wD,"getCachedRTF");var os=null;function DD(){return os||(os=new Intl.DateTimeFormat().resolvedOptions().locale,os)}s(DD,"systemLocale");var Kl=new Map;function _E(t){let e=Kl.get(t);return e===void 0&&(e=new Intl.DateTimeFormat(t).resolvedOptions(),Kl.set(t,e)),e}s(_E,"getCachedIntResolvedOptions");var Ql=new Map;function RD(t){let e=Ql.get(t);if(!e){let r=new Intl.Locale(t);e="getWeekInfo"in r?r.getWeekInfo():r.weekInfo,"minimalDays"in e||(e={...OE,...e}),Ql.set(t,e)}return e}s(RD,"getCachedWeekInfo");function CD(t){let e=t.indexOf("-x-");e!==-1&&(t=t.substring(0,e));let r=t.indexOf("-u-");if(r===-1)return[t];{let n,i;try{n=Gl(t).resolvedOptions(),i=t}catch{let c=t.substring(0,r);n=Gl(c).resolvedOptions(),i=c}let{numberingSystem:o,calendar:a}=n;return[i,o,a]}}s(CD,"parseLocaleString");function bD(t,e,r){return(r||e)&&(t.includes("-u-")||(t+="-u"),r&&(t+=`-ca-${r}`),e&&(t+=`-nu-${e}`)),t}s(bD,"intlConfigString");function xD(t){let e=[];for(let r=1;r<=12;r++){let n=oe.utc(2009,r,1);e.push(t(n))}return e}s(xD,"mapMonths");function vD(t){let e=[];for(let r=1;r<=7;r++){let n=oe.utc(2016,11,13+r);e.push(t(n))}return e}s(vD,"mapWeekdays");function oa(t,e,r,n){let i=t.listingMode();return i==="error"?null:i==="en"?r(e):n(e)}s(oa,"listStuff");function PD(t){return t.numberingSystem&&t.numberingSystem!=="latn"?!1:t.numberingSystem==="latn"||!t.locale||t.locale.startsWith("en")||_E(t.locale).numberingSystem==="latn"}s(PD,"supportsFastNumbers");var jl=class{static{s(this,"PolyNumberFormatter")}constructor(e,r,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:i,floor:o,...a}=n;if(!r||Object.keys(a).length>0){let u={useGrouping:!1,...n};n.padTo>0&&(u.minimumIntegerDigits=n.padTo),this.inf=ID(e,u)}}format(e){if(this.inf){let r=this.floor?Math.floor(e):e;return this.inf.format(r)}else{let r=this.floor?Math.floor(e):id(e,3);return pe(r,this.padTo)}}},Yl=class{static{s(this,"PolyDateFormatter")}constructor(e,r,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let a=-1*(e.offset/60),u=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&Ft.create(u).valid?(i=u,this.dt=e):(i="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,i=e.zone.name):(i="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let o={...this.opts};o.timeZone=o.timeZone||i,this.dtf=Gl(r,o)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(r=>{if(r.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...r,value:n}}else return r}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},Hl=class{static{s(this,"PolyRelFormatter")}constructor(e,r,n){this.opts={style:"long",...n},!r&&xE()&&(this.rtf=wD(e,n))}format(e,r){return this.rtf?this.rtf.format(e,r):XD(r,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,r){return this.rtf?this.rtf.formatToParts(e,r):[]}},OE={firstDay:1,minimalDays:4,weekend:[6,7]},te=class t{static{s(this,"Locale")}static fromOpts(e){return t.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,r,n,i,o=!1){let a=e||ne.defaultLocale,u=a||(o?"en-US":DD()),c=r||ne.defaultNumberingSystem,l=n||ne.defaultOutputCalendar,d=Jl(i)||ne.defaultWeekSettings;return new t(u,c,l,d,a)}static resetCache(){os=null,$l.clear(),Vl.clear(),ql.clear(),Kl.clear(),Ql.clear()}static fromObject({locale:e,numberingSystem:r,outputCalendar:n,weekSettings:i}={}){return t.create(e,r,n,i)}constructor(e,r,n,i,o){let[a,u,c]=CD(e);this.locale=a,this.numberingSystem=r||u||null,this.outputCalendar=n||c||null,this.weekSettings=i,this.intl=bD(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=o,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=PD(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),r=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&r?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:t.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,Jl(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,r=!1){return oa(this,e,LE,()=>{let n=this.intl==="ja"||this.intl.startsWith("ja-");r&=!n;let i=r?{month:e,day:"numeric"}:{month:e},o=r?"format":"standalone";if(!this.monthsCache[o][e]){let a=n?u=>this.dtFormatter(u,i).format():u=>this.extract(u,i,"month");this.monthsCache[o][e]=xD(a)}return this.monthsCache[o][e]})}weekdays(e,r=!1){return oa(this,e,FE,()=>{let n=r?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=r?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=vD(o=>this.extract(o,n,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return oa(this,void 0,()=>BE,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[oe.utc(2016,11,13,9),oe.utc(2016,11,13,19)].map(r=>this.extract(r,e,"dayperiod"))}return this.meridiemCache})}eras(e){return oa(this,e,WE,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[oe.utc(-40,1,1),oe.utc(2017,1,1)].map(n=>this.extract(n,r,"era"))),this.eraCache[e]})}extract(e,r,n){let i=this.dtFormatter(e,r),o=i.formatToParts(),a=o.find(u=>u.type.toLowerCase()===n);return a?a.value:null}numberFormatter(e={}){return new jl(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,r={}){return new Yl(e,this.intl,r)}relFormatter(e={}){return new Hl(this.intl,this.isEnglish(),e)}listFormatter(e={}){return OD(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||_E(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:vE()?RD(this.locale):OE}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},xl=null,Ke=class t extends ur{static{s(this,"FixedOffsetZone")}static get utcInstance(){return xl===null&&(xl=new t(0)),xl}static instance(e){return e===0?t.utcInstance:new t(e)}static parseSpecifier(e){if(e){let r=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new t(_a(r[1],r[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${cs(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${cs(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,r){return cs(this.fixed,r)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},ha=class extends ur{static{s(this,"InvalidZone")}constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function sr(t,e){if(Q(t)||t===null)return e;if(t instanceof ur)return t;if(FD(t)){let r=t.toLowerCase();return r==="default"?e:r==="local"||r==="system"?ls.instance:r==="utc"||r==="gmt"?Ke.utcInstance:Ke.parseSpecifier(r)||Ft.create(t)}else return ar(t)?Ke.instance(t):typeof t=="object"&&"offset"in t&&typeof t.offset=="function"?t:new ha(t)}s(sr,"normalizeZone");var ed={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},Cg={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},ND=ed.hanidec.replace(/[\[|\]]/g,"").split("");function UD(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(t[r].search(ed.hanidec)!==-1)e+=ND.indexOf(t[r]);else for(let i in Cg){let[o,a]=Cg[i];n>=o&&n<=a&&(e+=n-o)}}return parseInt(e,10)}else return e}s(UD,"parseDigits");var zl=new Map;function LD(){zl.clear()}s(LD,"resetDigitRegexCache");function lt({numberingSystem:t},e=""){let r=t||"latn",n=zl.get(r);n===void 0&&(n=new Map,zl.set(r,n));let i=n.get(e);return i===void 0&&(i=new RegExp(`${ed[r]}${e}`),n.set(e,i)),i}s(lt,"digitRegex");var bg=s(()=>Date.now(),"now"),xg="system",vg=null,Pg=null,Ng=null,Ug=60,Lg,Mg=null,ne=class{static{s(this,"Settings")}static get now(){return bg}static set now(e){bg=e}static set defaultZone(e){xg=e}static get defaultZone(){return sr(xg,ls.instance)}static get defaultLocale(){return vg}static set defaultLocale(e){vg=e}static get defaultNumberingSystem(){return Pg}static set defaultNumberingSystem(e){Pg=e}static get defaultOutputCalendar(){return Ng}static set defaultOutputCalendar(e){Ng=e}static get defaultWeekSettings(){return Mg}static set defaultWeekSettings(e){Mg=Jl(e)}static get twoDigitCutoffYear(){return Ug}static set twoDigitCutoffYear(e){Ug=e%100}static get throwOnInvalid(){return Lg}static set throwOnInvalid(e){Lg=e}static resetCaches(){te.resetCache(),Ft.resetCache(),oe.resetCache(),LD()}},Ve=class{static{s(this,"Invalid")}constructor(e,r){this.reason=e,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},IE=[0,31,59,90,120,151,181,212,243,273,304,334],wE=[0,31,60,91,121,152,182,213,244,274,305,335];function Ze(t,e){return new Ve("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}s(Ze,"unitOutOfRange");function td(t,e,r){let n=new Date(Date.UTC(t,e-1,r));t<100&&t>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return i===0?7:i}s(td,"dayOfWeek");function DE(t,e,r){return r+(fs(t)?wE:IE)[e-1]}s(DE,"computeOrdinal");function RE(t,e){let r=fs(t)?wE:IE,n=r.findIndex(o=>o<e),i=e-r[n];return{month:n+1,day:i}}s(RE,"uncomputeOrdinal");function rd(t,e){return(t-e+7)%7+1}s(rd,"isoWeekdayToLocal");function ga(t,e=4,r=1){let{year:n,month:i,day:o}=t,a=DE(n,i,o),u=rd(td(n,i,o),r),c=Math.floor((a-u+14-e)/7),l;return c<1?(l=n-1,c=ds(l,e,r)):c>ds(n,e,r)?(l=n+1,c=1):l=n,{weekYear:l,weekNumber:c,weekday:u,...Oa(t)}}s(ga,"gregorianToWeek");function kg(t,e=4,r=1){let{weekYear:n,weekNumber:i,weekday:o}=t,a=rd(td(n,1,e),r),u=Bn(n),c=i*7+o-a-7+e,l;c<1?(l=n-1,c+=Bn(l)):c>u?(l=n+1,c-=Bn(n)):l=n;let{month:d,day:f}=RE(l,c);return{year:l,month:d,day:f,...Oa(t)}}s(kg,"weekToGregorian");function vl(t){let{year:e,month:r,day:n}=t,i=DE(e,r,n);return{year:e,ordinal:i,...Oa(t)}}s(vl,"gregorianToOrdinal");function Fg(t){let{year:e,ordinal:r}=t,{month:n,day:i}=RE(e,r);return{year:e,month:n,day:i,...Oa(t)}}s(Fg,"ordinalToGregorian");function Bg(t,e){if(!Q(t.localWeekday)||!Q(t.localWeekNumber)||!Q(t.localWeekYear)){if(!Q(t.weekday)||!Q(t.weekNumber)||!Q(t.weekYear))throw new or("Cannot mix locale-based week fields with ISO-based week fields");return Q(t.localWeekday)||(t.weekday=t.localWeekday),Q(t.localWeekNumber)||(t.weekNumber=t.localWeekNumber),Q(t.localWeekYear)||(t.weekYear=t.localWeekYear),delete t.localWeekday,delete t.localWeekNumber,delete t.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}s(Bg,"usesLocalWeekValues");function MD(t,e=4,r=1){let n=Sa(t.weekYear),i=Xe(t.weekNumber,1,ds(t.weekYear,e,r)),o=Xe(t.weekday,1,7);return n?i?o?!1:Ze("weekday",t.weekday):Ze("week",t.weekNumber):Ze("weekYear",t.weekYear)}s(MD,"hasInvalidWeekData");function kD(t){let e=Sa(t.year),r=Xe(t.ordinal,1,Bn(t.year));return e?r?!1:Ze("ordinal",t.ordinal):Ze("year",t.year)}s(kD,"hasInvalidOrdinalData");function CE(t){let e=Sa(t.year),r=Xe(t.month,1,12),n=Xe(t.day,1,Ea(t.year,t.month));return e?r?n?!1:Ze("day",t.day):Ze("month",t.month):Ze("year",t.year)}s(CE,"hasInvalidGregorianData");function bE(t){let{hour:e,minute:r,second:n,millisecond:i}=t,o=Xe(e,0,23)||e===24&&r===0&&n===0&&i===0,a=Xe(r,0,59),u=Xe(n,0,59),c=Xe(i,0,999);return o?a?u?c?!1:Ze("millisecond",i):Ze("second",n):Ze("minute",r):Ze("hour",e)}s(bE,"hasInvalidTimeData");function Q(t){return typeof t>"u"}s(Q,"isUndefined");function ar(t){return typeof t=="number"}s(ar,"isNumber");function Sa(t){return typeof t=="number"&&t%1===0}s(Sa,"isInteger");function FD(t){return typeof t=="string"}s(FD,"isString");function BD(t){return Object.prototype.toString.call(t)==="[object Date]"}s(BD,"isDate");function xE(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}s(xE,"hasRelative");function vE(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}s(vE,"hasLocaleWeekInfo");function WD(t){return Array.isArray(t)?t:[t]}s(WD,"maybeArray");function Wg(t,e,r){if(t.length!==0)return t.reduce((n,i)=>{let o=[e(i),i];return n&&r(n[0],o[0])===n[0]?n:o},null)[1]}s(Wg,"bestBy");function $D(t,e){return e.reduce((r,n)=>(r[n]=t[n],r),{})}s($D,"pick");function $n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}s($n,"hasOwnProperty");function Jl(t){if(t==null)return null;if(typeof t!="object")throw new _e("Week settings must be an object");if(!Xe(t.firstDay,1,7)||!Xe(t.minimalDays,1,7)||!Array.isArray(t.weekend)||t.weekend.some(e=>!Xe(e,1,7)))throw new _e("Invalid week settings");return{firstDay:t.firstDay,minimalDays:t.minimalDays,weekend:Array.from(t.weekend)}}s(Jl,"validateWeekSettings");function Xe(t,e,r){return Sa(t)&&t>=e&&t<=r}s(Xe,"integerBetween");function GD(t,e){return t-e*Math.floor(t/e)}s(GD,"floorMod");function pe(t,e=2){let r=t<0,n;return r?n="-"+(""+-t).padStart(e,"0"):n=(""+t).padStart(e,"0"),n}s(pe,"padStart");function ir(t){if(!(Q(t)||t===null||t===""))return parseInt(t,10)}s(ir,"parseInteger");function qr(t){if(!(Q(t)||t===null||t===""))return parseFloat(t)}s(qr,"parseFloating");function nd(t){if(!(Q(t)||t===null||t==="")){let e=parseFloat("0."+t)*1e3;return Math.floor(e)}}s(nd,"parseMillis");function id(t,e,r="round"){let n=10**e;switch(r){case"expand":return t>0?Math.ceil(t*n)/n:Math.floor(t*n)/n;case"trunc":return Math.trunc(t*n)/n;case"round":return Math.round(t*n)/n;case"floor":return Math.floor(t*n)/n;case"ceil":return Math.ceil(t*n)/n;default:throw new RangeError(`Value rounding ${r} is out of range`)}}s(id,"roundTo");function fs(t){return t%4===0&&(t%100!==0||t%400===0)}s(fs,"isLeapYear");function Bn(t){return fs(t)?366:365}s(Bn,"daysInYear");function Ea(t,e){let r=GD(e-1,12)+1,n=t+(e-r)/12;return r===2?fs(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}s(Ea,"daysInMonth");function Aa(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}s(Aa,"objToLocalTS");function $g(t,e,r){return-rd(td(t,1,e),r)+e-1}s($g,"firstWeekOffset");function ds(t,e=4,r=1){let n=$g(t,e,r),i=$g(t+1,e,r);return(Bn(t)-n+i)/7}s(ds,"weeksInWeekYear");function Zl(t){return t>99?t:t>ne.twoDigitCutoffYear?1900+t:2e3+t}s(Zl,"untruncateYear");function PE(t,e,r,n=null){let i=new Date(t),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(o.timeZone=n);let a={timeZoneName:e,...o},u=new Intl.DateTimeFormat(r,a).formatToParts(i).find(c=>c.type.toLowerCase()==="timezonename");return u?u.value:null}s(PE,"parseZoneInfo");function _a(t,e){let r=parseInt(t,10);Number.isNaN(r)&&(r=0);let n=parseInt(e,10)||0,i=r<0||Object.is(r,-0)?-n:n;return r*60+i}s(_a,"signedOffset");function NE(t){let e=Number(t);if(typeof t=="boolean"||t===""||!Number.isFinite(e))throw new _e(`Invalid unit value ${t}`);return e}s(NE,"asNumber");function ya(t,e){let r={};for(let n in t)if($n(t,n)){let i=t[n];if(i==null)continue;r[e(n)]=NE(i)}return r}s(ya,"normalizeObject");function cs(t,e){let r=Math.trunc(Math.abs(t/60)),n=Math.trunc(Math.abs(t%60)),i=t>=0?"+":"-";switch(e){case"short":return`${i}${pe(r,2)}:${pe(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${pe(r,2)}${pe(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}s(cs,"formatOffset");function Oa(t){return $D(t,["hour","minute","second","millisecond"])}s(Oa,"timeObject");var VD=["January","February","March","April","May","June","July","August","September","October","November","December"],UE=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],qD=["J","F","M","A","M","J","J","A","S","O","N","D"];function LE(t){switch(t){case"narrow":return[...qD];case"short":return[...UE];case"long":return[...VD];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}s(LE,"months");var ME=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],kE=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],KD=["M","T","W","T","F","S","S"];function FE(t){switch(t){case"narrow":return[...KD];case"short":return[...kE];case"long":return[...ME];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}s(FE,"weekdays");var BE=["AM","PM"],QD=["Before Christ","Anno Domini"],jD=["BC","AD"],YD=["B","A"];function WE(t){switch(t){case"narrow":return[...YD];case"short":return[...jD];case"long":return[...QD];default:return null}}s(WE,"eras");function HD(t){return BE[t.hour<12?0:1]}s(HD,"meridiemForDateTime");function zD(t,e){return FE(e)[t.weekday-1]}s(zD,"weekdayForDateTime");function JD(t,e){return LE(e)[t.month-1]}s(JD,"monthForDateTime");function ZD(t,e){return WE(e)[t.year<0?0:1]}s(ZD,"eraForDateTime");function XD(t,e,r="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=["hours","minutes","seconds"].indexOf(t)===-1;if(r==="auto"&&o){let f=t==="days";switch(e){case 1:return f?"tomorrow":`next ${i[t][0]}`;case-1:return f?"yesterday":`last ${i[t][0]}`;case 0:return f?"today":`this ${i[t][0]}`}}let a=Object.is(e,-0)||e<0,u=Math.abs(e),c=u===1,l=i[t],d=n?c?l[1]:l[2]||l[1]:c?i[t][0]:t;return a?`${u} ${d} ago`:`in ${u} ${d}`}s(XD,"formatRelativeTime");function Gg(t,e){let r="";for(let n of t)n.literal?r+=n.val:r+=e(n.val);return r}s(Gg,"stringifyTokens");var eR={D:ma,DD:nE,DDD:iE,DDDD:sE,t:oE,tt:aE,ttt:uE,tttt:cE,T:lE,TT:dE,TTT:fE,TTTT:pE,f:mE,ff:gE,fff:yE,ffff:SE,F:hE,FF:EE,FFF:TE,FFFF:AE},Ge=class t{static{s(this,"Formatter")}static create(e,r={}){return new t(e,r)}static parseFormat(e){let r=null,n="",i=!1,o=[];for(let a=0;a<e.length;a++){let u=e.charAt(a);u==="'"?((n.length>0||i)&&o.push({literal:i||/^\s+$/.test(n),val:n===""?"'":n}),r=null,n="",i=!i):i||u===r?n+=u:(n.length>0&&o.push({literal:/^\s+$/.test(n),val:n}),n=u,r=u)}return n.length>0&&o.push({literal:i||/^\s+$/.test(n),val:n}),o}static macroTokenToFormatOpts(e){return eR[e]}constructor(e,r){this.opts=r,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,r){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...r}).format()}dtFormatter(e,r={}){return this.loc.dtFormatter(e,{...this.opts,...r})}formatDateTime(e,r){return this.dtFormatter(e,r).format()}formatDateTimeParts(e,r){return this.dtFormatter(e,r).formatToParts()}formatInterval(e,r){return this.dtFormatter(e.start,r).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,r){return this.dtFormatter(e,r).resolvedOptions()}num(e,r=0,n=void 0){if(this.opts.forceSimple)return pe(e,r);let i={...this.opts};return r>0&&(i.padTo=r),n&&(i.signDisplay=n),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,r){let n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",o=s((p,S)=>this.loc.extract(e,p,S),"string"),a=s(p=>e.isOffsetFixed&&e.offset===0&&p.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,p.format):"","formatOffset"),u=s(()=>n?HD(e):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),"meridiem"),c=s((p,S)=>n?JD(e,p):o(S?{month:p}:{month:p,day:"numeric"},"month"),"month"),l=s((p,S)=>n?zD(e,p):o(S?{weekday:p}:{weekday:p,month:"long",day:"numeric"},"weekday"),"weekday"),d=s(p=>{let S=t.macroTokenToFormatOpts(p);return S?this.formatWithSystemDefault(e,S):p},"maybeMacro"),f=s(p=>n?ZD(e,p):o({era:p},"era"),"era"),h=s(p=>{switch(p){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return u();case"d":return i?o({day:"numeric"},"day"):this.num(e.day);case"dd":return i?o({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return i?o({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return i?o({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return c("short",!0);case"LLLL":return c("long",!0);case"LLLLL":return c("narrow",!0);case"M":return i?o({month:"numeric"},"month"):this.num(e.month);case"MM":return i?o({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return c("short",!1);case"MMMM":return c("long",!1);case"MMMMM":return c("narrow",!1);case"y":return i?o({year:"numeric"},"year"):this.num(e.year);case"yy":return i?o({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return i?o({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return i?o({year:"numeric"},"year"):this.num(e.year,6);case"G":return f("short");case"GG":return f("long");case"GGGGG":return f("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return d(p)}},"tokenToString");return Gg(t.parseFormat(r),h)}formatDurationFromString(e,r){let n=this.opts.signMode==="negativeLargestOnly"?-1:1,i=s(d=>{switch(d[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},"tokenToField"),o=s((d,f)=>h=>{let p=i(h);if(p){let S=f.isNegativeDuration&&p!==f.largestUnit?n:1,m;return this.opts.signMode==="negativeLargestOnly"&&p!==f.largestUnit?m="never":this.opts.signMode==="all"?m="always":m="auto",this.num(d.get(p)*S,h.length,m)}else return h},"tokenToString"),a=t.parseFormat(r),u=a.reduce((d,{literal:f,val:h})=>f?d:d.concat(h),[]),c=e.shiftTo(...u.map(i).filter(d=>d)),l={isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]};return Gg(a,o(c,l))}},$E=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Gn(...t){let e=t.reduce((r,n)=>r+n.source,"");return RegExp(`^${e}$`)}s(Gn,"combineRegexes");function Vn(...t){return e=>t.reduce(([r,n,i],o)=>{let[a,u,c]=o(e,i);return[{...r,...a},u||n,c]},[{},null,1]).slice(0,2)}s(Vn,"combineExtractors");function qn(t,...e){if(t==null)return[null,null];for(let[r,n]of e){let i=r.exec(t);if(i)return n(i)}return[null,null]}s(qn,"parse");function GE(...t){return(e,r)=>{let n={},i;for(i=0;i<t.length;i++)n[t[i]]=ir(e[r+i]);return[n,null,r+i]}}s(GE,"simpleParse");var VE=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,tR=`(?:${VE.source}?(?:\\[(${$E.source})\\])?)?`,sd=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,qE=RegExp(`${sd.source}${tR}`),od=RegExp(`(?:[Tt]${qE.source})?`),rR=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,nR=/(\d{4})-?W(\d\d)(?:-?(\d))?/,iR=/(\d{4})-?(\d{3})/,sR=GE("weekYear","weekNumber","weekDay"),oR=GE("year","ordinal"),aR=/(\d{4})-(\d\d)-(\d\d)/,KE=RegExp(`${sd.source} ?(?:${VE.source}|(${$E.source}))?`),uR=RegExp(`(?: ${KE.source})?`);function Wn(t,e,r){let n=t[e];return Q(n)?r:ir(n)}s(Wn,"int");function cR(t,e){return[{year:Wn(t,e),month:Wn(t,e+1,1),day:Wn(t,e+2,1)},null,e+3]}s(cR,"extractISOYmd");function Kn(t,e){return[{hours:Wn(t,e,0),minutes:Wn(t,e+1,0),seconds:Wn(t,e+2,0),milliseconds:nd(t[e+3])},null,e+4]}s(Kn,"extractISOTime");function ps(t,e){let r=!t[e]&&!t[e+1],n=_a(t[e+1],t[e+2]),i=r?null:Ke.instance(n);return[{},i,e+3]}s(ps,"extractISOOffset");function ms(t,e){let r=t[e]?Ft.create(t[e]):null;return[{},r,e+1]}s(ms,"extractIANAZone");var lR=RegExp(`^T?${sd.source}$`),dR=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function fR(t){let[e,r,n,i,o,a,u,c,l]=t,d=e[0]==="-",f=c&&c[0]==="-",h=s((p,S=!1)=>p!==void 0&&(S||p&&d)?-p:p,"maybeNegate");return[{years:h(qr(r)),months:h(qr(n)),weeks:h(qr(i)),days:h(qr(o)),hours:h(qr(a)),minutes:h(qr(u)),seconds:h(qr(c),c==="-0"),milliseconds:h(nd(l),f)}]}s(fR,"extractISODuration");var pR={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function ad(t,e,r,n,i,o,a){let u={year:e.length===2?Zl(ir(e)):ir(e),month:UE.indexOf(r)+1,day:ir(n),hour:ir(i),minute:ir(o)};return a&&(u.second=ir(a)),t&&(u.weekday=t.length>3?ME.indexOf(t)+1:kE.indexOf(t)+1),u}s(ad,"fromStrings");var mR=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function hR(t){let[,e,r,n,i,o,a,u,c,l,d,f]=t,h=ad(e,i,n,r,o,a,u),p;return c?p=pR[c]:l?p=0:p=_a(d,f),[h,new Ke(p)]}s(hR,"extractRFC2822");function gR(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}s(gR,"preprocessRFC2822");var ER=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,yR=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,TR=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Vg(t){let[,e,r,n,i,o,a,u]=t;return[ad(e,i,n,r,o,a,u),Ke.utcInstance]}s(Vg,"extractRFC1123Or850");function SR(t){let[,e,r,n,i,o,a,u]=t;return[ad(e,u,r,n,i,o,a),Ke.utcInstance]}s(SR,"extractASCII");var AR=Gn(rR,od),_R=Gn(nR,od),OR=Gn(iR,od),IR=Gn(qE),QE=Vn(cR,Kn,ps,ms),wR=Vn(sR,Kn,ps,ms),DR=Vn(oR,Kn,ps,ms),RR=Vn(Kn,ps,ms);function CR(t){return qn(t,[AR,QE],[_R,wR],[OR,DR],[IR,RR])}s(CR,"parseISODate");function bR(t){return qn(gR(t),[mR,hR])}s(bR,"parseRFC2822Date");function xR(t){return qn(t,[ER,Vg],[yR,Vg],[TR,SR])}s(xR,"parseHTTPDate");function vR(t){return qn(t,[dR,fR])}s(vR,"parseISODuration");var PR=Vn(Kn);function NR(t){return qn(t,[lR,PR])}s(NR,"parseISOTimeOnly");var UR=Gn(aR,uR),LR=Gn(KE),MR=Vn(Kn,ps,ms);function kR(t){return qn(t,[UR,QE],[LR,MR])}s(kR,"parseSQL");var qg="Invalid Duration",jE={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},FR={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...jE},Je=146097/400,Mn=146097/4800,BR={years:{quarters:4,months:12,weeks:Je/7,days:Je,hours:Je*24,minutes:Je*24*60,seconds:Je*24*60*60,milliseconds:Je*24*60*60*1e3},quarters:{months:3,weeks:Je/28,days:Je/4,hours:Je*24/4,minutes:Je*24*60/4,seconds:Je*24*60*60/4,milliseconds:Je*24*60*60*1e3/4},months:{weeks:Mn/7,days:Mn,hours:Mn*24,minutes:Mn*24*60,seconds:Mn*24*60*60,milliseconds:Mn*24*60*60*1e3},...jE},Qr=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],WR=Qr.slice(0).reverse();function Mt(t,e,r=!1){let n={values:r?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new Ee(n)}s(Mt,"clone$1");function YE(t,e){var r;let n=(r=e.milliseconds)!=null?r:0;for(let i of WR.slice(1))e[i]&&(n+=e[i]*t[i].milliseconds);return n}s(YE,"durationToMillis");function Kg(t,e){let r=YE(t,e)<0?-1:1;Qr.reduceRight((n,i)=>{if(Q(e[i]))return n;if(n){let o=e[n]*r,a=t[i][n],u=Math.floor(o/a);e[i]+=u*r,e[n]-=u*a*r}return i},null),Qr.reduce((n,i)=>{if(Q(e[i]))return n;if(n){let o=e[n]%1;e[n]-=o,e[i]+=o*t[n][i]}return i},null)}s(Kg,"normalizeValues");function Qg(t){let e={};for(let[r,n]of Object.entries(t))n!==0&&(e[r]=n);return e}s(Qg,"removeZeroes");var Ee=class t{static{s(this,"Duration")}constructor(e){let r=e.conversionAccuracy==="longterm"||!1,n=r?BR:FR;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||te.create(),this.conversionAccuracy=r?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,r){return t.fromObject({milliseconds:e},r)}static fromObject(e,r={}){if(e==null||typeof e!="object")throw new _e(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new t({values:ya(e,t.normalizeUnit),loc:te.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(e){if(ar(e))return t.fromMillis(e);if(t.isDuration(e))return e;if(typeof e=="object")return t.fromObject(e);throw new _e(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,r){let[n]=vR(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,r){let[n]=NR(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Duration is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ne.throwOnInvalid)throw new Bl(n);return new t({invalid:n})}static normalizeUnit(e){let r={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!r)throw new pa(e);return r}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,r={}){let n={...r,floor:r.round!==!1&&r.floor!==!1};return this.isValid?Ge.create(this.loc,n).formatDurationFromString(this,e):qg}toHuman(e={}){if(!this.isValid)return qg;let r=e.showZeros!==!1,n=Qr.map(i=>{let o=this.values[i];return Q(o)||o===0&&!r?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:i.slice(0,-1)}).format(o)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=id(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let r=this.toMillis();return r<0||r>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},oe.fromMillis(r,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?YE(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e),n={};for(let i of Qr)($n(r.values,i)||$n(this.values,i))&&(n[i]=r.get(i)+this.get(i));return Mt(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e);return this.plus(r.negate())}mapUnits(e){if(!this.isValid)return this;let r={};for(let n of Object.keys(this.values))r[n]=NE(e(this.values[n],n));return Mt(this,{values:r},!0)}get(e){return this[t.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let r={...this.values,...ya(e,t.normalizeUnit)};return Mt(this,{values:r})}reconfigure({locale:e,numberingSystem:r,conversionAccuracy:n,matrix:i}={}){let a={loc:this.loc.clone({locale:e,numberingSystem:r}),matrix:i,conversionAccuracy:n};return Mt(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return Kg(this.matrix,e),Mt(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=Qg(this.normalize().shiftToAll().toObject());return Mt(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(a=>t.normalizeUnit(a));let r={},n={},i=this.toObject(),o;for(let a of Qr)if(e.indexOf(a)>=0){o=a;let u=0;for(let l in n)u+=this.matrix[l][a]*n[l],n[l]=0;ar(i[a])&&(u+=i[a]);let c=Math.trunc(u);r[a]=c,n[a]=(u*1e3-c*1e3)/1e3}else ar(i[a])&&(n[a]=i[a]);for(let a in n)n[a]!==0&&(r[o]+=a===o?n[a]:n[a]/this.matrix[o][a]);return Kg(this.matrix,r),Mt(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let r of Object.keys(this.values))e[r]=this.values[r]===0?0:-this.values[r];return Mt(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=Qg(this.values);return Mt(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function r(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}s(r,"eq");for(let n of Qr)if(!r(this.values[n],e.values[n]))return!1;return!0}},kn="Invalid Interval";function $R(t,e){return!t||!t.isValid?Yr.invalid("missing or invalid start"):!e||!e.isValid?Yr.invalid("missing or invalid end"):e<t?Yr.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null}s($R,"validateStartEnd");var Yr=class t{static{s(this,"Interval")}constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Interval is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ne.throwOnInvalid)throw new Fl(n);return new t({invalid:n})}static fromDateTimes(e,r){let n=ss(e),i=ss(r),o=$R(n,i);return o??new t({start:n,end:i})}static after(e,r){let n=Ee.fromDurationLike(r),i=ss(e);return t.fromDateTimes(i,i.plus(n))}static before(e,r){let n=Ee.fromDurationLike(r),i=ss(e);return t.fromDateTimes(i.minus(n),i)}static fromISO(e,r){let[n,i]=(e||"").split("/",2);if(n&&i){let o,a;try{o=oe.fromISO(n,r),a=o.isValid}catch{a=!1}let u,c;try{u=oe.fromISO(i,r),c=u.isValid}catch{c=!1}if(a&&c)return t.fromDateTimes(o,u);if(a){let l=Ee.fromISO(i,r);if(l.isValid)return t.after(o,l)}else if(c){let l=Ee.fromISO(n,r);if(l.isValid)return t.before(u,l)}}return t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",r){if(!this.isValid)return NaN;let n=this.start.startOf(e,r),i;return r!=null&&r.useLocaleWeeks?i=this.end.reconfigure({locale:n.locale}):i=this.end,i=i.startOf(e,r),Math.floor(i.diff(n,e).get(e))+(i.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:r}={}){return this.isValid?t.fromDateTimes(e||this.s,r||this.e):this}splitAt(...e){if(!this.isValid)return[];let r=e.map(ss).filter(a=>this.contains(a)).sort((a,u)=>a.toMillis()-u.toMillis()),n=[],{s:i}=this,o=0;for(;i<this.e;){let a=r[o]||this.e,u=+a>+this.e?this.e:a;n.push(t.fromDateTimes(i,u)),i=u,o+=1}return n}splitBy(e){let r=Ee.fromDurationLike(e);if(!this.isValid||!r.isValid||r.as("milliseconds")===0)return[];let{s:n}=this,i=1,o,a=[];for(;n<this.e;){let u=this.start.plus(r.mapUnits(c=>c*i));o=+u>+this.e?this.e:u,a.push(t.fromDateTimes(n,o)),n=o,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let r=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return r>=n?null:t.fromDateTimes(r,n)}union(e){if(!this.isValid)return this;let r=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return t.fromDateTimes(r,n)}static merge(e){let[r,n]=e.sort((i,o)=>i.s-o.s).reduce(([i,o],a)=>o?o.overlaps(a)||o.abutsStart(a)?[i,o.union(a)]:[i.concat([o]),a]:[i,a],[[],null]);return n&&r.push(n),r}static xor(e){let r=null,n=0,i=[],o=e.map(c=>[{time:c.s,type:"s"},{time:c.e,type:"e"}]),a=Array.prototype.concat(...o),u=a.sort((c,l)=>c.time-l.time);for(let c of u)n+=c.type==="s"?1:-1,n===1?r=c.time:(r&&+r!=+c.time&&i.push(t.fromDateTimes(r,c.time)),r=null);return t.merge(i)}difference(...e){return t.xor([this].concat(e)).map(r=>this.intersection(r)).filter(r=>r&&!r.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:kn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=ma,r={}){return this.isValid?Ge.create(this.s.loc.clone(r),e).formatInterval(this):kn}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:kn}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:kn}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:kn}toFormat(e,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${r}${this.e.toFormat(e)}`:kn}toDuration(e,r){return this.isValid?this.e.diff(this.s,e,r):Ee.invalid(this.invalidReason)}mapEndpoints(e){return t.fromDateTimes(e(this.s),e(this.e))}},jr=class{static{s(this,"Info")}static hasDST(e=ne.defaultZone){let r=oe.now().setZone(e).set({month:12});return!e.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(e){return Ft.isValidZone(e)}static normalizeZone(e){return sr(e,ne.defaultZone)}static getStartOfWeek({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getWeekendDays().slice()}static months(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||te.create(r,n,o)).months(e)}static monthsFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||te.create(r,n,o)).months(e,!0)}static weekdays(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||te.create(r,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||te.create(r,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return te.create(e).meridiems()}static eras(e="short",{locale:r=null}={}){return te.create(r,null,"gregory").eras(e)}static features(){return{relative:xE(),localeWeek:vE()}}};function jg(t,e){let r=s(i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),"utcDayStart"),n=r(e)-r(t);return Math.floor(Ee.fromMillis(n).as("days"))}s(jg,"dayDiff");function GR(t,e,r){let n=[["years",(c,l)=>l.year-c.year],["quarters",(c,l)=>l.quarter-c.quarter+(l.year-c.year)*4],["months",(c,l)=>l.month-c.month+(l.year-c.year)*12],["weeks",(c,l)=>{let d=jg(c,l);return(d-d%7)/7}],["days",jg]],i={},o=t,a,u;for(let[c,l]of n)r.indexOf(c)>=0&&(a=c,i[c]=l(t,e),u=o.plus(i),u>e?(i[c]--,t=o.plus(i),t>e&&(u=t,i[c]--,t=o.plus(i))):t=u);return[t,i,u,a]}s(GR,"highOrderDiffs");function VR(t,e,r,n){let[i,o,a,u]=GR(t,e,r),c=e-i,l=r.filter(f=>["hours","minutes","seconds","milliseconds"].indexOf(f)>=0);l.length===0&&(a<e&&(a=i.plus({[u]:1})),a!==i&&(o[u]=(o[u]||0)+c/(a-i)));let d=Ee.fromObject(o,n);return l.length>0?Ee.fromMillis(c,n).shiftTo(...l).plus(d):d}s(VR,"diff");var qR="missing Intl.DateTimeFormat.formatToParts support";function X(t,e=r=>r){return{regex:t,deser:([r])=>e(UD(r))}}s(X,"intUnit");var KR=String.fromCharCode(160),HE=`[ ${KR}]`,zE=new RegExp(HE,"g");function QR(t){return t.replace(/\./g,"\\.?").replace(zE,HE)}s(QR,"fixListRegex");function Yg(t){return t.replace(/\./g,"").replace(zE," ").toLowerCase()}s(Yg,"stripInsensitivities");function dt(t,e){return t===null?null:{regex:RegExp(t.map(QR).join("|")),deser:([r])=>t.findIndex(n=>Yg(r)===Yg(n))+e}}s(dt,"oneOf");function Hg(t,e){return{regex:t,deser:([,r,n])=>_a(r,n),groups:e}}s(Hg,"offset");function aa(t){return{regex:t,deser:([e])=>e}}s(aa,"simple");function jR(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}s(jR,"escapeToken");function YR(t,e){let r=lt(e),n=lt(e,"{2}"),i=lt(e,"{3}"),o=lt(e,"{4}"),a=lt(e,"{6}"),u=lt(e,"{1,2}"),c=lt(e,"{1,3}"),l=lt(e,"{1,6}"),d=lt(e,"{1,9}"),f=lt(e,"{2,4}"),h=lt(e,"{4,6}"),p=s(E=>({regex:RegExp(jR(E.val)),deser:([y])=>y,literal:!0}),"literal"),m=s(E=>{if(t.literal)return p(E);switch(E.val){case"G":return dt(e.eras("short"),0);case"GG":return dt(e.eras("long"),0);case"y":return X(l);case"yy":return X(f,Zl);case"yyyy":return X(o);case"yyyyy":return X(h);case"yyyyyy":return X(a);case"M":return X(u);case"MM":return X(n);case"MMM":return dt(e.months("short",!0),1);case"MMMM":return dt(e.months("long",!0),1);case"L":return X(u);case"LL":return X(n);case"LLL":return dt(e.months("short",!1),1);case"LLLL":return dt(e.months("long",!1),1);case"d":return X(u);case"dd":return X(n);case"o":return X(c);case"ooo":return X(i);case"HH":return X(n);case"H":return X(u);case"hh":return X(n);case"h":return X(u);case"mm":return X(n);case"m":return X(u);case"q":return X(u);case"qq":return X(n);case"s":return X(u);case"ss":return X(n);case"S":return X(c);case"SSS":return X(i);case"u":return aa(d);case"uu":return aa(u);case"uuu":return X(r);case"a":return dt(e.meridiems(),0);case"kkkk":return X(o);case"kk":return X(f,Zl);case"W":return X(u);case"WW":return X(n);case"E":case"c":return X(r);case"EEE":return dt(e.weekdays("short",!1),1);case"EEEE":return dt(e.weekdays("long",!1),1);case"ccc":return dt(e.weekdays("short",!0),1);case"cccc":return dt(e.weekdays("long",!0),1);case"Z":case"ZZ":return Hg(new RegExp(`([+-]${u.source})(?::(${n.source}))?`),2);case"ZZZ":return Hg(new RegExp(`([+-]${u.source})(${n.source})?`),2);case"z":return aa(/[a-z_+-/]{1,256}?/i);case" ":return aa(/[^\S\n\r]/);default:return p(E)}},"unitate")(t)||{invalidReason:qR};return m.token=t,m}s(YR,"unitForToken");var HR={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function zR(t,e,r){let{type:n,value:i}=t;if(n==="literal"){let c=/^\s+$/.test(i);return{literal:!c,val:c?" ":i}}let o=e[n],a=n;n==="hour"&&(e.hour12!=null?a=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?a="hour12":a="hour24":a=r.hour12?"hour12":"hour24");let u=HR[a];if(typeof u=="object"&&(u=u[o]),u)return{literal:!1,val:u}}s(zR,"tokenForPart");function JR(t){return[`^${t.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,t]}s(JR,"buildRegex");function ZR(t,e,r){let n=t.match(e);if(n){let i={},o=1;for(let a in r)if($n(r,a)){let u=r[a],c=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(n.slice(o,o+c))),o+=c}return[n,i]}else return[n,{}]}s(ZR,"match");function XR(t){let e=s(o=>{switch(o){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},"toField"),r=null,n;return Q(t.z)||(r=Ft.create(t.z)),Q(t.Z)||(r||(r=new Ke(t.Z)),n=t.Z),Q(t.q)||(t.M=(t.q-1)*3+1),Q(t.h)||(t.h<12&&t.a===1?t.h+=12:t.h===12&&t.a===0&&(t.h=0)),t.G===0&&t.y&&(t.y=-t.y),Q(t.u)||(t.S=nd(t.u)),[Object.keys(t).reduce((o,a)=>{let u=e(a);return u&&(o[u]=t[a]),o},{}),r,n]}s(XR,"dateTimeFromMatches");var Pl=null;function eC(){return Pl||(Pl=oe.fromMillis(1555555555555)),Pl}s(eC,"getDummyDateTime");function tC(t,e){if(t.literal)return t;let r=Ge.macroTokenToFormatOpts(t.val),n=XE(r,e);return n==null||n.includes(void 0)?t:n}s(tC,"maybeExpandMacroToken");function JE(t,e){return Array.prototype.concat(...t.map(r=>tC(r,e)))}s(JE,"expandMacroTokens");var Ta=class{static{s(this,"TokenParser")}constructor(e,r){if(this.locale=e,this.format=r,this.tokens=JE(Ge.parseFormat(r),e),this.units=this.tokens.map(n=>YR(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=JR(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(e){if(this.isValid){let[r,n]=ZR(e,this.regex,this.handlers),[i,o,a]=n?XR(n):[null,null,void 0];if($n(n,"a")&&$n(n,"H"))throw new or("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:r,matches:n,result:i,zone:o,specificOffset:a}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function ZE(t,e,r){return new Ta(t,r).explainFromTokens(e)}s(ZE,"explainFromTokens");function rC(t,e,r){let{result:n,zone:i,specificOffset:o,invalidReason:a}=ZE(t,e,r);return[n,i,o,a]}s(rC,"parseFromTokens");function XE(t,e){if(!t)return null;let n=Ge.create(e,t).dtFormatter(eC()),i=n.formatToParts(),o=n.resolvedOptions();return i.map(a=>zR(a,t,o))}s(XE,"formatOptsToTokens");var Nl="Invalid DateTime",zg=864e13;function as(t){return new Ve("unsupported zone",`the zone "${t.name}" is not supported`)}s(as,"unsupportedZone");function Ul(t){return t.weekData===null&&(t.weekData=ga(t.c)),t.weekData}s(Ul,"possiblyCachedWeekData");function Ll(t){return t.localWeekData===null&&(t.localWeekData=ga(t.c,t.loc.getMinDaysInFirstWeek(),t.loc.getStartOfWeek())),t.localWeekData}s(Ll,"possiblyCachedLocalWeekData");function Kr(t,e){let r={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new oe({...r,...e,old:r})}s(Kr,"clone");function ey(t,e,r){let n=t-e*60*1e3,i=r.offset(n);if(e===i)return[n,e];n-=(i-e)*60*1e3;let o=r.offset(n);return i===o?[n,i]:[t-Math.min(i,o)*60*1e3,Math.max(i,o)]}s(ey,"fixOffset");function ua(t,e){t+=e*60*1e3;let r=new Date(t);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}s(ua,"tsToObj");function la(t,e,r){return ey(Aa(t),e,r)}s(la,"objToTS");function Jg(t,e){let r=t.o,n=t.c.year+Math.trunc(e.years),i=t.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,o={...t.c,year:n,month:i,day:Math.min(t.c.day,Ea(n,i))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=Ee.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),u=Aa(o),[c,l]=ey(u,r,t.zone);return a!==0&&(c+=a,l=t.zone.offset(c)),{ts:c,o:l}}s(Jg,"adjustTime");function Fn(t,e,r,n,i,o){let{setZone:a,zone:u}=r;if(t&&Object.keys(t).length!==0||e){let c=e||u,l=oe.fromObject(t,{...r,zone:c,specificOffset:o});return a?l:l.setZone(u)}else return oe.invalid(new Ve("unparsable",`the input "${i}" can't be parsed as ${n}`))}s(Fn,"parseDataToDateTime");function ca(t,e,r=!0){return t.isValid?Ge.create(te.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(t,e):null}s(ca,"toTechFormat");function Ml(t,e,r){let n=t.c.year>9999||t.c.year<0,i="";if(n&&t.c.year>=0&&(i+="+"),i+=pe(t.c.year,n?6:4),r==="year")return i;if(e){if(i+="-",i+=pe(t.c.month),r==="month")return i;i+="-"}else if(i+=pe(t.c.month),r==="month")return i;return i+=pe(t.c.day),i}s(Ml,"toISODate");function Zg(t,e,r,n,i,o,a){let u=!r||t.c.millisecond!==0||t.c.second!==0,c="";switch(a){case"day":case"month":case"year":break;default:if(c+=pe(t.c.hour),a==="hour")break;if(e){if(c+=":",c+=pe(t.c.minute),a==="minute")break;u&&(c+=":",c+=pe(t.c.second))}else{if(c+=pe(t.c.minute),a==="minute")break;u&&(c+=pe(t.c.second))}if(a==="second")break;u&&(!n||t.c.millisecond!==0)&&(c+=".",c+=pe(t.c.millisecond,3))}return i&&(t.isOffsetFixed&&t.offset===0&&!o?c+="Z":t.o<0?(c+="-",c+=pe(Math.trunc(-t.o/60)),c+=":",c+=pe(Math.trunc(-t.o%60))):(c+="+",c+=pe(Math.trunc(t.o/60)),c+=":",c+=pe(Math.trunc(t.o%60)))),o&&(c+="["+t.zone.ianaName+"]"),c}s(Zg,"toISOTime");var ty={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},nC={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},iC={ordinal:1,hour:0,minute:0,second:0,millisecond:0},da=["year","month","day","hour","minute","second","millisecond"],sC=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],oC=["year","ordinal","hour","minute","second","millisecond"];function fa(t){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new pa(t);return e}s(fa,"normalizeUnit");function Xg(t){switch(t.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return fa(t)}}s(Xg,"normalizeUnitWithLocalWeeks");function aC(t){if(us===void 0&&(us=ne.now()),t.type!=="iana")return t.offset(us);let e=t.name,r=Xl.get(e);return r===void 0&&(r=t.offset(us),Xl.set(e,r)),r}s(aC,"guessOffsetForZone");function eE(t,e){let r=sr(e.zone,ne.defaultZone);if(!r.isValid)return oe.invalid(as(r));let n=te.fromObject(e),i,o;if(Q(t.year))i=ne.now();else{for(let c of da)Q(t[c])&&(t[c]=ty[c]);let a=CE(t)||bE(t);if(a)return oe.invalid(a);let u=aC(r);[i,o]=la(t,u,r)}return new oe({ts:i,zone:r,loc:n,o})}s(eE,"quickDT");function tE(t,e,r){let n=Q(r.round)?!0:r.round,i=Q(r.rounding)?"trunc":r.rounding,o=s((u,c)=>(u=id(u,n||r.calendary?0:2,r.calendary?"round":i),e.loc.clone(r).relFormatter(r).format(u,c)),"format"),a=s(u=>r.calendary?e.hasSame(t,u)?0:e.startOf(u).diff(t.startOf(u),u).get(u):e.diff(t,u).get(u),"differ");if(r.unit)return o(a(r.unit),r.unit);for(let u of r.units){let c=a(u);if(Math.abs(c)>=1)return o(c,u)}return o(t>e?-0:0,r.units[r.units.length-1])}s(tE,"diffRelative");function rE(t){let e={},r;return t.length>0&&typeof t[t.length-1]=="object"?(e=t[t.length-1],r=Array.from(t).slice(0,t.length-1)):r=Array.from(t),[e,r]}s(rE,"lastOpts");var us,Xl=new Map,oe=class t{static{s(this,"DateTime")}constructor(e){let r=e.zone||ne.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Ve("invalid input"):null)||(r.isValid?null:as(r));this.ts=Q(e.ts)?ne.now():e.ts;let i=null,o=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(r))[i,o]=[e.old.c,e.old.o];else{let u=ar(e.o)&&!e.old?e.o:r.offset(this.ts);i=ua(this.ts,u),n=Number.isNaN(i.year)?new Ve("invalid input"):null,i=n?null:i,o=n?null:u}this._zone=r,this.loc=e.loc||te.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=o,this.isLuxonDateTime=!0}static now(){return new t({})}static local(){let[e,r]=rE(arguments),[n,i,o,a,u,c,l]=r;return eE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static utc(){let[e,r]=rE(arguments),[n,i,o,a,u,c,l]=r;return e.zone=Ke.utcInstance,eE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static fromJSDate(e,r={}){let n=BD(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");let i=sr(r.zone,ne.defaultZone);return i.isValid?new t({ts:n,zone:i,loc:te.fromObject(r)}):t.invalid(as(i))}static fromMillis(e,r={}){if(ar(e))return e<-zg||e>zg?t.invalid("Timestamp out of range"):new t({ts:e,zone:sr(r.zone,ne.defaultZone),loc:te.fromObject(r)});throw new _e(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,r={}){if(ar(e))return new t({ts:e*1e3,zone:sr(r.zone,ne.defaultZone),loc:te.fromObject(r)});throw new _e("fromSeconds requires a numerical input")}static fromObject(e,r={}){e=e||{};let n=sr(r.zone,ne.defaultZone);if(!n.isValid)return t.invalid(as(n));let i=te.fromObject(r),o=ya(e,Xg),{minDaysInFirstWeek:a,startOfWeek:u}=Bg(o,i),c=ne.now(),l=Q(r.specificOffset)?n.offset(c):r.specificOffset,d=!Q(o.ordinal),f=!Q(o.year),h=!Q(o.month)||!Q(o.day),p=f||h,S=o.weekYear||o.weekNumber;if((p||d)&&S)throw new or("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(h&&d)throw new or("Can't mix ordinal dates with month/day");let m=S||o.weekday&&!p,E,y,I=ua(c,l);m?(E=sC,y=nC,I=ga(I,a,u)):d?(E=oC,y=iC,I=vl(I)):(E=da,y=ty);let _=!1;for(let Y of E){let Ie=o[Y];Q(Ie)?_?o[Y]=y[Y]:o[Y]=I[Y]:_=!0}let D=m?MD(o,a,u):d?kD(o):CE(o),T=D||bE(o);if(T)return t.invalid(T);let O=m?kg(o,a,u):d?Fg(o):o,[U,R]=la(O,l,n),k=new t({ts:U,zone:n,o:R,loc:i});return o.weekday&&p&&e.weekday!==k.weekday?t.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${k.toISO()}`):k.isValid?k:t.invalid(k.invalid)}static fromISO(e,r={}){let[n,i]=CR(e);return Fn(n,i,r,"ISO 8601",e)}static fromRFC2822(e,r={}){let[n,i]=bR(e);return Fn(n,i,r,"RFC 2822",e)}static fromHTTP(e,r={}){let[n,i]=xR(e);return Fn(n,i,r,"HTTP",r)}static fromFormat(e,r,n={}){if(Q(e)||Q(r))throw new _e("fromFormat requires an input string and a format");let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0}),[u,c,l,d]=rC(a,e,r);return d?t.invalid(d):Fn(u,c,n,`format ${r}`,e,l)}static fromString(e,r,n={}){return t.fromFormat(e,r,n)}static fromSQL(e,r={}){let[n,i]=kR(e);return Fn(n,i,r,"SQL",e)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the DateTime is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ne.throwOnInvalid)throw new kl(n);return new t({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,r={}){let n=XE(e,te.fromObject(r));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(e,r={}){return JE(Ge.parseFormat(e),te.fromObject(r)).map(i=>i.val).join("")}static resetCache(){us=void 0,Xl.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Ul(this).weekYear:NaN}get weekNumber(){return this.isValid?Ul(this).weekNumber:NaN}get weekday(){return this.isValid?Ul(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Ll(this).weekday:NaN}get localWeekNumber(){return this.isValid?Ll(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Ll(this).weekYear:NaN}get ordinal(){return this.isValid?vl(this.c).ordinal:NaN}get monthShort(){return this.isValid?jr.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?jr.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?jr.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?jr.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,r=6e4,n=Aa(this.c),i=this.zone.offset(n-e),o=this.zone.offset(n+e),a=this.zone.offset(n-i*r),u=this.zone.offset(n-o*r);if(a===u)return[this];let c=n-a*r,l=n-u*r,d=ua(c,a),f=ua(l,u);return d.hour===f.hour&&d.minute===f.minute&&d.second===f.second&&d.millisecond===f.millisecond?[Kr(this,{ts:c}),Kr(this,{ts:l})]:[this]}get isInLeapYear(){return fs(this.year)}get daysInMonth(){return Ea(this.year,this.month)}get daysInYear(){return this.isValid?Bn(this.year):NaN}get weeksInWeekYear(){return this.isValid?ds(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ds(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:r,numberingSystem:n,calendar:i}=Ge.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:i}}toUTC(e=0,r={}){return this.setZone(Ke.instance(e),r)}toLocal(){return this.setZone(ne.defaultZone)}setZone(e,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(e=sr(e,ne.defaultZone),e.equals(this.zone))return this;if(e.isValid){let i=this.ts;if(r||n){let o=e.offset(this.ts),a=this.toObject();[i]=la(a,o,e)}return Kr(this,{ts:i,zone:e})}else return t.invalid(as(e))}reconfigure({locale:e,numberingSystem:r,outputCalendar:n}={}){let i=this.loc.clone({locale:e,numberingSystem:r,outputCalendar:n});return Kr(this,{loc:i})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let r=ya(e,Xg),{minDaysInFirstWeek:n,startOfWeek:i}=Bg(r,this.loc),o=!Q(r.weekYear)||!Q(r.weekNumber)||!Q(r.weekday),a=!Q(r.ordinal),u=!Q(r.year),c=!Q(r.month)||!Q(r.day),l=u||c,d=r.weekYear||r.weekNumber;if((l||a)&&d)throw new or("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(c&&a)throw new or("Can't mix ordinal dates with month/day");let f;o?f=kg({...ga(this.c,n,i),...r},n,i):Q(r.ordinal)?(f={...this.toObject(),...r},Q(r.day)&&(f.day=Math.min(Ea(f.year,f.month),f.day))):f=Fg({...vl(this.c),...r});let[h,p]=la(f,this.o,this.zone);return Kr(this,{ts:h,o:p})}plus(e){if(!this.isValid)return this;let r=Ee.fromDurationLike(e);return Kr(this,Jg(this,r))}minus(e){if(!this.isValid)return this;let r=Ee.fromDurationLike(e).negate();return Kr(this,Jg(this,r))}startOf(e,{useLocaleWeeks:r=!1}={}){if(!this.isValid)return this;let n={},i=Ee.normalizeUnit(e);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(r){let o=this.loc.getStartOfWeek(),{weekday:a}=this;a<o&&(n.weekNumber=this.weekNumber-1),n.weekday=o}else n.weekday=1;if(i==="quarters"){let o=Math.ceil(this.month/3);n.month=(o-1)*3+1}return this.set(n)}endOf(e,r){return this.isValid?this.plus({[e]:1}).startOf(e,r).minus(1):this}toFormat(e,r={}){return this.isValid?Ge.create(this.loc.redefaultToEN(r)).formatDateTimeFromString(this,e):Nl}toLocaleString(e=ma,r={}){return this.isValid?Ge.create(this.loc.clone(r),e).formatDateTime(this):Nl}toLocaleParts(e={}){return this.isValid?Ge.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:r=!1,suppressMilliseconds:n=!1,includeOffset:i=!0,extendedZone:o=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=fa(a);let u=e==="extended",c=Ml(this,u,a);return da.indexOf(a)>=3&&(c+="T"),c+=Zg(this,u,r,n,i,o,a),c}toISODate({format:e="extended",precision:r="day"}={}){return this.isValid?Ml(this,e==="extended",fa(r)):null}toISOWeekDate(){return ca(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:r=!1,includeOffset:n=!0,includePrefix:i=!1,extendedZone:o=!1,format:a="extended",precision:u="milliseconds"}={}){return this.isValid?(u=fa(u),(i&&da.indexOf(u)>=3?"T":"")+Zg(this,a==="extended",r,e,n,o,u)):null}toRFC2822(){return ca(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return ca(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Ml(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:r=!1,includeOffsetSpace:n=!0}={}){let i="HH:mm:ss.SSS";return(r||e)&&(n&&(i+=" "),r?i+="z":e&&(i+="ZZ")),ca(this,i,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Nl}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let r={...this.c};return e.includeConfig&&(r.outputCalendar=this.outputCalendar,r.numberingSystem=this.loc.numberingSystem,r.locale=this.loc.locale),r}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,r="milliseconds",n={}){if(!this.isValid||!e.isValid)return Ee.invalid("created by diffing an invalid DateTime");let i={locale:this.locale,numberingSystem:this.numberingSystem,...n},o=WD(r).map(Ee.normalizeUnit),a=e.valueOf()>this.valueOf(),u=a?this:e,c=a?e:this,l=VR(u,c,o,i);return a?l.negate():l}diffNow(e="milliseconds",r={}){return this.diff(t.now(),e,r)}until(e){return this.isValid?Yr.fromDateTimes(this,e):this}hasSame(e,r,n){if(!this.isValid)return!1;let i=e.valueOf(),o=this.setZone(e.zone,{keepLocalTime:!0});return o.startOf(r,n)<=i&&i<=o.endOf(r,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let r=e.base||t.fromObject({},{zone:this.zone}),n=e.padding?this<r?-e.padding:e.padding:0,i=["years","months","days","hours","minutes","seconds"],o=e.unit;return Array.isArray(e.unit)&&(i=e.unit,o=void 0),tE(r,this.plus(n),{...e,numeric:"always",units:i,unit:o})}toRelativeCalendar(e={}){return this.isValid?tE(e.base||t.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(t.isDateTime))throw new _e("min requires all arguments be DateTimes");return Wg(e,r=>r.valueOf(),Math.min)}static max(...e){if(!e.every(t.isDateTime))throw new _e("max requires all arguments be DateTimes");return Wg(e,r=>r.valueOf(),Math.max)}static fromFormatExplain(e,r,n={}){let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});return ZE(a,e,r)}static fromStringExplain(e,r,n={}){return t.fromFormatExplain(e,r,n)}static buildFormatParser(e,r={}){let{locale:n=null,numberingSystem:i=null}=r,o=te.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new Ta(o,e)}static fromFormatParser(e,r,n={}){if(Q(e)||Q(r))throw new _e("fromFormatParser requires an input string and a format parser");let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});if(!a.equals(r.locale))throw new _e(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${r.locale}`);let{result:u,zone:c,specificOffset:l,invalidReason:d}=r.explainFromTokens(e);return d?t.invalid(d):Fn(u,c,n,`format ${r.format}`,e,l)}static get DATE_SHORT(){return ma}static get DATE_MED(){return nE}static get DATE_MED_WITH_WEEKDAY(){return ED}static get DATE_FULL(){return iE}static get DATE_HUGE(){return sE}static get TIME_SIMPLE(){return oE}static get TIME_WITH_SECONDS(){return aE}static get TIME_WITH_SHORT_OFFSET(){return uE}static get TIME_WITH_LONG_OFFSET(){return cE}static get TIME_24_SIMPLE(){return lE}static get TIME_24_WITH_SECONDS(){return dE}static get TIME_24_WITH_SHORT_OFFSET(){return fE}static get TIME_24_WITH_LONG_OFFSET(){return pE}static get DATETIME_SHORT(){return mE}static get DATETIME_SHORT_WITH_SECONDS(){return hE}static get DATETIME_MED(){return gE}static get DATETIME_MED_WITH_SECONDS(){return EE}static get DATETIME_MED_WITH_WEEKDAY(){return yD}static get DATETIME_FULL(){return yE}static get DATETIME_FULL_WITH_SECONDS(){return TE}static get DATETIME_HUGE(){return SE}static get DATETIME_HUGE_WITH_SECONDS(){return AE}};function ss(t){if(oe.isDateTime(t))return t;if(t&&t.valueOf&&ar(t.valueOf()))return oe.fromJSDate(t);if(t&&typeof t=="object")return oe.fromObject(t);throw new _e(`Unknown datetime argument: ${t}, of type ${typeof t}`)}s(ss,"friendlyDateTime");var uC="3.7.1";Qe.DateTime=oe;Qe.Duration=Ee;Qe.FixedOffsetZone=Ke;Qe.IANAZone=Ft;Qe.Info=jr;Qe.Interval=Yr;Qe.InvalidZone=ha;Qe.Settings=ne;Qe.SystemZone=ls;Qe.VERSION=uC;Qe.Zone=ur});var iy=q((pB,ny)=>{"use strict";var Hr=ry();j.prototype.addYear=function(){this._date=this._date.plus({years:1})};j.prototype.addMonth=function(){this._date=this._date.plus({months:1}).startOf("month")};j.prototype.addDay=function(){this._date=this._date.plus({days:1}).startOf("day")};j.prototype.addHour=function(){var t=this._date;this._date=this._date.plus({hours:1}).startOf("hour"),this._date<=t&&(this._date=this._date.plus({hours:1}))};j.prototype.addMinute=function(){var t=this._date;this._date=this._date.plus({minutes:1}).startOf("minute"),this._date<t&&(this._date=this._date.plus({hours:1}))};j.prototype.addSecond=function(){var t=this._date;this._date=this._date.plus({seconds:1}).startOf("second"),this._date<t&&(this._date=this._date.plus({hours:1}))};j.prototype.subtractYear=function(){this._date=this._date.minus({years:1})};j.prototype.subtractMonth=function(){this._date=this._date.minus({months:1}).endOf("month").startOf("second")};j.prototype.subtractDay=function(){this._date=this._date.minus({days:1}).endOf("day").startOf("second")};j.prototype.subtractHour=function(){var t=this._date;this._date=this._date.minus({hours:1}).endOf("hour").startOf("second"),this._date>=t&&(this._date=this._date.minus({hours:1}))};j.prototype.subtractMinute=function(){var t=this._date;this._date=this._date.minus({minutes:1}).endOf("minute").startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};j.prototype.subtractSecond=function(){var t=this._date;this._date=this._date.minus({seconds:1}).startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};j.prototype.getDate=function(){return this._date.day};j.prototype.getFullYear=function(){return this._date.year};j.prototype.getDay=function(){var t=this._date.weekday;return t==7?0:t};j.prototype.getMonth=function(){return this._date.month-1};j.prototype.getHours=function(){return this._date.hour};j.prototype.getMinutes=function(){return this._date.minute};j.prototype.getSeconds=function(){return this._date.second};j.prototype.getMilliseconds=function(){return this._date.millisecond};j.prototype.getTime=function(){return this._date.valueOf()};j.prototype.getUTCDate=function(){return this._getUTC().day};j.prototype.getUTCFullYear=function(){return this._getUTC().year};j.prototype.getUTCDay=function(){var t=this._getUTC().weekday;return t==7?0:t};j.prototype.getUTCMonth=function(){return this._getUTC().month-1};j.prototype.getUTCHours=function(){return this._getUTC().hour};j.prototype.getUTCMinutes=function(){return this._getUTC().minute};j.prototype.getUTCSeconds=function(){return this._getUTC().second};j.prototype.toISOString=function(){return this._date.toUTC().toISO()};j.prototype.toJSON=function(){return this._date.toJSON()};j.prototype.setDate=function(t){this._date=this._date.set({day:t})};j.prototype.setFullYear=function(t){this._date=this._date.set({year:t})};j.prototype.setDay=function(t){this._date=this._date.set({weekday:t})};j.prototype.setMonth=function(t){this._date=this._date.set({month:t+1})};j.prototype.setHours=function(t){this._date=this._date.set({hour:t})};j.prototype.setMinutes=function(t){this._date=this._date.set({minute:t})};j.prototype.setSeconds=function(t){this._date=this._date.set({second:t})};j.prototype.setMilliseconds=function(t){this._date=this._date.set({millisecond:t})};j.prototype._getUTC=function(){return this._date.toUTC()};j.prototype.toString=function(){return this.toDate().toString()};j.prototype.toDate=function(){return this._date.toJSDate()};j.prototype.isLastDayOfMonth=function(){var t=this._date.plus({days:1}).startOf("day");return this._date.month!==t.month};j.prototype.isLastWeekdayOfMonth=function(){var t=this._date.plus({days:7}).startOf("day");return this._date.month!==t.month};function j(t,e){var r={zone:e};if(t?t instanceof j?this._date=t._date:t instanceof Date?this._date=Hr.DateTime.fromJSDate(t,r):typeof t=="number"?this._date=Hr.DateTime.fromMillis(t,r):typeof t=="string"&&(this._date=Hr.DateTime.fromISO(t,r),this._date.isValid||(this._date=Hr.DateTime.fromRFC2822(t,r)),this._date.isValid||(this._date=Hr.DateTime.fromSQL(t,r)),this._date.isValid||(this._date=Hr.DateTime.fromFormat(t,"EEE, d MMM yyyy HH:mm:ss",r))):this._date=Hr.DateTime.local(),!this._date||!this._date.isValid)throw new Error("CronDate: unhandled timestamp: "+JSON.stringify(t));e&&e!==this._date.zoneName&&(this._date=this._date.setZone(e))}s(j,"CronDate");ny.exports=j});var ay=q((hB,oy)=>{"use strict";function zr(t){return{start:t,count:1}}s(zr,"buildRange");function sy(t,e){t.end=e,t.step=e-t.start,t.count=2}s(sy,"completeRangeWithItem");function ud(t,e,r){e&&(e.count===2?(t.push(zr(e.start)),t.push(zr(e.end))):t.push(e)),r&&t.push(r)}s(ud,"finalizeCurrentRange");function cC(t){for(var e=[],r=void 0,n=0;n<t.length;n++){var i=t[n];typeof i!="number"?(ud(e,r,zr(i)),r=void 0):r?r.count===1?sy(r,i):r.step===i-r.end?(r.count++,r.end=i):r.count===2?(e.push(zr(r.start)),r=zr(r.end),sy(r,i)):(ud(e,r),r=zr(i)):r=zr(i)}return ud(e,r),e}s(cC,"compactField");oy.exports=cC});var cy=q((EB,uy)=>{"use strict";var lC=ay();function dC(t,e,r){var n=lC(t);if(n.length===1){var i=n[0],o=i.step;if(o===1&&i.start===e&&i.end===r)return"*";if(o!==1&&i.start===e&&i.end===r-o+1)return"*/"+o}for(var a=[],u=0,c=n.length;u<c;++u){var l=n[u];if(l.count===1){a.push(l.start);continue}var o=l.step;if(l.step===1){a.push(l.start+"-"+l.end);continue}var d=l.start==0?l.count-1:l.count;l.step*d>l.end?a=a.concat(Array.from({length:l.end-l.start+1}).map(function(h,p){var S=l.start+p;return(S-l.start)%l.step===0?S:null}).filter(function(h){return h!=null})):l.end===r-l.step+1?a.push(l.start+"/"+l.step):a.push(l.start+"-"+l.end+"/"+l.step)}return a.join(",")}s(dC,"stringifyField");uy.exports=dC});var fy=q((TB,dy)=>{"use strict";var Jr=iy(),fC=cy(),ly=1e4;function L(t,e){this._options=e,this._utc=e.utc||!1,this._tz=this._utc?"UTC":e.tz,this._currentDate=new Jr(e.currentDate,this._tz),this._startDate=e.startDate?new Jr(e.startDate,this._tz):null,this._endDate=e.endDate?new Jr(e.endDate,this._tz):null,this._isIterator=e.iterator||!1,this._hasIterated=!1,this._nthDayOfWeek=e.nthDayOfWeek||0,this.fields=L._freezeFields(t)}s(L,"CronExpression");L.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];L.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};L.constraints=[{min:0,max:59,chars:[]},{min:0,max:59,chars:[]},{min:0,max:23,chars:[]},{min:1,max:31,chars:["L"]},{min:1,max:12,chars:[]},{min:0,max:7,chars:["L"]}];L.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];L.aliases={month:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},dayOfWeek:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}};L.parseDefaults=["0","*","*","*","*","*"];L.standardValidCharacters=/^[,*\d/-]+$/;L.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;L.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;L.validCharacters={second:L.standardValidCharacters,minute:L.standardValidCharacters,hour:L.standardValidCharacters,dayOfMonth:L.dayOfMonthValidCharacters,month:L.standardValidCharacters,dayOfWeek:L.dayOfWeekValidCharacters};L._isValidConstraintChar=s(function(e,r){return typeof r!="string"?!1:e.chars.some(function(n){return r.indexOf(n)>-1})},"_isValidConstraintChar");L._parseField=s(function(e,r,n){switch(e){case"month":case"dayOfWeek":var i=L.aliases[e];r=r.replace(/[a-z]{3}/gi,function(c){if(c=c.toLowerCase(),typeof i[c]<"u")return i[c];throw new Error('Validation error, cannot resolve alias "'+c+'"')});break}if(!L.validCharacters[e].test(r))throw new Error("Invalid characters, got value: "+r);r.indexOf("*")!==-1?r=r.replace(/\*/g,n.min+"-"+n.max):r.indexOf("?")!==-1&&(r=r.replace(/\?/g,n.min+"-"+n.max));function o(c){var l=[];function d(S){if(S instanceof Array)for(var m=0,E=S.length;m<E;m++){var y=S[m];if(L._isValidConstraintChar(n,y)){l.push(y);continue}if(typeof y!="number"||Number.isNaN(y)||y<n.min||y>n.max)throw new Error("Constraint error, got value "+y+" expected range "+n.min+"-"+n.max);l.push(y)}else{if(L._isValidConstraintChar(n,S)){l.push(S);return}var I=+S;if(Number.isNaN(I)||I<n.min||I>n.max)throw new Error("Constraint error, got value "+S+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(I=I%7),l.push(I)}}s(d,"handleResult");var f=c.split(",");if(!f.every(function(S){return S.length>0}))throw new Error("Invalid list value format");if(f.length>1)for(var h=0,p=f.length;h<p;h++)d(a(f[h]));else d(a(c));return l.sort(L._sortCompareFn),l}s(o,"parseSequence");function a(c){var l=1,d=c.split("/");if(d.length>2)throw new Error("Invalid repeat: "+c);return d.length>1?(d[0]==+d[0]&&(d=[d[0]+"-"+n.max,d[1]]),u(d[0],d[d.length-1])):u(c,l)}s(a,"parseRepeat");function u(c,l){var d=[],f=c.split("-");if(f.length>1){if(f.length<2)return+c;if(!f[0].length){if(!f[1].length)throw new Error("Invalid range: "+c);return+c}var h=+f[0],p=+f[1];if(Number.isNaN(h)||Number.isNaN(p)||h<n.min||p>n.max)throw new Error("Constraint error, got range "+h+"-"+p+" expected range "+n.min+"-"+n.max);if(h>p)throw new Error("Invalid range: "+c);var S=+l;if(Number.isNaN(S)||S<=0)throw new Error("Constraint error, cannot repeat at every "+S+" time.");e==="dayOfWeek"&&p%7===0&&d.push(0);for(var m=h,E=p;m<=E;m++){var y=d.indexOf(m)!==-1;!y&&S>0&&S%l===0?(S=1,d.push(m)):S++}return d}return Number.isNaN(+c)?c:+c}return s(u,"parseRange"),o(r)},"_parseField");L._sortCompareFn=function(t,e){var r=typeof t=="number",n=typeof e=="number";return r&&n?t-e:!r&&n?1:r&&!n?-1:t.localeCompare(e)};L._handleMaxDaysInMonth=function(t){if(t.month.length===1){var e=L.daysInMonth[t.month[0]-1];if(t.dayOfMonth[0]>e)throw new Error("Invalid explicit day of month definition");return t.dayOfMonth.filter(function(r){return r==="L"?!0:r<=e}).sort(L._sortCompareFn)}};L._freezeFields=function(t){for(var e=0,r=L.map.length;e<r;++e){var n=L.map[e],i=t[n];t[n]=Object.freeze(i)}return Object.freeze(t)};L.prototype._applyTimezoneShift=function(t,e,r){if(r==="Month"||r==="Day"){var n=t.getTime();t[e+r]();var i=t.getTime();n===i&&(t.getMinutes()===0&&t.getSeconds()===0?t.addHour():t.getMinutes()===59&&t.getSeconds()===59&&t.subtractHour())}else{var o=t.getHours();t[e+r]();var a=t.getHours(),u=a-o;u===2?this.fields.hour.length!==24&&(this._dstStart=a):u===0&&t.getMinutes()===0&&t.getSeconds()===0&&this.fields.hour.length!==24&&(this._dstEnd=a)}};L.prototype._findSchedule=s(function(e){function r(y,I){for(var _=0,D=I.length;_<D;_++)if(I[_]>=y)return I[_]===y;return I[0]===y}s(r,"matchSchedule");function n(y,I){if(I<6){if(y.getDate()<8&&I===1)return!0;var _=y.getDate()%7?1:0,D=y.getDate()-y.getDate()%7,T=Math.floor(D/7)+_;return T===I}return!1}s(n,"isNthDayMatch");function i(y){return y.length>0&&y.some(function(I){return typeof I=="string"&&I.indexOf("L")>=0})}s(i,"isLInExpressions"),e=e||!1;var o=e?"subtract":"add",a=new Jr(this._currentDate,this._tz),u=this._startDate,c=this._endDate,l=a.getTime(),d=0;function f(y){return y.some(function(I){if(!i([I]))return!1;var _=Number.parseInt(I[0])%7;if(Number.isNaN(_))throw new Error("Invalid last weekday of the month expression: "+I);return a.getDay()===_&&a.isLastWeekdayOfMonth()})}for(s(f,"isLastWeekdayOfMonthMatch");d<ly;){if(d++,e){if(u&&a.getTime()-u.getTime()<0)throw new Error("Out of the timespan range")}else if(c&&c.getTime()-a.getTime()<0)throw new Error("Out of the timespan range");var h=r(a.getDate(),this.fields.dayOfMonth);i(this.fields.dayOfMonth)&&(h=h||a.isLastDayOfMonth());var p=r(a.getDay(),this.fields.dayOfWeek);i(this.fields.dayOfWeek)&&(p=p||f(this.fields.dayOfWeek));var S=this.fields.dayOfMonth.length>=L.daysInMonth[a.getMonth()],m=this.fields.dayOfWeek.length===L.constraints[5].max-L.constraints[5].min+1,E=a.getHours();if(!h&&(!p||m)){this._applyTimezoneShift(a,o,"Day");continue}if(!S&&m&&!h){this._applyTimezoneShift(a,o,"Day");continue}if(S&&!m&&!p){this._applyTimezoneShift(a,o,"Day");continue}if(this._nthDayOfWeek>0&&!n(a,this._nthDayOfWeek)){this._applyTimezoneShift(a,o,"Day");continue}if(!r(a.getMonth()+1,this.fields.month)){this._applyTimezoneShift(a,o,"Month");continue}if(r(E,this.fields.hour)){if(this._dstEnd===E&&!e){this._dstEnd=null,this._applyTimezoneShift(a,"add","Hour");continue}}else if(this._dstStart!==E){this._dstStart=null,this._applyTimezoneShift(a,o,"Hour");continue}else if(!r(E-1,this.fields.hour)){a[o+"Hour"]();continue}if(!r(a.getMinutes(),this.fields.minute)){this._applyTimezoneShift(a,o,"Minute");continue}if(!r(a.getSeconds(),this.fields.second)){this._applyTimezoneShift(a,o,"Second");continue}if(l===a.getTime()){o==="add"||a.getMilliseconds()===0?this._applyTimezoneShift(a,o,"Second"):a.setMilliseconds(0);continue}break}if(d>=ly)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new Jr(a,this._tz),this._hasIterated=!0,a},"_findSchedule");L.prototype.next=s(function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e},"next");L.prototype.prev=s(function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e},"prev");L.prototype.hasNext=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};L.prototype.hasPrev=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(!0),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};L.prototype.iterate=s(function(e,r){var n=[];if(e>=0)for(var i=0,o=e;i<o;i++)try{var a=this.next();n.push(a),r&&r(a,i)}catch{break}else for(var i=0,o=e;i>o;i--)try{var a=this.prev();n.push(a),r&&r(a,i)}catch{break}return n},"iterate");L.prototype.reset=s(function(e){this._currentDate=new Jr(e||this._options.currentDate)},"reset");L.prototype.stringify=s(function(e){for(var r=[],n=e?0:1,i=L.map.length;n<i;++n){var o=L.map[n],a=this.fields[o],u=L.constraints[n];o==="dayOfMonth"&&this.fields.month.length===1?u={min:1,max:L.daysInMonth[this.fields.month[0]-1]}:o==="dayOfWeek"&&(u={min:0,max:6},a=a[a.length-1]===7?a.slice(0,-1):a),r.push(fC(a,u.min,u.max))}return r.join(" ")},"stringify");L.parse=s(function(e,r){var n=this;typeof r=="function"&&(r={});function i(o,a){a||(a={}),typeof a.currentDate>"u"&&(a.currentDate=new Jr(void 0,n._tz)),L.predefined[o]&&(o=L.predefined[o]);var u=[],c=(o+"").trim().split(/\s+/);if(c.length>6)throw new Error("Invalid cron expression");for(var l=L.map.length-c.length,d=0,f=L.map.length;d<f;++d){var h=L.map[d],p=c[c.length>f?d:d-l];if(d<l||!p)u.push(L._parseField(h,L.parseDefaults[d],L.constraints[d]));else{var S=h==="dayOfWeek"?I(p):p;u.push(L._parseField(h,S,L.constraints[d]))}}for(var m={},d=0,f=L.map.length;d<f;d++){var E=L.map[d];m[E]=u[d]}var y=L._handleMaxDaysInMonth(m);return m.dayOfMonth=y||m.dayOfMonth,new L(m,a);function I(_){var D=_.split("#");if(D.length>1){var T=+D[D.length-1];if(/,/.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(D.length>2||Number.isNaN(T)||T<1||T>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return a.nthDayOfWeek=T,D[0]}return _}s(I,"parseNthDay")}return s(i,"parse"),i(e,r)},"parse");L.fieldsToExpression=s(function(e,r){function n(h,p,S){if(!p)throw new Error("Validation error, Field "+h+" is missing");if(p.length===0)throw new Error("Validation error, Field "+h+" contains no values");for(var m=0,E=p.length;m<E;m++){var y=p[m];if(!L._isValidConstraintChar(S,y)&&(typeof y!="number"||Number.isNaN(y)||y<S.min||y>S.max))throw new Error("Constraint error, got value "+y+" expected range "+S.min+"-"+S.max)}}s(n,"validateConstraints");for(var i={},o=0,a=L.map.length;o<a;++o){var u=L.map[o],c=e[u];n(u,c,L.constraints[o]);for(var l=[],d=-1;++d<c.length;)l[d]=c[d];if(c=l.sort(L._sortCompareFn).filter(function(h,p,S){return!p||h!==S[p-1]}),c.length!==l.length)throw new Error("Validation error, Field "+u+" contains duplicate values");i[u]=c}var f=L._handleMaxDaysInMonth(i);return i.dayOfMonth=f||i.dayOfMonth,new L(i,r||{})},"fieldsToExpression");dy.exports=L});var my=q((AB,py)=>{"use strict";var Ia=fy();function cr(){}s(cr,"CronParser");cr._parseEntry=s(function(e){var r=e.split(" ");if(r.length===6)return{interval:Ia.parse(e)};if(r.length>6)return{interval:Ia.parse(r.slice(0,6).join(" ")),command:r.slice(6,r.length)};throw new Error("Invalid entry: "+e)},"_parseEntry");cr.parseExpression=s(function(e,r){return Ia.parse(e,r)},"parseExpression");cr.fieldsToExpression=s(function(e,r){return Ia.fieldsToExpression(e,r)},"fieldsToExpression");cr.parseString=s(function(e){for(var r=e.split(`
|
|
5
|
-
`),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=cr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");cr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,cr.parseString(i.toString()))})},"parseFile");py.exports=cr});var LM={};P(LM,{APIWarning:()=>In,AutomationViewMode:()=>va,BUDIBASE_DATASOURCE_TYPE:()=>xd,BadRequestError:()=>vu,BudibaseError:()=>no,Config:()=>Md,Cookie:()=>Zr,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Ud,DEFAULT_EXPENSES_TABLE_ID:()=>Nd,DEFAULT_INVENTORY_TABLE_ID:()=>Pd,DEFAULT_JOBS_TABLE_ID:()=>vd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>As,DocumentType:()=>ce,Duration:()=>he,DurationType:()=>Ff,EmailUnavailableError:()=>Yt,Endpoint:()=>vc,EndpointGroup:()=>wn,EndpointGroupList:()=>vo,FeatureDisabledError:()=>Uu,FeatureDisabledWarning:()=>Ec,ForbiddenError:()=>Pu,GlobalRole:()=>Ld,HTTPError:()=>ke,Header:()=>We,InternalTable:()=>vt,InvalidAPIKeyWarning:()=>Ai,MAX_VALID_DATE:()=>Ua,MIN_VALID_DATE:()=>ky,NotFoundError:()=>xu,NotImplementedError:()=>Nu,RedisClient:()=>De,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>bd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>Ss,UnexpectedError:()=>bu,UsageLimitError:()=>Lu,UsageLimitWarning:()=>gc,UserStatus:()=>Na,ViewName:()=>fr,WORKSPACE_DEV:()=>Pa,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,accounts:()=>hn,auth:()=>Sm,blacklist:()=>Im,cache:()=>To,configs:()=>Ht,constants:()=>kd,context:()=>ue,csv:()=>Mm,db:()=>yr,docIds:()=>Df,docUpdates:()=>Dm,encryption:()=>pm,env:()=>g,errors:()=>ku,events:()=>pi,features:()=>am,getErrorMessage:()=>KS,getPublicError:()=>Mu,init:()=>UM,installation:()=>qu,locks:()=>Si,logging:()=>Js,middleware:()=>Tm,objectStore:()=>rp,permissions:()=>im,platform:()=>to,plugins:()=>_m,queue:()=>up,redis:()=>Om,roles:()=>nm,security:()=>Sp,sessions:()=>Fu,setEnv:()=>Os,sql:()=>Lm,tenancy:()=>NM,timers:()=>gu,userUtils:()=>Up,users:()=>hi,utils:()=>ii,warnings:()=>mm,withEnv:()=>Gy});module.exports=rO(LM);var Ht={};P(Ht,{analyticsEnabled:()=>$u,generateConfigID:()=>Io,getAIConfig:()=>QL,getConfig:()=>ve,getDefaultGoogleConfig:()=>qp,getGoogleConfig:()=>nc,getGoogleDatasourceConfig:()=>Qp,getOIDCConfig:()=>VL,getOIDCConfigById:()=>jp,getOIDCLogosDoc:()=>$L,getPlatformUrl:()=>wo,getRecaptchaConfig:()=>jL,getSCIMConfig:()=>KL,getSMTPConfig:()=>qL,getSMTPConfigDoc:()=>QA,getSettingsConfig:()=>Kp,getSettingsConfigDoc:()=>gi,getTranslationsConfig:()=>BL,getTranslationsConfigDoc:()=>KA,save:()=>FL});var nO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],iO=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],Bm=[...nO,...iO],Wm={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":"AI configuration created","ai:config:updated":"AI configuration updated","auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:crud:executed":void 0,"action:ai_agent:executed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var Pc=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(Pc||{}),Nc=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",p.SENSITIVE_LONGFORM="sensitiveLongForm",p.BOOLEAN="boolean",p.NUMBER="number",p.PASSWORD="password",p.LIST="list",p.OBJECT="object",p.JSON="json",p.FILE="file",p.FIELD_GROUP="fieldGroup",p.SELECT="select",p))(Nc||{}),No=(y=>(y.AIRTABLE="AIRTABLE",y.ARANGODB="ARANGODB",y.BUDIBASE="BUDIBASE",y.COUCHDB="COUCHDB",y.DYNAMODB="DYNAMODB",y.ELASTICSEARCH="ELASTICSEARCH",y.FIRESTORE="FIRESTORE",y.GOOGLE_SHEETS="GOOGLE_SHEETS",y.MONGODB="MONGODB",y.MYSQL="MYSQL",y.ORACLE="ORACLE",y.POSTGRES="POSTGRES",y.REDIS="REDIS",y.REST="REST",y.S3="S3",y.SNOWFLAKE="SNOWFLAKE",y.SQL_SERVER="SQL_SERVER",y))(No||{});var Uc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Uc||{});var sO=B(require("lodash/isPlainObject"));var Ur=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Ur||{}),tr=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(tr||{}),Rn=(e=>(e.RANGE="range",e))(Rn||{}),wi=(r=>(r.AND="$and",r.OR="$or",r))(wi||{});function Uo(t){return Object.values(wi).includes(t)}s(Uo,"isLogicalSearchOperator");function $m(t){return Object.values(Ur).includes(t)}s($m,"isBasicSearchOperator");function Gm(t){return Object.values(tr).includes(t)}s(Gm,"isArraySearchOperator");function Lo(t){return Object.values(Rn).includes(t)}s(Lo,"isRangeSearchOperator");var Vm=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Di=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Di||{});var Ri=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Ri||{});var Mo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(Mo||{});var ko=s(t=>t.hosting==="cloud","isCloudAccount");var Fo=s(t=>t.authType==="sso","isSSOAccount");var C="_",Ne="\uFFF0",rr=s(t=>`${t}${C}`,"prefixed"),ce=(G=>(G.USER="us",G.GROUP="gr",G.CONFIG="config",G.TEMPLATE="template",G.WORKSPACE="app",G.DEV="dev",G.WORKSPACE_DEV="app_dev",G.WORKSPACE_METADATA="app_metadata",G.ROLE="role",G.DEV_INFO="devinfo",G.AUTOMATION_LOG="log_au",G.ACCOUNT_METADATA="acc_metadata",G.PLUGIN="plg",G.DATASOURCE="datasource",G.DATASOURCE_PLUS="datasource_plus",G.APP_BACKUP="backup",G.TABLE="ta",G.ROW="ro",G.AUTOMATION="au",G.LINK="li",G.WEBHOOK="wh",G.INSTANCE="inst",G.LAYOUT="layout",G.SCREEN="screen",G.QUERY="query",G.DEPLOYMENTS="deployments",G.METADATA="metadata",G.MEM_VIEW="view",G.USER_FLAG="flag",G.AUTOMATION_METADATA="meta_au",G.AUDIT_LOG="al",G.SCIM_LOG="scimlog",G.ROW_ACTIONS="ra",G.OAUTH2_CONFIG="oauth2",G.OAUTH2_CONFIG_LOG="oauth2log",G.AGENT="agent",G.CHAT_APP="chatapp",G.CHAT_CONVERSATION="chatconvo",G.AGENT_TOOL_SOURCE="agenttoolsource",G.AGENT_FILE="agentfile",G.AI_CONFIG="aiconfig",G.LITELLM_KEY="litellmkey",G.VECTOR_STORE="vectordb",G.WORKSPACE_APP="workspace_app",G.WORKSPACE_FAVOURITE="workspace_favourite",G.AUTO_COLUMN_STATE="autocolumn_state",G))(ce||{});var vt=(e=>(e.USER_METADATA="ta_users",e))(vt||{});function Bo(t){return!!t.providerType}s(Bo,"isSSOUser");var Lc=(d=>(d.OBJECT="object",d.STRING="string",d.BOOLEAN="boolean",d.NUMBER="number",d.ARRAY="array",d.JSON="json",d.DATE="date",d.DATETIME="datetime",d.ATTACHMENT="attachment",d.LONGFORM="longform",d))(Lc||{}),Mc=(O=>(O.TABLE="table",O.ROW="row",O.ROWS="rows",O.WIDE="wide",O.QUERY="query",O.QUERY_PARAMS="queryParams",O.QUERY_LIMIT="queryLimit",O.LOOP_OPTION="loopOption",O.ITEM="item",O.CODE="code",O.FILTERS="filters",O.COLUMN="column",O.TRIGGER_SCHEMA="triggerSchema",O.CRON="cron",O.WEBHOOK_URL="webhookUrl",O.AUTOMATION="automation",O.AUTOMATION_FIELDS="automationFields",O.MULTI_ATTACHMENTS="multi_attachments",O.TRIGGER_FILTER="trigger_filter",O.CATEGORIES="categories",O.AGENT="agent",O.OUTPUT_SCHEMA="outputSchema",O))(Mc||{}),kc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(kc||{});var Fc=(w=>(w.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",w.CREATE_ROW="CREATE_ROW",w.GET_ROW="GET_ROW",w.UPDATE_ROW="UPDATE_ROW",w.DELETE_ROW="DELETE_ROW",w.QUERY_ROWS="QUERY_ROWS",w.EXECUTE_BASH="EXECUTE_BASH",w.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",w.EXECUTE_SCRIPT="EXECUTE_SCRIPT",w.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",w.EXECUTE_QUERY="EXECUTE_QUERY",w.SERVER_LOG="SERVER_LOG",w.DELAY="DELAY",w.FILTER="FILTER",w.API_REQUEST="API_REQUEST",w.LOOP="LOOP",w.COLLECT="COLLECT",w.OPENAI="OPENAI",w.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",w.BRANCH="BRANCH",w.CLASSIFY_CONTENT="CLASSIFY_CONTENT",w.PROMPT_LLM="PROMPT_LLM",w.TRANSLATE="TRANSLATE",w.SUMMARISE="SUMMARISE",w.GENERATE_TEXT="GENERATE_TEXT",w.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",w.EXTRACT_STATE="EXTRACT_STATE",w.LOOP_V2="LOOP_V2",w.AGENT="AGENT",w.discord="discord",w.slack="slack",w.zapier="zapier",w.integromat="integromat",w.n8n="n8n",w))(Fc||{}),qm=[...Object.values(Fc),...Object.values(kc)];function Km(t){return t.stepId==="BRANCH"}s(Km,"isBranchStep");var Bc="bb_internal";var Qm=["attachment_single","attachment","signature_single","bb_reference","json","array"];var kd={};P(kd,{AutomationViewMode:()=>va,BUDIBASE_DATASOURCE_TYPE:()=>xd,Config:()=>Md,Cookie:()=>Zr,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Ud,DEFAULT_EXPENSES_TABLE_ID:()=>Nd,DEFAULT_INVENTORY_TABLE_ID:()=>Pd,DEFAULT_JOBS_TABLE_ID:()=>vd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>As,DocumentType:()=>ce,GlobalRole:()=>Ld,Header:()=>We,InternalTable:()=>vt,MAX_VALID_DATE:()=>Ua,MIN_VALID_DATE:()=>ky,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>bd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>Ss,UserStatus:()=>Na,ViewName:()=>fr,WORKSPACE_DEV:()=>Pa,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et});var We=(_=>(_.API_KEY="x-budibase-api-key",_.LICENSE_KEY="x-budibase-license-key",_.API_VER="x-budibase-api-version",_.APP_ID="x-budibase-app-id",_.SESSION_ID="x-budibase-session-id",_.CLIENT="x-budibase-client",_.TYPE="x-budibase-type",_.PREVIEW_ROLE="x-budibase-role",_.TENANT_ID="x-budibase-tenant-id",_.VERIFICATION_CODE="x-budibase-verification-code",_.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",_.RESET_PASSWORD_CODE="x-budibase-reset-password-code",_.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",_.TOKEN="x-budibase-token",_.CSRF_TOKEN="x-csrf-token",_.CORRELATION_ID="x-budibase-correlation-id",_.AUTHORIZATION="authorization",_.MIGRATING_APP="x-budibase-migrating-app",_.COOKIE="cookie",_))(We||{});var Cn={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Wo={ACCOUNT:"/portal/account",BILLING:"/portal/billing",UPGRADE:"/portal/upgrade"};var $e={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},jm={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var bn="datasource_internal_bb_default";var dr={};P(dr,{ColumnSplitter:()=>gd,NoEmptyFilterStrings:()=>vy,buildQuery:()=>Py,cleanupQuery:()=>Td,fixupFilterArrays:()=>Ad,getKeyNumbering:()=>Sd,getValidOperatorsForType:()=>BC,hasFilters:()=>Ed,limit:()=>Uy,recurseLogicalOperators:()=>yd,removeKeyNumbering:()=>$o,runQuery:()=>Ra,search:()=>GC,sort:()=>Ny,splitFiltersArray:()=>Go});var Qn=B(Ym());var _t={};P(_t,{filterValueToLabel:()=>dO,hasSchema:()=>fO,isSupportedUserSearch:()=>Jm,nameToUrl:()=>EO,parallelForeach:()=>lO,processSearchFilters:()=>Gc,toMap:()=>mO,trimOtherProps:()=>pO,unreachable:()=>cO});var zm=B(require("lodash/pick"));var uO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function cO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(cO,"unreachable");async function lO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(lO,"parallelForeach");function dO(){return Object.keys($e).reduce((t,e)=>{let n=$e[e];return t[n.value]=n.label,t},{})}s(dO,"filterValueToLabel");function fO(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(fO,"hasSchema");function pO(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(pO,"trimOtherProps");function Jm(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Uo(o)){for(let l of t[o].conditions)if(!Jm(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(Jm,"isSupportedUserSearch");function Gc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Go(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,zm.default)(i,uO);return o.field=$o(o.field),o})}]}}s(Gc,"processSearchFilters");function mO(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(mO,"toMap");var hO=s(t=>t?t.trim():null,"resolveWorkspaceName"),gO=s(t=>{let e,r=hO(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),EO=s(t=>{let e=gO(t);return yO(e)},"nameToUrl"),yO=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var Le={};P(Le,{accountPortalAccountUrl:()=>Ay,accountPortalBillingUrl:()=>_y,accountPortalUpgradeUrl:()=>Oy,builderAppsUrl:()=>Cy,builderSettingsAuthUrl:()=>Dy,builderSettingsEmailUrl:()=>wy,builderSettingsPeopleUsersUrl:()=>Ry,builderWorkspacesUrl:()=>Iy,cancelableTimeout:()=>Zm,cron:()=>LC,deepGet:()=>Vc,duplicateName:()=>bC,formatBytes:()=>UC,getSequentialName:()=>xC,getUserColor:()=>SO,getUserInitials:()=>TO,getUserLabel:()=>AO,isGoogleSheets:()=>OO,isSQL:()=>IO,lists:()=>md,retry:()=>wO,roles:()=>pd,schema:()=>hs,structuredOutput:()=>ld,urlHelpers:()=>NC,views:()=>fd,wait:()=>qc,withTimeout:()=>_O});var Vc=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),TO=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),SO=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),AO=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Zm(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Zm,"cancelableTimeout");async function _O(t,e){let[r,n]=Zm(t),i=await Promise.race([e(),r]);return n(),i}s(_O,"withTimeout");function OO(t){return t==="GOOGLE_SHEETS"}s(OO,"isGoogleSheets");function IO(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(IO,"isSQL");async function qc(t){return new Promise(e=>setTimeout(e,t))}s(qc,"wait");async function wO(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await qc(o);try{return await t()}catch(a){n=a}}throw n}s(wO,"retry");var gy=B(Ot()),Ey=B(my());var hy="(Input cron: ",pC={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function mC(t){let e=[];for(let r of t){r.includes(hy)&&(r=r.split(hy)[0].trim());for(let[n,i]of Object.entries(pC))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(mC,"improveErrors");function yy(t,e=4){let r=Ey.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(yy,"getNextExecutionDates");function Ty(t){let e=(0,gy.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:mC(e.getError())}}s(Ty,"validate");var hs={};P(hs,{decodeNonAscii:()=>cd,encodeNonAscii:()=>EC,isDeprecatedSingleUserColumn:()=>hC,isNumeric:()=>yC,isRequired:()=>gC});function hC(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(hC,"isDeprecatedSingleUserColumn");function gC(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(gC,"isRequired");function EC(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(EC,"encodeNonAscii");function cd(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(cd,"decodeNonAscii");function yC(t){return t.type==="number"||t.type==="bigint"}s(yC,"isNumeric");var ld={};P(ld,{normalizeSchemaForStructuredOutput:()=>TC});function TC(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let h=f;if(h.required===!0){a.push(d);let{required:p,...S}=h;u[d]=e(S)}else u[d]=e(h)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(TC,"normalizeSchemaForStructuredOutput");var fd={};P(fd,{basicFields:()=>IC,calculationFields:()=>OC,hasCalculationFields:()=>_C,isBasicViewField:()=>SC,isCalculationField:()=>gs,isCalculationView:()=>AC,isV2:()=>wC,isVisible:()=>Sy});var dd=B(require("lodash/pickBy"));function gs(t){return"calculationType"in t}s(gs,"isCalculationField");function SC(t){return!gs(t)}s(SC,"isBasicViewField");function AC(t){return t.type==="calculation"}s(AC,"isCalculationView");function _C(t){return Object.values(t.schema||{}).some(gs)}s(_C,"hasCalculationFields");function OC(t){return(0,dd.default)(t.schema||{},gs)}s(OC,"calculationFields");function Sy(t){return t.visible!==!1}s(Sy,"isVisible");function IC(t,e){let{visible:r=!0}=e||{};return(0,dd.default)(t.schema||{},n=>!gs(n)&&(!r||Sy(n)))}s(IC,"basicFields");function wC(t){return t.version===2}s(wC,"isV2");var pd={};P(pd,{checkForRoleInheritanceLoops:()=>RC});function DC(t){return`role${C}${t}`}s(DC,"prefixForCheck");function RC(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=DC(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(RC,"checkForRoleInheritanceLoops");var md={};P(md,{punctuateList:()=>CC});function CC(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(CC,"punctuateList");var bC=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),xC=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var vC=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),PC=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),lr=s((t,e)=>{let r=vC(e);if(!t)return r;let n=PC(t);return r?`${n}${r}`:n},"joinBaseAndPath"),Ay=s(t=>lr(t,Wo.ACCOUNT),"accountPortalAccountUrl"),_y=s(t=>lr(t,Wo.BILLING),"accountPortalBillingUrl"),Oy=s(t=>lr(t,Wo.UPGRADE),"accountPortalUpgradeUrl"),Iy=s(t=>lr(t,Cn.WORKSPACES),"builderWorkspacesUrl"),wy=s(t=>lr(t,Cn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),Dy=s(t=>lr(t,Cn.SETTINGS_AUTH),"builderSettingsAuthUrl"),Ry=s(t=>lr(t,Cn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),Cy=s(t=>lr(t,Cn.APPS),"builderAppsUrl"),NC={accountPortalAccountUrl:Ay,accountPortalBillingUrl:_y,accountPortalUpgradeUrl:Oy,builderWorkspacesUrl:Iy,builderSettingsEmailUrl:wy,builderSettingsAuthUrl:Dy,builderSettingsPeopleUsersUrl:Ry,builderAppsUrl:Cy};function UC(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(UC,"formatBytes");var LC={getNextExecutionDates:yy,validate:Ty};var Da=B(require("lodash/isPlainObject")),hd=B(require("lodash/isEmpty"));var kC=/{{([^{].*?)}}/g,xy=Object.values(wi),FC=[...Object.values(Ur),...Object.values(tr),...Object.values(Rn)],BC=s((t,e,r)=>{let n=$e,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||hs.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),vy=[$e.StartsWith.value,$e.Like.value,$e.Equals.value,$e.NotEquals.value,$e.Contains.value,$e.NotContains.value,$e.ContainsAny.value,$e.In.value];function yd(t,e){for(let r of xy)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(yd,"recurseLogicalOperators");var Td=s(t=>{for(let e of vy)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||WC(o))&&delete t[e][i]}return t=yd(t,Td),t},"cleanupQuery");function WC(t){return Array.isArray(t)&&t.length===0}s(WC,"isEmptyArray");var $o=s(t=>Sd(t).key,"removeKeyNumbering"),Sd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),gd=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Sd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=cd(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function $C(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(kC)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Lo(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Lo(r)){let l=jm[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if($m(r)||Gm(r)||Lo(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s($C,"buildCondition");function Go(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(Go,"splitFiltersArray");function Py(t){if(!t)return{};if(Array.isArray(t)&&(t=Gc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=by(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=Py(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Go(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=by(n.logicalOperator)),{[u]:{conditions:a.map($C).filter(c=>c)}}})},e}s(Py,"buildQuery");function by(t){return t==="all"?"$and":"$or"}s(by,"logicalOperatorFromUI");function Ad(t){if(!t)return t;for(let e of Object.values(tr)){let r=t[e];if(!(r==null||!(0,Da.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return yd(t,Ad),t}s(Ad,"fixupFilterArrays");function GC(t,e){let r=Ra(t,e.query);e.sort&&(r=Ny(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=Uy(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(GC,"search");function Ra(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=Td(e),e=Ad(e),!Ed(e)&&e.onEmptyFilter==="none")return[];let r=s((T,O)=>U=>{for(let[R,k]of Object.entries(e[T]||{})){let Y=Uo(T)?U:Vc(U,$o(R)),Ie=O(Y,k);if(e.allOr&&Ie)return!0;if(!e.allOr&&!Ie)return!1}return!e.allOr},"match"),n=r("string",(T,O)=>typeof T!="string"||typeof O!="string"?!1:T.toLowerCase().startsWith(O.toLowerCase())),i=r("fuzzy",(T,O)=>typeof T!="string"||typeof O!="string"?!1:T.toLowerCase().includes(O.toLowerCase())),o=r("range",(T,O)=>{if(T==null||T===""||((0,Da.default)(O.low)&&(0,hd.default)(O.low)&&(O.low=void 0),(0,Da.default)(O.high)&&(0,hd.default)(O.high)&&(O.high=void 0),O.low==null&&O.high==null))return!1;let U=+T;if(!isNaN(U)){let k=+O.low,Y=+O.high;if(!isNaN(k)&&!isNaN(Y))return U>=k&&U<=Y;if(isNaN(k)){if(!isNaN(Y))return U<=Y}else return U>=k}let R=(0,Qn.default)(T);if(R.isValid()){let k=(0,Qn.default)(O.low||"0000-00-00T00:00:00.000Z"),Y=(0,Qn.default)(O.high||"9999-00-00T00:00:00.000Z");if(k.isValid()&&Y.isValid())return R.isAfter(k)&&R.isBefore(Y)||R.isSame(k)||R.isSame(Y);if(k.isValid())return R.isAfter(k)||R.isSame(k);if(Y.isValid())return R.isBefore(Y)||R.isSame(Y)}return O.low!=null&&O.high!=null?T>=O.low&&T<=O.high:O.low!=null?T>=O.low:O.high!=null?T<=O.high:!1}),a=s((T,O)=>{if(Array.isArray(T)){for(let R of T)if(a(R,O))return!0;return!1}if(T&&typeof T=="object"&&typeof O=="string")return T._id===O;if(T===O)return!0;if(T==null&&O!=null||T!=null&&O==null)return!1;let U=(0,Qn.default)(T);if(U.isValid()){let R=(0,Qn.default)(O);if(R.isValid())return U.isSame(R)}return!1},"_valueMatches"),u=s(T=>(...O)=>!T(...O),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),f=r("empty",d),h=r("notEmpty",u(d)),p=r("oneOf",(T,O)=>(typeof O=="string"&&(O=O.split(",")),typeof T=="number"&&(O=O.map(U=>parseFloat(U))),Array.isArray(O)?O.some(U=>a(T,U)):!1)),S=s(T=>(O,U)=>!Array.isArray(O)||(typeof U=="string"&&(U=U.split(","),typeof O[0]=="number"&&(U=U.map(R=>parseFloat(R)))),!Array.isArray(U))?!1:U.length===0?!0:U[T](R=>a(O,R)),"_contains"),m=r("contains",(T,O)=>Array.isArray(O)&&O.length===0?!0:S("every")(T,O)),E=r("notContains",(T,O)=>Array.isArray(O)&&O.length===0?!0:u(S("every"))(T,O)),y=r("containsAny",S("some")),I=r("$and",(T,O)=>{if(!O.length)return!1;for(let U of O)if(!Ra([T],U).length)return!1;return!0}),_=r("$or",(T,O)=>{if(!O.length)return!1;for(let U of O)if(Ra([T],{...U,allOr:!0}).length)return!0;return!1}),D=s(T=>{let O={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:h,oneOf:p,contains:m,containsAny:y,notContains:E,$and:I,$or:_},U=Object.entries(e||{}).filter(([R,k])=>!["allOr","onEmptyFilter"].includes(R)&&k&&Object.keys(k).length>0).map(([R])=>O[R]?.(T)??!1);return Ed(e)?e.allOr?U.some(R=>R===!0):U.every(R=>R===!0):!0},"docMatch");return t.filter(D)}s(Ra,"runQuery");function Ny(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(Ny,"sort");function Uy(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(Uy,"limit");var Ed=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of xy)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of FC){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var Me={};P(Me,{applications:()=>Od,automations:()=>Id,screens:()=>Cd,users:()=>Rd});var Od={};P(Od,{getDevAppID:()=>VC,getProdAppID:()=>ys});var _d=rr("app"),Es=rr("app_dev");function VC(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(Es))return t;let e=t.split(_d);e.shift();let r=e.join(_d);return`${Es}${r}`}s(VC,"getDevAppID");function ys(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(Es))return t;let e=t.split(Es);e.shift();let r=e.join(Es);return`${_d}${r}`}s(ys,"getProdAppID");var Id={};P(Id,{checkForCollectStep:()=>jC,isAppAction:()=>QC,isRowAction:()=>qC,isWebhookAction:()=>KC});function qC(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(qC,"isRowAction");function KC(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(KC,"isWebhookAction");function QC(t){return t.definition.trigger?.stepId==="APP"}s(QC,"isAppAction");function Ly(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(Km(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(Ly(r))return!0}}return!1}s(Ly,"hasCollectBlockRecursive");function jC(t){return Ly(t.definition.steps)}s(jC,"checkForCollectStep");var Rd={};P(Rd,{canCreateApps:()=>YC,containsUserID:()=>rb,getGlobalUserID:()=>tb,getUserAppGroups:()=>nb,hasAdminPermissions:()=>Dd,hasAppBuilderPermissions:()=>ba,hasBuilderPermissions:()=>XC,hasCreatorPermissions:()=>xa,isAdmin:()=>Ts,isAdminOrBuilder:()=>zC,isAdminOrGlobalBuilder:()=>JC,isAdminOrWorkspaceBuilder:()=>HC,isBuilder:()=>wd,isCreator:()=>eb,isGlobalBuilder:()=>Ca,userAppAccessList:()=>ib});function wd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(ys(e))):!1}s(wd,"isBuilder");function Ca(t){return wd(t)&&!ba(t)||Ts(t)}s(Ca,"isGlobalBuilder");function YC(t){return Ca(t)||xa(t)}s(YC,"canCreateApps");function Ts(t){return t?Dd(t):!1}s(Ts,"isAdmin");function HC(t,e){return t?!!(Ts(t)||e&&t.builder?.apps?.includes(ys(e))):!1}s(HC,"isAdminOrWorkspaceBuilder");function zC(t,e){return wd(t,e)||Ts(t)}s(zC,"isAdminOrBuilder");function JC(t){return Ca(t)||Ts(t)}s(JC,"isAdminOrGlobalBuilder");function ba(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(ba,"hasAppBuilderPermissions");function ZC(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(ZC,"hasAppCreatorPermissions");function XC(t){return t?t.builder?.global||ba(t)||xa(t):!1}s(XC,"hasBuilderPermissions");function Dd(t){return t?!!t.admin?.global:!1}s(Dd,"hasAdminPermissions");function xa(t){return t?!!t.builder?.creator:!1}s(xa,"hasCreatorPermissions");function eb(t){return t?Ca(t)||Dd(t)||xa(t)||ba(t)||ZC(t):!1}s(eb,"isCreator");function tb(t){if(typeof t!="string")return t;let e=`ro${C}ta_users${C}`;return t.startsWith(e)?t.split(e)[1]:t}s(tb,"getGlobalUserID");function rb(t){return typeof t!="string"?!1:t.includes(`us${C}`)}s(rb,"containsUserID");function My(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(My,"getUserGroups");function nb(t,e,r){let n=ys(t);return My(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(nb,"getUserAppGroups");function ib(t,e){let n=My(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(ib,"userAppAccessList");var Cd={};P(Cd,{findInSettings:()=>sb});function sb(t,e){let r=[];function n(i,o=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return s(n,"recurse"),n(t.props),r}s(sb,"findInSettings");var va=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(va||{}),fr=(d=>(d.USER_BY_WORKSPACE="by_app",d.USER_BY_EMAIL="by_email2",d.BY_API_KEY="by_api_key",d.LINK="by_link",d.ROUTING="screen_routes_2",d.AUTOMATION_LOGS="automation_logs",d.ACCOUNT_BY_EMAIL="account_by_email",d.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",d.USER_BY_GROUP="user_by_group",d.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",d))(fr||{}),jn={by_email2:["by_email"]},fe={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},et=rr("app"),Pa=rr("app_dev"),tt=Pa,bd="internal",xd="budibase",Rt="_design/sqlite",vd="ta_bb_jobs",Pd="ta_bb_inventory",Nd="ta_bb_expenses",Ud="ta_bb_employee",Ss=`ro${C}ta_users${C}`,As=(r=>(r[r.SQLITE=Rt]="SQLITE",r.MIGRATIONS="_design/migrations",r))(As||{});var Na=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Na||{}),Zr=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(Zr||{}),Ld=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(Ld||{}),Md=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(Md||{}),ky=new Date(-2147483647e3),Ua=new Date(2147483647e3),ae="default";var To={};P(To,{CacheKey:()=>ye,TTL:()=>pn,bustCache:()=>ci,destroy:()=>Xs,docWritethrough:()=>lp,generic:()=>eo,get:()=>mn,invite:()=>fp,keys:()=>Cu,passwordReset:()=>pp,store:()=>jt,user:()=>Rr,withCache:()=>Or,withCacheWithDynamicTTL:()=>BS,workspace:()=>Ns,writethrough:()=>Vp});var lp={};P(lp,{DocWritethrough:()=>cp,DocWritethroughProcessor:()=>Zs,getProcessor:()=>Kv,init:()=>FS});var up={};P(up,{BudibaseQueue:()=>Et,InMemoryQueue:()=>hu,JobQueue:()=>si,QueuedProcessor:()=>ap,UnretriableError:()=>Du,shutdown:()=>sv});var Fd=require("crypto"),Ma=require("fs"),Wy=require("lodash"),_s=require("path");var ob=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,_s.resolve)((0,_s.join)(__dirname,"..","..","..")),Fy=!1;!Fy&&La()&&!Bd()&&(require("dotenv").config({path:(0,_s.join)(ob,".env")}),Fy=!0);function Bd(){return $y()}s(Bd,"isTest");function $y(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s($y,"isJest");function La(){return process.env.NODE_ENV!=="production"}s(La,"isDev");function ab(t){if(t)return parseInt(t)}s(ab,"parseIntSafe");var Yn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},By=!!parseInt(process.env.SELF_HOSTED||"");function ub(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(ub,"getAPIEncryptionKey");function cb(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(cb,"httpLogging");function lb(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ma.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Ma.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(La()&&!Bd())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(lb,"getPackageJsonFields");function db(){return pt.SERVICE_TYPE==="worker"}s(db,"isWorker");function fb(){return pt.SERVICE_TYPE==="apps"}s(fb,"isApps");function pb(){return pt.BUDIBASE_ENVIRONMENT==="QA"}s(pb,"isQA");function mb(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(mb,"getServiceName");var pt={isTest:Bd,isJest:$y,isDev:La,isWorker:db,isApps:fb,isQA:pb,isProd:()=>!La(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,Fd.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,Fd.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:ub(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:By,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||Yn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Yn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Yn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Yn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Yn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Yn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:mb(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:cb(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:By?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...lb(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,pt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:ab(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC};function Os(t){let e=(0,Wy.cloneDeep)(pt),r;for(r in t)pt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))pt._set(n,i)}}s(Os,"setEnv");function Gy(t,e){let r=Os(t),n=e();return n instanceof Promise?n.finally(r):(r(),n)}s(Gy,"withEnv");var Vy=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","OPENAI_API_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(pt))e==="0"&&(pt[t]=0),e==="false"&&(pt[t]=0);var g=pt;var Ba={};P(Ba,{Databases:()=>Wd,SEPARATOR:()=>Hn,SelectableDatabase:()=>ka,getRedisClusterOptions:()=>$d,getRedisConnectionDetails:()=>Fa,getRedisOptions:()=>Xr,removeDbPrefix:()=>Gd});var Hn="-",Wd=(_=>(_.PW_RESETS="pwReset",_.VERIFICATIONS="verification",_.INVITATIONS="invitation",_.DEV_LOCKS="devLocks",_.DEBOUNCE="debounce",_.SESSIONS="session",_.USER_CACHE="users",_.FLAGS="flags",_.WORKSPACE_METADATA="appMetadata",_.QUERY_VARS="queryVars",_.LICENSES="license",_.GENERIC_CACHE="data_cache",_.WRITE_THROUGH="writeThrough",_.LOCKS="locks",_.SOCKET_IO="socket_io",_.BPM_EVENTS="bpmEvents",_.DOC_WRITE_THROUGH="docWriteThrough",_.RECAPTCHA_SESSION="recaptchaSession",_.OPENAPI_IMPORT_SPECS="openapiImportSpecs",_))(Wd||{}),ka=(E=>(E[E.DEFAULT=0]="DEFAULT",E[E.SOCKET_IO=1]="SOCKET_IO",E[E.RATE_LIMITING=2]="RATE_LIMITING",E[E.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",E[E.UNUSED_3=4]="UNUSED_3",E[E.UNUSED_4=5]="UNUSED_4",E[E.UNUSED_5=6]="UNUSED_5",E[E.UNUSED_6=7]="UNUSED_6",E[E.UNUSED_7=8]="UNUSED_7",E[E.UNUSED_8=9]="UNUSED_8",E[E.UNUSED_9=10]="UNUSED_9",E[E.UNUSED_10=11]="UNUSED_10",E[E.UNUSED_11=12]="UNUSED_11",E[E.UNUSED_12=13]="UNUSED_12",E[E.UNUSED_13=14]="UNUSED_13",E[E.UNUSED_14=15]="UNUSED_14",E))(ka||{});function Fa(){let t=g.REDIS_PASSWORD,e=g.REDIS_USERNAME,r=g.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(Fa,"getRedisConnectionDetails");function $d(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...Xr(),tls:{}}}}s($d,"getRedisClusterOptions");function Xr(){let{host:t,password:e,port:r,username:n}=Fa();return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n}}}s(Xr,"getRedisOptions");function Gd(t){let e=t.split(Hn);return e.length>=2?(e.shift(),e.join(Hn)):e[0]}s(Gd,"removeDbPrefix");var tS=B(require("events"));var ii={};P(ii,{Duration:()=>he,DurationType:()=>Ff,GZIP_PREFIX:()=>mu,clearCookie:()=>Tr,compare:()=>Kd,getCookie:()=>qt,getDispatcher:()=>Kx,getWorkspaceIdFromCtx:()=>an,gunzipFromBase64:()=>Hx,gzipToBase64:()=>Yx,hasCircularStructure:()=>kx,hash:()=>qd,isAudited:()=>Mf,isClient:()=>Mx,isPublicApiRequest:()=>Ux,isServingApp:()=>vx,isServingBuilder:()=>Px,isServingBuilderPreview:()=>Nx,isValidInternalAPIKey:()=>$s,newid:()=>ee,openJwt:()=>du,setCookie:()=>eS,time:()=>Bx,timeout:()=>Lf,urlHasProtocol:()=>Fx,validEmail:()=>kf});var qy=require("uuid");function ee(){return(0,qy.v4)().replace(/-/g,"")}s(ee,"newid");var Vd=require("bcrypt"),hb=g.SALT_ROUNDS||10;async function qd(t){let e=await Vd.genSalt(hb);return Vd.hash(t,e)}s(qd,"hash");async function Kd(t,e){return Vd.compare(t,e)}s(Kd,"compare");var lu=B(require("jsonwebtoken"));var ue={};P(ue,{DEFAULT_TENANT_ID:()=>ae,baseGlobalDBName:()=>xs,doInAutomationContext:()=>Bb,doInContext:()=>lf,doInEnvironmentContext:()=>zb,doInFeatureFlagOverrideContext:()=>Ef,doInIPContext:()=>pf,doInIdentityContext:()=>ws,doInLicenseContext:()=>$b,doInScimContext:()=>Jb,doInSelfHostTenantUsingCloud:()=>Wb,doInTenant:()=>Ce,doInWorkspaceContext:()=>qb,doInWorkspaceMigrationContext:()=>Qb,ensureSnippetContext:()=>oT,getAuditLogDBName:()=>iT,getAuditLogsDB:()=>Xb,getAutomationId:()=>df,getCurrentContext:()=>rn,getDevWorkspaceDB:()=>tx,getDevWorkspaceId:()=>Yb,getEnvironmentVariables:()=>Zb,getFeatureFlagOverrides:()=>gf,getFeatureFlags:()=>mf,getGlobalDB:()=>H,getGlobalDBName:()=>tn,getIP:()=>ff,getIdentity:()=>Bt,getLicense:()=>Gb,getOrThrowWorkspaceId:()=>jb,getPlatformURL:()=>cf,getProdWorkspaceDB:()=>ex,getProdWorkspaceId:()=>Hb,getScimDBName:()=>Lb,getSelfHostCloudDB:()=>Vb,getTableForView:()=>rx,getTenantIDFromWorkspaceID:()=>Xn,getTenantId:()=>V,getWorkspaceDB:()=>ei,getWorkspaceId:()=>be,identity:()=>Is,isMultiTenant:()=>hr,isScim:()=>gt,isSelfHostUsingCloud:()=>ja,isTenancyEnabled:()=>kb,isTenantIdSet:()=>Mb,setFeatureFlags:()=>hf,setTableForView:()=>nx});var Is={};P(Is,{doInAccountContext:()=>gb,doInIdentityContext:()=>jd,doInUserContext:()=>Yd,getAccountUserId:()=>Ky,getIdentity:()=>Qd});function Qd(){return Bt()}s(Qd,"getIdentity");function jd(t,e){return ws(t,e)}s(jd,"doInIdentityContext");function Yd(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return jd(n,r)}s(Yd,"doInUserContext");function gb(t,e){let r=Ky(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return jd(i,e)}s(gb,"doInAccountContext");function Ky(t){let e;return ko(t)?e=t.budibaseUserId:e=t.accountId,e}s(Ky,"getAccountUserId");var mt=s(t=>{let e=Hd(t),r,n;if(e.auth?.username)r=e.auth.username;else if(g.COUCH_DB_USERNAME)r=g.COUCH_DB_USERNAME;else if(!g.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(g.COUCH_DB_PASSWORD)n=g.COUCH_DB_PASSWORD;else if(!g.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=g.COUCH_DB_SQL_URL;if(g.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:Hd(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Hd=s((t=g.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var tT=B(require("@budibase/nano"));var Qy=B(require("node-fetch"));function $a(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s($a,"checkSlashesInUrl");async function jy(t,e="GET",r){let{url:n,cookie:i}=mt(),o=`${n}/${t}`;return await Ds({url:o,cookie:i,method:e,body:r})}s(jy,"directCouchCall");async function Ds({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,Qy.default)($a(encodeURI(t)),i)}s(Ds,"directCouchUrlCall");async function zd(t,e="GET",r){let n=await jy(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(zd,"directCouchQuery");var en=B(require("pouchdb"));var Yy,Hy=!1,Jd=s((t={})=>{let{url:e,cookie:r}=mt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),en.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");en.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");en.default.plugin(i.plugin),en.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");en.default.plugin(i)}return en.default.defaults(n)},"getPouch");function Ga(t){Yy=Jd(t),Hy=!0}s(Ga,"init");var Eb=s(()=>{if(!Hy)throw new Error("init has not been called")},"checkInitialised");function rt(t,e){Eb();let r=new Yy(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(rt,"getPouchDB");async function Rs(t){if(!(!t||g.isTest()))try{return await t.close()}catch{}}s(Rs,"closePouchDB");var le=B(require("dd-trace"));var zn=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return le.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return le.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return le.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return le.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return le.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return le.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return le.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return le.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return le.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return le.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return le.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return le.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return le.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return le.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return le.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return le.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return le.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return le.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return le.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return le.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return le.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var of={};P(of,{breakExternalTableId:()=>ef,breakRowIdField:()=>xb,buildExternalTableId:()=>Ib,convertRowId:()=>bb,encodeTableId:()=>wb,encodeViewId:()=>Db,extractDate:()=>rf,generateRowIdField:()=>Rb,getNativeSql:()=>Jn,isExternalTable:()=>Xd,isExternalTableID:()=>Va,isInternalTableID:()=>Ob,isRowId:()=>Cb,isValidFilter:()=>Ka,isValidISODateString:()=>qa,isValidISODateStringWithoutTimezone:()=>tf,isValidTime:()=>nf,sqlLog:()=>Cs,validateManyToMany:()=>sf});var Zd=`${C}${C}`,Jy=/^\[.*]$/g,yb=encodeURIComponent(" "),Tb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Sb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Ab=/(\d{4}-\d{2}-\d{2})/,_b=/^(?:\d{2}:)?(?:\d{2}:)(?:\d{2})$/;function Va(t){return t.startsWith("datasource"+C)}s(Va,"isExternalTableID");function Ob(t){return!Va(t)}s(Ob,"isInternalTableID");function Jn(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(Jn,"getNativeSql");function Xd(t){return t?.sourceId&&t.sourceId.includes("datasource"+C)&&t?.sourceId!==bn||t?.sourceType==="external"?!0:!!(t?._id&&Va(t._id))}s(Xd,"isExternalTable");function Ib(t,e){return`${t}${Zd}${encodeURIComponent(e)}`}s(Ib,"buildExternalTableId");function wb(t){return Va(t)?encodeURIComponent(t):t}s(wb,"encodeTableId");function Db(t){return encodeURIComponent(t)}s(Db,"encodeViewId");function ef(t){let e=t.split(Zd),r=e.shift(),n=e.join(Zd);if(n.includes(yb)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(ef,"breakExternalTableId");function Rb(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(Rb,"generateRowIdField");function Cb(t){return Array.isArray(t)||typeof t=="string"&&t.match(Jy)!=null}s(Cb,"isRowId");function bb(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(Jy)!=null?t.substring(1,t.length-1):t}s(bb,"convertRowId");function xb(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(xb,"breakRowIdField");function qa(t){let e=t.trim();if(!Tb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(qa,"isValidISODateString");function tf(t){let e=t.trim();if(!Sb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(tf,"isValidISODateStringWithoutTimezone");function rf(t){let e=t.match(Ab);if(e)return e[0]}s(rf,"extractDate");function Ka(t){return t!=null&&t!==""}s(Ka,"isValidFilter");function nf(t){return _b.test(t)}s(nf,"isValidTime");function Cs(t,e,r){if(!g.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Cs,"sqlLog");function vb(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(vb,"isValidManyToManyRelationship");function sf(t){if(vb(t))return t}s(sf,"validateManyToMany");var Zy="Database does not exist.";function Xy(t){return(0,tT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(Xy,"buildNano");var pr=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};function Pb(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new Zn(t,r,e);return new zn(n)}s(Pb,"DatabaseWithConnection");var Zn=class t{constructor(e,r,n){this.couchInfo=mt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=mt(n),this.instanceNano=Xy(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=mt();t.nano=Xy(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Ds({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new pr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===Zy)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new pr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new pr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(Vm(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new pr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ee()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===Zy)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=$a(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await Ds(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new pr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${Rt}`;return Cs("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(Rt)){let e=await this.get(Rt);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new pr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return rt(this.name).dump(e,r)}async load(e){return rt(this.name).load(e)}async createIndex(e){return rt(this.name).createIndex(e)}async deleteIndex(e){return rt(this.name).deleteIndex(e)}async getIndexes(){return rt(this.name).getIndexes()}};function Re(t,e){return new zn(new Zn(t,e))}s(Re,"getDB");async function je(t,e,r){let n=Re(t,r);return await e(n)}s(je,"doWithDB");async function af(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await zd(e)}s(af,"directCouchAllDbs");var uf="No app provided";function mr(t){if(!t)throw uf;return t.startsWith(tt)}s(mr,"isDevWorkspaceID");function Nb(t){if(!t)throw uf;return t.startsWith(et)&&!mr(t)}s(Nb,"isProdWorkspaceID");function bs(t){if(!t)throw uf;return mr(t.appId)}s(bs,"isDevWorkspace");function Qa(t){if(!t||t.startsWith(tt))return t;let e=t.split(et);e.shift();let r=e.join(et);return`${tt}${r}`}s(Qa,"getDevWorkspaceID");function Ye(t){if(!t||!t.startsWith(tt))return t;let e=t.split(tt);e.shift();let r=e.join(tt);return`${et}${r}`}s(Ye,"getProdWorkspaceID");var rT=require("async_hooks");var me=class t{static{s(this,"Context")}static{this.storage=new rT.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var nT=null;function tn(t){return t||(t=V()),xs(t)}s(tn,"getGlobalDBName");function iT(t){return t||(t=V()),t===ae?fe.AUDIT_LOGS.name:`${t}${C}${fe.AUDIT_LOGS.name}`}s(iT,"getAuditLogDBName");function Lb(t){return t||(t=V()),t===ae?fe.SCIM_LOGS.name:`${t}${C}${fe.SCIM_LOGS.name}`}s(Lb,"getScimDBName");function xs(t){return!t||t===ae?fe.GLOBAL.name:`${t}${C}${fe.GLOBAL.name}`}s(xs,"baseGlobalDBName");function cf(){return g.PLATFORM_URL}s(cf,"getPlatformURL");function hr(){return!!g.MULTI_TENANCY}s(hr,"isMultiTenant");function Mb(){return!!me.get()?.tenantId}s(Mb,"isTenantIdSet");function kb(){return g.MULTI_TENANCY}s(kb,"isTenancyEnabled");function Xn(t){if(!t)return;if(!hr())return ae;let e=t.split(C),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(Xn,"getTenantIDFromWorkspaceID");function Fb(t){let e;try{e=me.get()}catch{e={}}return e={...e,...t},e}s(Fb,"updateContext");async function ht(t,e){Kb();let r=Fb(t);return me.run(r,e)}s(ht,"newContext");async function Bb(t){return await oT(),await ht({tenantId:Xn(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(Bb,"doInAutomationContext");async function lf(t,e){let r=Xn(t);return ht({tenantId:r,appId:t},e)}s(lf,"doInContext");async function Ce(t,e){return g.MULTI_TENANCY||(t=t||ae),ht(t?{tenantId:t}:{},e)}s(Ce,"doInTenant");async function Wb(t,e){return ht({tenantId:t,isSelfHostUsingCloud:!0},e)}s(Wb,"doInSelfHostTenantUsingCloud");async function $b(t,e){return ht({license:t},e)}s($b,"doInLicenseContext");function Gb(){return me.get()?.license}s(Gb,"getLicense");function ja(){return!!me.get()?.isSelfHostUsingCloud}s(ja,"isSelfHostUsingCloud");function Vb(){let t=me.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Re(fe.SELF_HOST_CLOUD.name)}s(Vb,"getSelfHostCloudDB");async function qb(t,e){return sT(t,e)}s(qb,"doInWorkspaceContext");async function sT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=Xn(t),i={appId:t,...r};return n&&(i.tenantId=n),ht(i,e)}s(sT,"_doInWorkspaceContext");async function ws(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ht(r,e)}s(ws,"doInIdentityContext");function Kb(){if(me.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(Kb,"guardMigration");async function Qb(t,e){return sT(t,e,{isMigrating:!0})}s(Qb,"doInWorkspaceMigrationContext");function Bt(){try{return me.get()?.identity}catch{}}s(Bt,"getIdentity");function V(){if(!hr())return ae;let e=me.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(V,"getTenantId");function df(){return me.get()?.automationId}s(df,"getAutomationId");function be(){let e=me.get()?.appId;return!e&&g.isTest()&&nT?nT:e}s(be,"getWorkspaceId");function jb(){let t=be();if(!t)throw new Error("Workspace id not set");return t}s(jb,"getOrThrowWorkspaceId");function ff(){return me.get()?.ip}s(ff,"getIP");var Yb=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return Qa(t)},"getDevWorkspaceId"),Hb=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return Ye(t)},"getProdWorkspaceId");function zb(t,e){if(!t)throw new Error("Must supply environment variables.");return ht({environmentVariables:t},e)}s(zb,"doInEnvironmentContext");function Jb(t){return ht({isScim:!0},t)}s(Jb,"doInScimContext");function pf(t,e){return ht({ip:t},e)}s(pf,"doInIPContext");async function oT(){let t=rn();if(!t||t.snippets)return;let e,r=ei();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(oT,"ensureSnippetContext");function Zb(){let t=me.get();return t.environmentVariables?t.environmentVariables:null}s(Zb,"getEnvironmentVariables");function H(){let t=me.get();if(!t||g.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Re(xs(t?.tenantId))}s(H,"getGlobalDB");function Xb(){if(!V())throw new Error("No tenant ID found - cannot open audit log DB");return Re(iT())}s(Xb,"getAuditLogsDB");function ei(t){let e=be();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(ja())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Re(e,t)}s(ei,"getWorkspaceDB");function ex(t){let e=be();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Re(Ye(e),t)}s(ex,"getProdWorkspaceDB");function tx(t){let e=be();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Re(Qa(e),t)}s(tx,"getDevWorkspaceDB");function gt(){return!!me.get()?.isScim}s(gt,"isScim");function rn(){try{return me.get()}catch{return}}s(rn,"getCurrentContext");function mf(t){let e=rn();if(e)return e.featureFlagCache?.[t]}s(mf,"getFeatureFlags");function hf(t,e){let r=rn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(hf,"setFeatureFlags");function gf(){return rn()?.featureFlagOverrides||{}}s(gf,"getFeatureFlagOverrides");async function Ef(t,e){return await ht({featureFlagOverrides:t},e)}s(Ef,"doInFeatureFlagOverrideContext");function rx(t){let e=rn();if(e)return e.viewToTableCache?.[t]}s(rx,"getTableForView");function nx(t,e){let r=rn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(nx,"setTableForView");var yr={};P(yr,{AutomationViewMode:()=>va,BUDIBASE_DATASOURCE_TYPE:()=>xd,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Ud,DEFAULT_EXPENSES_TABLE_ID:()=>Nd,DEFAULT_INVENTORY_TABLE_ID:()=>Pd,DEFAULT_JOBS_TABLE_ID:()=>vd,DatabaseImpl:()=>Zn,DatabaseWithConnection:()=>Pb,DeprecatedViews:()=>jn,DesignDocuments:()=>As,DocumentType:()=>ce,InternalTable:()=>vt,QueryBuilder:()=>Vt,Replication:()=>jT,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>bd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>Ss,ViewName:()=>fr,WORKSPACE_DEV:()=>Pa,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,baseGlobalDBName:()=>xs,checkErrorCode:()=>JT,closePouchDB:()=>Rs,createApiKeyView:()=>$T,createNewUserEmailView:()=>BT,createPlatformAccountEmailView:()=>VT,createPlatformUserView:()=>qT,createUserAppView:()=>WT,createView:()=>ni,dbExists:()=>Tx,directCouchAllDbs:()=>af,directCouchCall:()=>jy,directCouchQuery:()=>zd,directCouchUrlCall:()=>Ds,doWithDB:()=>je,fullSearch:()=>Ix,generateAIConfigID:()=>DT,generateAgentFileID:()=>wT,generateAgentID:()=>AT,generateAgentToolSourceID:()=>IT,generateAppUserID:()=>au,generateChatAppID:()=>_T,generateChatConversationID:()=>OT,generateDevInfoID:()=>yT,generateGlobalUserID:()=>ri,generateOAuth2LogID:()=>ST,generatePluginID:()=>TT,generateRoleID:()=>If,generateRowID:()=>Of,generateTableID:()=>pT,generateTemplateID:()=>ET,generateUserMetadataID:()=>hT,generateVectorDbID:()=>xT,generateWorkspaceAppID:()=>CT,generateWorkspaceFavouriteID:()=>bT,generateWorkspaceID:()=>fT,getAllDbs:()=>FT,getAllWorkspaces:()=>Ls,getCouchInfo:()=>mt,getDB:()=>Re,getDevWorkspaceID:()=>Qa,getDevWorkspaceIDs:()=>Ex,getDocParams:()=>$t,getGlobalDBName:()=>tn,getGlobalIDFromUserMetadataID:()=>gT,getGlobalUserParams:()=>sn,getLiteLLMKeyID:()=>RT,getOAuth2ConfigParams:()=>LT,getPluginParams:()=>UT,getPouch:()=>Jd,getPouchDB:()=>rt,getProdWorkpaceIDs:()=>gx,getProdWorkspaceID:()=>Ye,getQueryIndex:()=>vT,getRoleParams:()=>cu,getRowParams:()=>wf,getStartEndKeyURL:()=>Us,getTemplateParams:()=>NT,getUrlInfo:()=>Hd,getUserMetadataParams:()=>PT,getUsersByWorkspaceParams:()=>uu,getWorkspaceAppParams:()=>MT,getWorkspaceFavouriteParams:()=>kT,getWorkspacesByIDs:()=>hx,init:()=>Ga,isDevWorkspace:()=>bs,isDevWorkspaceID:()=>mr,isDocumentConflictError:()=>Dx,isGlobalUserID:()=>mT,isProdWorkspaceID:()=>Nb,isSameWorkspaceID:()=>yx,paginatedSearch:()=>Ox,pagination:()=>Rf,prefixRoleID:()=>Wt,queryGlobalView:()=>Gt,queryGlobalViewRaw:()=>xf,queryPlatformView:()=>ks,queryView:()=>bf,queryViewRaw:()=>Ms,removeKeyNumbering:()=>Fs,searchIndexes:()=>Pf});var Ns={};P(Ns,{WorkspaceState:()=>_f,getWorkspaceMetadata:()=>ou,invalidateWorkspaceMetadata:()=>px});var Er={};P(Er,{getCacheClient:()=>Tf,getDocWritethroughClient:()=>cx,getInviteClient:()=>nn,getLockClient:()=>Af,getOpenapiImportSpecsClient:()=>ax,getPasswordResetClient:()=>Ps,getSessionClient:()=>gr,getSocketClient:()=>ux,getUserClient:()=>vs,getWorkspaceClient:()=>su,getWritethroughClient:()=>Sf,init:()=>nt,shutdown:()=>lT});var Ha=B(require("ioredis"));var Ya=require("dd-trace"),uT=require("lodash");var aT;if(g.MOCK_REDIS)try{aT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function ix(t=0){return await Ya.tracer.trace("Redis.init",async e=>{if(g.MOCK_REDIS)return e.addTags({mock:!0}),new aT(Xr());let r;if(g.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=Fa();r=new Ha.Cluster([{host:n,port:i}],$d())}else r=new Ha.default(Xr());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(ix,"init");function sx(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:Gd(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(sx,"promisifyStream");function ox(t){return t.isCluster}s(ox,"isCluster");var yf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await Ya.tracer.trace("RedisWrapper.init",async n=>{let i=await ix(r);return r&&!g.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return Ya.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Hn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Hn}${e}`;let n;ox(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:1e3}):n=this.client.scanStream({match:e+"*",count:1e3});let i=await sx(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,uT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
|
|
5
|
+
`),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=cr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");cr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,cr.parseString(i.toString()))})},"parseFile");py.exports=cr});var LM={};P(LM,{APIWarning:()=>In,AutomationViewMode:()=>va,BUDIBASE_DATASOURCE_TYPE:()=>xd,BadRequestError:()=>vu,BudibaseError:()=>no,Config:()=>Md,Cookie:()=>Zr,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Ud,DEFAULT_EXPENSES_TABLE_ID:()=>Nd,DEFAULT_INVENTORY_TABLE_ID:()=>Pd,DEFAULT_JOBS_TABLE_ID:()=>vd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>As,DocumentType:()=>ce,Duration:()=>he,DurationType:()=>Ff,EmailUnavailableError:()=>Yt,Endpoint:()=>vc,EndpointGroup:()=>wn,EndpointGroupList:()=>vo,FeatureDisabledError:()=>Uu,FeatureDisabledWarning:()=>Ec,ForbiddenError:()=>Pu,GlobalRole:()=>Ld,HTTPError:()=>ke,Header:()=>We,InternalTable:()=>vt,InvalidAPIKeyWarning:()=>Ai,MAX_VALID_DATE:()=>Ua,MIN_VALID_DATE:()=>ky,NotFoundError:()=>xu,NotImplementedError:()=>Nu,RedisClient:()=>De,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>bd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>Ss,UnexpectedError:()=>bu,UsageLimitError:()=>Lu,UsageLimitWarning:()=>gc,UserStatus:()=>Na,ViewName:()=>fr,WORKSPACE_DEV:()=>Pa,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,accounts:()=>hn,auth:()=>Sm,blacklist:()=>Im,cache:()=>To,configs:()=>Ht,constants:()=>kd,context:()=>ue,csv:()=>Mm,db:()=>yr,docIds:()=>Df,docUpdates:()=>Dm,encryption:()=>pm,env:()=>g,errors:()=>ku,events:()=>pi,features:()=>am,getErrorMessage:()=>KS,getPublicError:()=>Mu,init:()=>UM,installation:()=>qu,locks:()=>Si,logging:()=>Js,middleware:()=>Tm,objectStore:()=>rp,permissions:()=>im,platform:()=>to,plugins:()=>_m,queue:()=>up,redis:()=>Om,roles:()=>nm,security:()=>Sp,sessions:()=>Fu,setEnv:()=>Os,sql:()=>Lm,tenancy:()=>NM,timers:()=>gu,userUtils:()=>Up,users:()=>hi,utils:()=>ii,warnings:()=>mm,withEnv:()=>Gy});module.exports=rO(LM);var Ht={};P(Ht,{analyticsEnabled:()=>$u,generateConfigID:()=>Io,getAIConfig:()=>QL,getConfig:()=>ve,getDefaultGoogleConfig:()=>qp,getGoogleConfig:()=>nc,getGoogleDatasourceConfig:()=>Qp,getOIDCConfig:()=>VL,getOIDCConfigById:()=>jp,getOIDCLogosDoc:()=>$L,getPlatformUrl:()=>wo,getRecaptchaConfig:()=>jL,getSCIMConfig:()=>KL,getSMTPConfig:()=>qL,getSMTPConfigDoc:()=>QA,getSettingsConfig:()=>Kp,getSettingsConfigDoc:()=>gi,getTranslationsConfig:()=>BL,getTranslationsConfigDoc:()=>KA,save:()=>FL});var nO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],iO=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],Bm=[...nO,...iO],Wm={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":"AI configuration created","ai:config:updated":"AI configuration updated","auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:crud:executed":void 0,"action:ai_agent:executed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var Pc=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(Pc||{}),Nc=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",p.SENSITIVE_LONGFORM="sensitiveLongForm",p.BOOLEAN="boolean",p.NUMBER="number",p.PASSWORD="password",p.LIST="list",p.OBJECT="object",p.JSON="json",p.FILE="file",p.FIELD_GROUP="fieldGroup",p.SELECT="select",p))(Nc||{}),No=(y=>(y.AIRTABLE="AIRTABLE",y.ARANGODB="ARANGODB",y.BUDIBASE="BUDIBASE",y.COUCHDB="COUCHDB",y.DYNAMODB="DYNAMODB",y.ELASTICSEARCH="ELASTICSEARCH",y.FIRESTORE="FIRESTORE",y.GOOGLE_SHEETS="GOOGLE_SHEETS",y.MONGODB="MONGODB",y.MYSQL="MYSQL",y.ORACLE="ORACLE",y.POSTGRES="POSTGRES",y.REDIS="REDIS",y.REST="REST",y.S3="S3",y.SNOWFLAKE="SNOWFLAKE",y.SQL_SERVER="SQL_SERVER",y))(No||{});var Uc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Uc||{});var sO=B(require("lodash/isPlainObject"));var Ur=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Ur||{}),tr=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(tr||{}),Rn=(e=>(e.RANGE="range",e))(Rn||{}),wi=(r=>(r.AND="$and",r.OR="$or",r))(wi||{});function Uo(t){return Object.values(wi).includes(t)}s(Uo,"isLogicalSearchOperator");function $m(t){return Object.values(Ur).includes(t)}s($m,"isBasicSearchOperator");function Gm(t){return Object.values(tr).includes(t)}s(Gm,"isArraySearchOperator");function Lo(t){return Object.values(Rn).includes(t)}s(Lo,"isRangeSearchOperator");var Vm=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Di=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Di||{});var Ri=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Ri||{});var Mo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(Mo||{});var ko=s(t=>t.hosting==="cloud","isCloudAccount");var Fo=s(t=>t.authType==="sso","isSSOAccount");var C="_",Ne="\uFFF0",rr=s(t=>`${t}${C}`,"prefixed"),ce=(G=>(G.USER="us",G.GROUP="gr",G.CONFIG="config",G.TEMPLATE="template",G.WORKSPACE="app",G.DEV="dev",G.WORKSPACE_DEV="app_dev",G.WORKSPACE_METADATA="app_metadata",G.ROLE="role",G.DEV_INFO="devinfo",G.AUTOMATION_LOG="log_au",G.ACCOUNT_METADATA="acc_metadata",G.PLUGIN="plg",G.DATASOURCE="datasource",G.DATASOURCE_PLUS="datasource_plus",G.APP_BACKUP="backup",G.TABLE="ta",G.ROW="ro",G.AUTOMATION="au",G.LINK="li",G.WEBHOOK="wh",G.INSTANCE="inst",G.LAYOUT="layout",G.SCREEN="screen",G.QUERY="query",G.DEPLOYMENTS="deployments",G.METADATA="metadata",G.MEM_VIEW="view",G.USER_FLAG="flag",G.AUTOMATION_METADATA="meta_au",G.AUDIT_LOG="al",G.SCIM_LOG="scimlog",G.ROW_ACTIONS="ra",G.OAUTH2_CONFIG="oauth2",G.OAUTH2_CONFIG_LOG="oauth2log",G.AGENT="agent",G.CHAT_APP="chatapp",G.CHAT_CONVERSATION="chatconvo",G.AGENT_TOOL_SOURCE="agenttoolsource",G.AGENT_FILE="agentfile",G.AI_CONFIG="aiconfig",G.LITELLM_KEY="litellmkey",G.VECTOR_STORE="vectordb",G.WORKSPACE_APP="workspace_app",G.WORKSPACE_FAVOURITE="workspace_favourite",G.AUTO_COLUMN_STATE="autocolumn_state",G))(ce||{});var vt=(e=>(e.USER_METADATA="ta_users",e))(vt||{});function Bo(t){return!!t.providerType}s(Bo,"isSSOUser");var Lc=(d=>(d.OBJECT="object",d.STRING="string",d.BOOLEAN="boolean",d.NUMBER="number",d.ARRAY="array",d.JSON="json",d.DATE="date",d.DATETIME="datetime",d.ATTACHMENT="attachment",d.LONGFORM="longform",d))(Lc||{}),Mc=(O=>(O.TABLE="table",O.ROW="row",O.ROWS="rows",O.WIDE="wide",O.QUERY="query",O.QUERY_PARAMS="queryParams",O.QUERY_LIMIT="queryLimit",O.LOOP_OPTION="loopOption",O.ITEM="item",O.CODE="code",O.FILTERS="filters",O.COLUMN="column",O.TRIGGER_SCHEMA="triggerSchema",O.CRON="cron",O.WEBHOOK_URL="webhookUrl",O.AUTOMATION="automation",O.AUTOMATION_FIELDS="automationFields",O.MULTI_ATTACHMENTS="multi_attachments",O.TRIGGER_FILTER="trigger_filter",O.CATEGORIES="categories",O.AGENT="agent",O.OUTPUT_SCHEMA="outputSchema",O))(Mc||{}),kc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(kc||{});var Fc=(w=>(w.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",w.CREATE_ROW="CREATE_ROW",w.GET_ROW="GET_ROW",w.UPDATE_ROW="UPDATE_ROW",w.DELETE_ROW="DELETE_ROW",w.QUERY_ROWS="QUERY_ROWS",w.EXECUTE_BASH="EXECUTE_BASH",w.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",w.EXECUTE_SCRIPT="EXECUTE_SCRIPT",w.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",w.EXECUTE_QUERY="EXECUTE_QUERY",w.SERVER_LOG="SERVER_LOG",w.DELAY="DELAY",w.FILTER="FILTER",w.API_REQUEST="API_REQUEST",w.LOOP="LOOP",w.COLLECT="COLLECT",w.OPENAI="OPENAI",w.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",w.BRANCH="BRANCH",w.CLASSIFY_CONTENT="CLASSIFY_CONTENT",w.PROMPT_LLM="PROMPT_LLM",w.TRANSLATE="TRANSLATE",w.SUMMARISE="SUMMARISE",w.GENERATE_TEXT="GENERATE_TEXT",w.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",w.EXTRACT_STATE="EXTRACT_STATE",w.LOOP_V2="LOOP_V2",w.AGENT="AGENT",w.discord="discord",w.slack="slack",w.zapier="zapier",w.integromat="integromat",w.n8n="n8n",w))(Fc||{}),qm=[...Object.values(Fc),...Object.values(kc)];function Km(t){return t.stepId==="BRANCH"}s(Km,"isBranchStep");var Bc="bb_internal";var Qm=["attachment_single","attachment","signature_single","bb_reference","json","array"];var kd={};P(kd,{AutomationViewMode:()=>va,BUDIBASE_DATASOURCE_TYPE:()=>xd,Config:()=>Md,Cookie:()=>Zr,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Ud,DEFAULT_EXPENSES_TABLE_ID:()=>Nd,DEFAULT_INVENTORY_TABLE_ID:()=>Pd,DEFAULT_JOBS_TABLE_ID:()=>vd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>As,DocumentType:()=>ce,GlobalRole:()=>Ld,Header:()=>We,InternalTable:()=>vt,MAX_VALID_DATE:()=>Ua,MIN_VALID_DATE:()=>ky,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>bd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>Ss,UserStatus:()=>Na,ViewName:()=>fr,WORKSPACE_DEV:()=>Pa,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et});var We=(_=>(_.API_KEY="x-budibase-api-key",_.LICENSE_KEY="x-budibase-license-key",_.API_VER="x-budibase-api-version",_.APP_ID="x-budibase-app-id",_.SESSION_ID="x-budibase-session-id",_.CLIENT="x-budibase-client",_.TYPE="x-budibase-type",_.PREVIEW_ROLE="x-budibase-role",_.TENANT_ID="x-budibase-tenant-id",_.VERIFICATION_CODE="x-budibase-verification-code",_.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",_.RESET_PASSWORD_CODE="x-budibase-reset-password-code",_.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",_.TOKEN="x-budibase-token",_.CSRF_TOKEN="x-csrf-token",_.CORRELATION_ID="x-budibase-correlation-id",_.AUTHORIZATION="authorization",_.MIGRATING_APP="x-budibase-migrating-app",_.COOKIE="cookie",_))(We||{});var Cn={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},Wo={ACCOUNT:"/portal/account",BILLING:"/portal/billing",UPGRADE:"/portal/upgrade"};var $e={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},jm={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var bn="datasource_internal_bb_default";var dr={};P(dr,{ColumnSplitter:()=>gd,NoEmptyFilterStrings:()=>vy,buildQuery:()=>Py,cleanupQuery:()=>Td,fixupFilterArrays:()=>Ad,getKeyNumbering:()=>Sd,getValidOperatorsForType:()=>BC,hasFilters:()=>Ed,limit:()=>Uy,recurseLogicalOperators:()=>yd,removeKeyNumbering:()=>$o,runQuery:()=>Ra,search:()=>GC,sort:()=>Ny,splitFiltersArray:()=>Go});var Qn=B(Ym());var _t={};P(_t,{filterValueToLabel:()=>dO,hasSchema:()=>fO,isSupportedUserSearch:()=>Jm,nameToUrl:()=>EO,parallelForeach:()=>lO,processSearchFilters:()=>Gc,toMap:()=>mO,trimOtherProps:()=>pO,unreachable:()=>cO});var zm=B(require("lodash/pick"));var uO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function cO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(cO,"unreachable");async function lO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(lO,"parallelForeach");function dO(){return Object.keys($e).reduce((t,e)=>{let n=$e[e];return t[n.value]=n.label,t},{})}s(dO,"filterValueToLabel");function fO(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(fO,"hasSchema");function pO(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(pO,"trimOtherProps");function Jm(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Uo(o)){for(let l of t[o].conditions)if(!Jm(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(Jm,"isSupportedUserSearch");function Gc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Go(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,zm.default)(i,uO);return o.field=$o(o.field),o})}]}}s(Gc,"processSearchFilters");function mO(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(mO,"toMap");var hO=s(t=>t?t.trim():null,"resolveWorkspaceName"),gO=s(t=>{let e,r=hO(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),EO=s(t=>{let e=gO(t);return yO(e)},"nameToUrl"),yO=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var Le={};P(Le,{accountPortalAccountUrl:()=>Ay,accountPortalBillingUrl:()=>_y,accountPortalUpgradeUrl:()=>Oy,builderAppsUrl:()=>Cy,builderSettingsAuthUrl:()=>Dy,builderSettingsEmailUrl:()=>wy,builderSettingsPeopleUsersUrl:()=>Ry,builderWorkspacesUrl:()=>Iy,cancelableTimeout:()=>Zm,cron:()=>LC,deepGet:()=>Vc,duplicateName:()=>bC,formatBytes:()=>UC,getSequentialName:()=>xC,getUserColor:()=>SO,getUserInitials:()=>TO,getUserLabel:()=>AO,isGoogleSheets:()=>OO,isSQL:()=>IO,lists:()=>md,retry:()=>wO,roles:()=>pd,schema:()=>hs,structuredOutput:()=>ld,urlHelpers:()=>NC,views:()=>fd,wait:()=>qc,withTimeout:()=>_O});var Vc=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),TO=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),SO=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),AO=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Zm(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Zm,"cancelableTimeout");async function _O(t,e){let[r,n]=Zm(t),i=await Promise.race([e(),r]);return n(),i}s(_O,"withTimeout");function OO(t){return t==="GOOGLE_SHEETS"}s(OO,"isGoogleSheets");function IO(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(IO,"isSQL");async function qc(t){return new Promise(e=>setTimeout(e,t))}s(qc,"wait");async function wO(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await qc(o);try{return await t()}catch(a){n=a}}throw n}s(wO,"retry");var gy=B(Ot()),Ey=B(my());var hy="(Input cron: ",pC={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function mC(t){let e=[];for(let r of t){r.includes(hy)&&(r=r.split(hy)[0].trim());for(let[n,i]of Object.entries(pC))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(mC,"improveErrors");function yy(t,e=4){let r=Ey.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(yy,"getNextExecutionDates");function Ty(t){let e=(0,gy.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:mC(e.getError())}}s(Ty,"validate");var hs={};P(hs,{decodeNonAscii:()=>cd,encodeNonAscii:()=>EC,isDeprecatedSingleUserColumn:()=>hC,isNumeric:()=>yC,isRequired:()=>gC});function hC(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(hC,"isDeprecatedSingleUserColumn");function gC(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(gC,"isRequired");function EC(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(EC,"encodeNonAscii");function cd(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(cd,"decodeNonAscii");function yC(t){return t.type==="number"||t.type==="bigint"}s(yC,"isNumeric");var ld={};P(ld,{normalizeSchemaForStructuredOutput:()=>TC});function TC(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let h=f;if(h.required===!0){a.push(d);let{required:p,...S}=h;u[d]=e(S)}else u[d]=e(h)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(TC,"normalizeSchemaForStructuredOutput");var fd={};P(fd,{basicFields:()=>IC,calculationFields:()=>OC,hasCalculationFields:()=>_C,isBasicViewField:()=>SC,isCalculationField:()=>gs,isCalculationView:()=>AC,isV2:()=>wC,isVisible:()=>Sy});var dd=B(require("lodash/pickBy"));function gs(t){return"calculationType"in t}s(gs,"isCalculationField");function SC(t){return!gs(t)}s(SC,"isBasicViewField");function AC(t){return t.type==="calculation"}s(AC,"isCalculationView");function _C(t){return Object.values(t.schema||{}).some(gs)}s(_C,"hasCalculationFields");function OC(t){return(0,dd.default)(t.schema||{},gs)}s(OC,"calculationFields");function Sy(t){return t.visible!==!1}s(Sy,"isVisible");function IC(t,e){let{visible:r=!0}=e||{};return(0,dd.default)(t.schema||{},n=>!gs(n)&&(!r||Sy(n)))}s(IC,"basicFields");function wC(t){return t.version===2}s(wC,"isV2");var pd={};P(pd,{checkForRoleInheritanceLoops:()=>RC});function DC(t){return`role${C}${t}`}s(DC,"prefixForCheck");function RC(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=DC(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(RC,"checkForRoleInheritanceLoops");var md={};P(md,{punctuateList:()=>CC});function CC(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(CC,"punctuateList");var bC=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),xC=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var vC=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),PC=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),lr=s((t,e)=>{let r=vC(e);if(!t)return r;let n=PC(t);return r?`${n}${r}`:n},"joinBaseAndPath"),Ay=s(t=>lr(t,Wo.ACCOUNT),"accountPortalAccountUrl"),_y=s(t=>lr(t,Wo.BILLING),"accountPortalBillingUrl"),Oy=s(t=>lr(t,Wo.UPGRADE),"accountPortalUpgradeUrl"),Iy=s(t=>lr(t,Cn.WORKSPACES),"builderWorkspacesUrl"),wy=s(t=>lr(t,Cn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),Dy=s(t=>lr(t,Cn.SETTINGS_AUTH),"builderSettingsAuthUrl"),Ry=s(t=>lr(t,Cn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),Cy=s(t=>lr(t,Cn.APPS),"builderAppsUrl"),NC={accountPortalAccountUrl:Ay,accountPortalBillingUrl:_y,accountPortalUpgradeUrl:Oy,builderWorkspacesUrl:Iy,builderSettingsEmailUrl:wy,builderSettingsAuthUrl:Dy,builderSettingsPeopleUsersUrl:Ry,builderAppsUrl:Cy};function UC(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(UC,"formatBytes");var LC={getNextExecutionDates:yy,validate:Ty};var Da=B(require("lodash/isPlainObject")),hd=B(require("lodash/isEmpty"));var kC=/{{([^{].*?)}}/g,xy=Object.values(wi),FC=[...Object.values(Ur),...Object.values(tr),...Object.values(Rn)],BC=s((t,e,r)=>{let n=$e,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||hs.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),vy=[$e.StartsWith.value,$e.Like.value,$e.Equals.value,$e.NotEquals.value,$e.Contains.value,$e.NotContains.value,$e.ContainsAny.value,$e.In.value];function yd(t,e){for(let r of xy)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(yd,"recurseLogicalOperators");var Td=s(t=>{for(let e of vy)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||WC(o))&&delete t[e][i]}return t=yd(t,Td),t},"cleanupQuery");function WC(t){return Array.isArray(t)&&t.length===0}s(WC,"isEmptyArray");var $o=s(t=>Sd(t).key,"removeKeyNumbering"),Sd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),gd=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Sd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=cd(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function $C(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(kC)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Lo(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Lo(r)){let l=jm[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if($m(r)||Gm(r)||Lo(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s($C,"buildCondition");function Go(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(Go,"splitFiltersArray");function Py(t){if(!t)return{};if(Array.isArray(t)&&(t=Gc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=by(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=Py(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Go(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=by(n.logicalOperator)),{[u]:{conditions:a.map($C).filter(c=>c)}}})},e}s(Py,"buildQuery");function by(t){return t==="all"?"$and":"$or"}s(by,"logicalOperatorFromUI");function Ad(t){if(!t)return t;for(let e of Object.values(tr)){let r=t[e];if(!(r==null||!(0,Da.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return yd(t,Ad),t}s(Ad,"fixupFilterArrays");function GC(t,e){let r=Ra(t,e.query);e.sort&&(r=Ny(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=Uy(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(GC,"search");function Ra(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=Td(e),e=Ad(e),!Ed(e)&&e.onEmptyFilter==="none")return[];let r=s((T,O)=>U=>{for(let[R,k]of Object.entries(e[T]||{})){let Y=Uo(T)?U:Vc(U,$o(R)),Ie=O(Y,k);if(e.allOr&&Ie)return!0;if(!e.allOr&&!Ie)return!1}return!e.allOr},"match"),n=r("string",(T,O)=>typeof T!="string"||typeof O!="string"?!1:T.toLowerCase().startsWith(O.toLowerCase())),i=r("fuzzy",(T,O)=>typeof T!="string"||typeof O!="string"?!1:T.toLowerCase().includes(O.toLowerCase())),o=r("range",(T,O)=>{if(T==null||T===""||((0,Da.default)(O.low)&&(0,hd.default)(O.low)&&(O.low=void 0),(0,Da.default)(O.high)&&(0,hd.default)(O.high)&&(O.high=void 0),O.low==null&&O.high==null))return!1;let U=+T;if(!isNaN(U)){let k=+O.low,Y=+O.high;if(!isNaN(k)&&!isNaN(Y))return U>=k&&U<=Y;if(isNaN(k)){if(!isNaN(Y))return U<=Y}else return U>=k}let R=(0,Qn.default)(T);if(R.isValid()){let k=(0,Qn.default)(O.low||"0000-00-00T00:00:00.000Z"),Y=(0,Qn.default)(O.high||"9999-00-00T00:00:00.000Z");if(k.isValid()&&Y.isValid())return R.isAfter(k)&&R.isBefore(Y)||R.isSame(k)||R.isSame(Y);if(k.isValid())return R.isAfter(k)||R.isSame(k);if(Y.isValid())return R.isBefore(Y)||R.isSame(Y)}return O.low!=null&&O.high!=null?T>=O.low&&T<=O.high:O.low!=null?T>=O.low:O.high!=null?T<=O.high:!1}),a=s((T,O)=>{if(Array.isArray(T)){for(let R of T)if(a(R,O))return!0;return!1}if(T&&typeof T=="object"&&typeof O=="string")return T._id===O;if(T===O)return!0;if(T==null&&O!=null||T!=null&&O==null)return!1;let U=(0,Qn.default)(T);if(U.isValid()){let R=(0,Qn.default)(O);if(R.isValid())return U.isSame(R)}return!1},"_valueMatches"),u=s(T=>(...O)=>!T(...O),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),f=r("empty",d),h=r("notEmpty",u(d)),p=r("oneOf",(T,O)=>(typeof O=="string"&&(O=O.split(",")),typeof T=="number"&&(O=O.map(U=>parseFloat(U))),Array.isArray(O)?O.some(U=>a(T,U)):!1)),S=s(T=>(O,U)=>!Array.isArray(O)||(typeof U=="string"&&(U=U.split(","),typeof O[0]=="number"&&(U=U.map(R=>parseFloat(R)))),!Array.isArray(U))?!1:U.length===0?!0:U[T](R=>a(O,R)),"_contains"),m=r("contains",(T,O)=>Array.isArray(O)&&O.length===0?!0:S("every")(T,O)),E=r("notContains",(T,O)=>Array.isArray(O)&&O.length===0?!0:u(S("every"))(T,O)),y=r("containsAny",S("some")),I=r("$and",(T,O)=>{if(!O.length)return!1;for(let U of O)if(!Ra([T],U).length)return!1;return!0}),_=r("$or",(T,O)=>{if(!O.length)return!1;for(let U of O)if(Ra([T],{...U,allOr:!0}).length)return!0;return!1}),D=s(T=>{let O={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:h,oneOf:p,contains:m,containsAny:y,notContains:E,$and:I,$or:_},U=Object.entries(e||{}).filter(([R,k])=>!["allOr","onEmptyFilter"].includes(R)&&k&&Object.keys(k).length>0).map(([R])=>O[R]?.(T)??!1);return Ed(e)?e.allOr?U.some(R=>R===!0):U.every(R=>R===!0):!0},"docMatch");return t.filter(D)}s(Ra,"runQuery");function Ny(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(Ny,"sort");function Uy(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(Uy,"limit");var Ed=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of xy)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of FC){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var Me={};P(Me,{applications:()=>Od,automations:()=>Id,screens:()=>Cd,users:()=>Rd});var Od={};P(Od,{getDevAppID:()=>VC,getProdAppID:()=>ys});var _d=rr("app"),Es=rr("app_dev");function VC(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(Es))return t;let e=t.split(_d);e.shift();let r=e.join(_d);return`${Es}${r}`}s(VC,"getDevAppID");function ys(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(Es))return t;let e=t.split(Es);e.shift();let r=e.join(Es);return`${_d}${r}`}s(ys,"getProdAppID");var Id={};P(Id,{checkForCollectStep:()=>jC,isAppAction:()=>QC,isRowAction:()=>qC,isWebhookAction:()=>KC});function qC(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(qC,"isRowAction");function KC(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(KC,"isWebhookAction");function QC(t){return t.definition.trigger?.stepId==="APP"}s(QC,"isAppAction");function Ly(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(Km(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(Ly(r))return!0}}return!1}s(Ly,"hasCollectBlockRecursive");function jC(t){return Ly(t.definition.steps)}s(jC,"checkForCollectStep");var Rd={};P(Rd,{canCreateApps:()=>YC,containsUserID:()=>rb,getGlobalUserID:()=>tb,getUserAppGroups:()=>nb,hasAdminPermissions:()=>Dd,hasAppBuilderPermissions:()=>ba,hasBuilderPermissions:()=>XC,hasCreatorPermissions:()=>xa,isAdmin:()=>Ts,isAdminOrBuilder:()=>zC,isAdminOrGlobalBuilder:()=>JC,isAdminOrWorkspaceBuilder:()=>HC,isBuilder:()=>wd,isCreator:()=>eb,isGlobalBuilder:()=>Ca,userAppAccessList:()=>ib});function wd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(ys(e))):!1}s(wd,"isBuilder");function Ca(t){return wd(t)&&!ba(t)||Ts(t)}s(Ca,"isGlobalBuilder");function YC(t){return Ca(t)||xa(t)}s(YC,"canCreateApps");function Ts(t){return t?Dd(t):!1}s(Ts,"isAdmin");function HC(t,e){return t?!!(Ts(t)||e&&t.builder?.apps?.includes(ys(e))):!1}s(HC,"isAdminOrWorkspaceBuilder");function zC(t,e){return wd(t,e)||Ts(t)}s(zC,"isAdminOrBuilder");function JC(t){return Ca(t)||Ts(t)}s(JC,"isAdminOrGlobalBuilder");function ba(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(ba,"hasAppBuilderPermissions");function ZC(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(ZC,"hasAppCreatorPermissions");function XC(t){return t?t.builder?.global||ba(t)||xa(t):!1}s(XC,"hasBuilderPermissions");function Dd(t){return t?!!t.admin?.global:!1}s(Dd,"hasAdminPermissions");function xa(t){return t?!!t.builder?.creator:!1}s(xa,"hasCreatorPermissions");function eb(t){return t?Ca(t)||Dd(t)||xa(t)||ba(t)||ZC(t):!1}s(eb,"isCreator");function tb(t){if(typeof t!="string")return t;let e=`ro${C}ta_users${C}`;return t.startsWith(e)?t.split(e)[1]:t}s(tb,"getGlobalUserID");function rb(t){return typeof t!="string"?!1:t.includes(`us${C}`)}s(rb,"containsUserID");function My(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(My,"getUserGroups");function nb(t,e,r){let n=ys(t);return My(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(nb,"getUserAppGroups");function ib(t,e){let n=My(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(ib,"userAppAccessList");var Cd={};P(Cd,{findInSettings:()=>sb});function sb(t,e){let r=[];function n(i,o=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return s(n,"recurse"),n(t.props),r}s(sb,"findInSettings");var va=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(va||{}),fr=(d=>(d.USER_BY_WORKSPACE="by_app",d.USER_BY_EMAIL="by_email2",d.BY_API_KEY="by_api_key",d.LINK="by_link",d.ROUTING="screen_routes_2",d.AUTOMATION_LOGS="automation_logs",d.ACCOUNT_BY_EMAIL="account_by_email",d.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",d.USER_BY_GROUP="user_by_group",d.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",d))(fr||{}),jn={by_email2:["by_email"]},fe={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},et=rr("app"),Pa=rr("app_dev"),tt=Pa,bd="internal",xd="budibase",Rt="_design/sqlite",vd="ta_bb_jobs",Pd="ta_bb_inventory",Nd="ta_bb_expenses",Ud="ta_bb_employee",Ss=`ro${C}ta_users${C}`,As=(r=>(r[r.SQLITE=Rt]="SQLITE",r.MIGRATIONS="_design/migrations",r))(As||{});var Na=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Na||{}),Zr=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(Zr||{}),Ld=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(Ld||{}),Md=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(Md||{}),ky=new Date(-2147483647e3),Ua=new Date(2147483647e3),ae="default";var To={};P(To,{CacheKey:()=>ye,TTL:()=>pn,bustCache:()=>ci,destroy:()=>Xs,docWritethrough:()=>lp,generic:()=>eo,get:()=>mn,invite:()=>fp,keys:()=>Cu,passwordReset:()=>pp,store:()=>jt,user:()=>Rr,withCache:()=>Or,withCacheWithDynamicTTL:()=>BS,workspace:()=>Ns,writethrough:()=>Vp});var lp={};P(lp,{DocWritethrough:()=>cp,DocWritethroughProcessor:()=>Zs,getProcessor:()=>Kv,init:()=>FS});var up={};P(up,{BudibaseQueue:()=>Et,InMemoryQueue:()=>hu,JobQueue:()=>si,QueuedProcessor:()=>ap,UnretriableError:()=>Du,shutdown:()=>sv});var Fd=require("crypto"),Ma=require("fs"),Wy=require("lodash"),_s=require("path");var ob=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,_s.resolve)((0,_s.join)(__dirname,"..","..","..")),Fy=!1;!Fy&&La()&&!Bd()&&(require("dotenv").config({path:(0,_s.join)(ob,".env")}),Fy=!0);function Bd(){return $y()}s(Bd,"isTest");function $y(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s($y,"isJest");function La(){return process.env.NODE_ENV!=="production"}s(La,"isDev");function ab(t){if(t)return parseInt(t)}s(ab,"parseIntSafe");var Yn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},By=!!parseInt(process.env.SELF_HOSTED||"");function ub(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(ub,"getAPIEncryptionKey");function cb(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(cb,"httpLogging");function lb(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ma.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Ma.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(La()&&!Bd())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(lb,"getPackageJsonFields");function db(){return pt.SERVICE_TYPE==="worker"}s(db,"isWorker");function fb(){return pt.SERVICE_TYPE==="apps"}s(fb,"isApps");function pb(){return pt.BUDIBASE_ENVIRONMENT==="QA"}s(pb,"isQA");function mb(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(mb,"getServiceName");var pt={isTest:Bd,isJest:$y,isDev:La,isWorker:db,isApps:fb,isQA:pb,isProd:()=>!La(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,Fd.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,Fd.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:ub(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:By,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||Yn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Yn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Yn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Yn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Yn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Yn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:mb(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:cb(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:By?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...lb(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,pt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:ab(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC};function Os(t){let e=(0,Wy.cloneDeep)(pt),r;for(r in t)pt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))pt._set(n,i)}}s(Os,"setEnv");function Gy(t,e){let r=Os(t),n=e();return n instanceof Promise?n.finally(r):(r(),n)}s(Gy,"withEnv");var Vy=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","OPENAI_API_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(pt))e==="0"&&(pt[t]=0),e==="false"&&(pt[t]=0);var g=pt;var Ba={};P(Ba,{Databases:()=>Wd,SEPARATOR:()=>Hn,SelectableDatabase:()=>ka,getRedisClusterOptions:()=>$d,getRedisConnectionDetails:()=>Fa,getRedisOptions:()=>Xr,removeDbPrefix:()=>Gd});var Hn="-",Wd=(_=>(_.PW_RESETS="pwReset",_.VERIFICATIONS="verification",_.INVITATIONS="invitation",_.DEV_LOCKS="devLocks",_.DEBOUNCE="debounce",_.SESSIONS="session",_.USER_CACHE="users",_.FLAGS="flags",_.WORKSPACE_METADATA="appMetadata",_.QUERY_VARS="queryVars",_.LICENSES="license",_.GENERIC_CACHE="data_cache",_.WRITE_THROUGH="writeThrough",_.LOCKS="locks",_.SOCKET_IO="socket_io",_.BPM_EVENTS="bpmEvents",_.DOC_WRITE_THROUGH="docWriteThrough",_.RECAPTCHA_SESSION="recaptchaSession",_.OPENAPI_IMPORT_SPECS="openapiImportSpecs",_))(Wd||{}),ka=(E=>(E[E.DEFAULT=0]="DEFAULT",E[E.SOCKET_IO=1]="SOCKET_IO",E[E.RATE_LIMITING=2]="RATE_LIMITING",E[E.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",E[E.UNUSED_3=4]="UNUSED_3",E[E.UNUSED_4=5]="UNUSED_4",E[E.UNUSED_5=6]="UNUSED_5",E[E.UNUSED_6=7]="UNUSED_6",E[E.UNUSED_7=8]="UNUSED_7",E[E.UNUSED_8=9]="UNUSED_8",E[E.UNUSED_9=10]="UNUSED_9",E[E.UNUSED_10=11]="UNUSED_10",E[E.UNUSED_11=12]="UNUSED_11",E[E.UNUSED_12=13]="UNUSED_12",E[E.UNUSED_13=14]="UNUSED_13",E[E.UNUSED_14=15]="UNUSED_14",E))(ka||{});function Fa(){let t=g.REDIS_PASSWORD,e=g.REDIS_USERNAME,r=g.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(Fa,"getRedisConnectionDetails");function $d(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...Xr(),tls:{}}}}s($d,"getRedisClusterOptions");function Xr(){let{host:t,password:e,port:r,username:n}=Fa();return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n}}}s(Xr,"getRedisOptions");function Gd(t){let e=t.split(Hn);return e.length>=2?(e.shift(),e.join(Hn)):e[0]}s(Gd,"removeDbPrefix");var tS=B(require("events"));var ii={};P(ii,{Duration:()=>he,DurationType:()=>Ff,GZIP_PREFIX:()=>mu,clearCookie:()=>Tr,compare:()=>Kd,getCookie:()=>qt,getDispatcher:()=>Kx,getWorkspaceIdFromCtx:()=>an,gunzipFromBase64:()=>Hx,gzipToBase64:()=>Yx,hasCircularStructure:()=>kx,hash:()=>qd,isAudited:()=>Mf,isClient:()=>Mx,isPublicApiRequest:()=>Ux,isServingApp:()=>vx,isServingBuilder:()=>Px,isServingBuilderPreview:()=>Nx,isValidInternalAPIKey:()=>$s,newid:()=>ee,openJwt:()=>du,setCookie:()=>eS,time:()=>Bx,timeout:()=>Lf,urlHasProtocol:()=>Fx,validEmail:()=>kf});var qy=require("uuid");function ee(){return(0,qy.v4)().replace(/-/g,"")}s(ee,"newid");var Vd=require("bcrypt"),hb=g.SALT_ROUNDS||10;async function qd(t){let e=await Vd.genSalt(hb);return Vd.hash(t,e)}s(qd,"hash");async function Kd(t,e){return Vd.compare(t,e)}s(Kd,"compare");var lu=B(require("jsonwebtoken"));var ue={};P(ue,{DEFAULT_TENANT_ID:()=>ae,baseGlobalDBName:()=>xs,doInAutomationContext:()=>Bb,doInContext:()=>lf,doInEnvironmentContext:()=>zb,doInFeatureFlagOverrideContext:()=>Ef,doInIPContext:()=>pf,doInIdentityContext:()=>ws,doInLicenseContext:()=>$b,doInScimContext:()=>Jb,doInSelfHostTenantUsingCloud:()=>Wb,doInTenant:()=>Ce,doInWorkspaceContext:()=>qb,doInWorkspaceMigrationContext:()=>Qb,ensureSnippetContext:()=>oT,getAuditLogDBName:()=>iT,getAuditLogsDB:()=>Xb,getAutomationId:()=>df,getCurrentContext:()=>rn,getDevWorkspaceDB:()=>tx,getDevWorkspaceId:()=>Yb,getEnvironmentVariables:()=>Zb,getFeatureFlagOverrides:()=>gf,getFeatureFlags:()=>mf,getGlobalDB:()=>H,getGlobalDBName:()=>tn,getIP:()=>ff,getIdentity:()=>Bt,getLicense:()=>Gb,getOrThrowWorkspaceId:()=>jb,getPlatformURL:()=>cf,getProdWorkspaceDB:()=>ex,getProdWorkspaceId:()=>Hb,getScimDBName:()=>Lb,getSelfHostCloudDB:()=>Vb,getTableForView:()=>rx,getTenantIDFromWorkspaceID:()=>Xn,getTenantId:()=>V,getWorkspaceDB:()=>ei,getWorkspaceId:()=>be,identity:()=>Is,isMultiTenant:()=>hr,isScim:()=>gt,isSelfHostUsingCloud:()=>ja,isTenancyEnabled:()=>kb,isTenantIdSet:()=>Mb,setFeatureFlags:()=>hf,setTableForView:()=>nx});var Is={};P(Is,{doInAccountContext:()=>gb,doInIdentityContext:()=>jd,doInUserContext:()=>Yd,getAccountUserId:()=>Ky,getIdentity:()=>Qd});function Qd(){return Bt()}s(Qd,"getIdentity");function jd(t,e){return ws(t,e)}s(jd,"doInIdentityContext");function Yd(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return jd(n,r)}s(Yd,"doInUserContext");function gb(t,e){let r=Ky(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return jd(i,e)}s(gb,"doInAccountContext");function Ky(t){let e;return ko(t)?e=t.budibaseUserId:e=t.accountId,e}s(Ky,"getAccountUserId");var mt=s(t=>{let e=Hd(t),r,n;if(e.auth?.username)r=e.auth.username;else if(g.COUCH_DB_USERNAME)r=g.COUCH_DB_USERNAME;else if(!g.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(g.COUCH_DB_PASSWORD)n=g.COUCH_DB_PASSWORD;else if(!g.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=g.COUCH_DB_SQL_URL;if(g.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:Hd(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Hd=s((t=g.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var tT=B(require("@budibase/nano"));var Qy=B(require("node-fetch"));function $a(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s($a,"checkSlashesInUrl");async function jy(t,e="GET",r){let{url:n,cookie:i}=mt(),o=`${n}/${t}`;return await Ds({url:o,cookie:i,method:e,body:r})}s(jy,"directCouchCall");async function Ds({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,Qy.default)($a(encodeURI(t)),i)}s(Ds,"directCouchUrlCall");async function zd(t,e="GET",r){let n=await jy(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(zd,"directCouchQuery");var en=B(require("pouchdb"));var Yy,Hy=!1,Jd=s((t={})=>{let{url:e,cookie:r}=mt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),en.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");en.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");en.default.plugin(i.plugin),en.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");en.default.plugin(i)}return en.default.defaults(n)},"getPouch");function Ga(t){Yy=Jd(t),Hy=!0}s(Ga,"init");var Eb=s(()=>{if(!Hy)throw new Error("init has not been called")},"checkInitialised");function rt(t,e){Eb();let r=new Yy(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(rt,"getPouchDB");async function Rs(t){if(!(!t||g.isTest()))try{return await t.close()}catch{}}s(Rs,"closePouchDB");var le=B(require("dd-trace"));var zn=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return le.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return le.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return le.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return le.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return le.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return le.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return le.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return le.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return le.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return le.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return le.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return le.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return le.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return le.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return le.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return le.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return le.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return le.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return le.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return le.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return le.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var of={};P(of,{breakExternalTableId:()=>ef,breakRowIdField:()=>xb,buildExternalTableId:()=>Ib,convertRowId:()=>bb,encodeTableId:()=>wb,encodeViewId:()=>Db,extractDate:()=>rf,generateRowIdField:()=>Rb,getNativeSql:()=>Jn,isExternalTable:()=>Xd,isExternalTableID:()=>Va,isInternalTableID:()=>Ob,isRowId:()=>Cb,isValidFilter:()=>Ka,isValidISODateString:()=>qa,isValidISODateStringWithoutTimezone:()=>tf,isValidTime:()=>nf,sqlLog:()=>Cs,validateManyToMany:()=>sf});var Zd=`${C}${C}`,Jy=/^\[.*]$/g,yb=encodeURIComponent(" "),Tb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Sb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Ab=/(\d{4}-\d{2}-\d{2})/,_b=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function Va(t){return t.startsWith("datasource"+C)}s(Va,"isExternalTableID");function Ob(t){return!Va(t)}s(Ob,"isInternalTableID");function Jn(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(Jn,"getNativeSql");function Xd(t){return t?.sourceId&&t.sourceId.includes("datasource"+C)&&t?.sourceId!==bn||t?.sourceType==="external"?!0:!!(t?._id&&Va(t._id))}s(Xd,"isExternalTable");function Ib(t,e){return`${t}${Zd}${encodeURIComponent(e)}`}s(Ib,"buildExternalTableId");function wb(t){return Va(t)?encodeURIComponent(t):t}s(wb,"encodeTableId");function Db(t){return encodeURIComponent(t)}s(Db,"encodeViewId");function ef(t){let e=t.split(Zd),r=e.shift(),n=e.join(Zd);if(n.includes(yb)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(ef,"breakExternalTableId");function Rb(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(Rb,"generateRowIdField");function Cb(t){return Array.isArray(t)||typeof t=="string"&&t.match(Jy)!=null}s(Cb,"isRowId");function bb(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(Jy)!=null?t.substring(1,t.length-1):t}s(bb,"convertRowId");function xb(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(xb,"breakRowIdField");function qa(t){let e=t.trim();if(!Tb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(qa,"isValidISODateString");function tf(t){let e=t.trim();if(!Sb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(tf,"isValidISODateStringWithoutTimezone");function rf(t){let e=t.match(Ab);if(e)return e[0]}s(rf,"extractDate");function Ka(t){return t!=null&&t!==""}s(Ka,"isValidFilter");function nf(t){return _b.test(t)}s(nf,"isValidTime");function Cs(t,e,r){if(!g.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Cs,"sqlLog");function vb(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(vb,"isValidManyToManyRelationship");function sf(t){if(vb(t))return t}s(sf,"validateManyToMany");var Zy="Database does not exist.";function Xy(t){return(0,tT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(Xy,"buildNano");var pr=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};function Pb(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new Zn(t,r,e);return new zn(n)}s(Pb,"DatabaseWithConnection");var Zn=class t{constructor(e,r,n){this.couchInfo=mt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=mt(n),this.instanceNano=Xy(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=mt();t.nano=Xy(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Ds({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new pr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===Zy)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new pr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new pr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(Vm(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new pr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ee()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===Zy)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=$a(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await Ds(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new pr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${Rt}`;return Cs("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(Rt)){let e=await this.get(Rt);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new pr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return rt(this.name).dump(e,r)}async load(e){return rt(this.name).load(e)}async createIndex(e){return rt(this.name).createIndex(e)}async deleteIndex(e){return rt(this.name).deleteIndex(e)}async getIndexes(){return rt(this.name).getIndexes()}};function Re(t,e){return new zn(new Zn(t,e))}s(Re,"getDB");async function je(t,e,r){let n=Re(t,r);return await e(n)}s(je,"doWithDB");async function af(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await zd(e)}s(af,"directCouchAllDbs");var uf="No app provided";function mr(t){if(!t)throw uf;return t.startsWith(tt)}s(mr,"isDevWorkspaceID");function Nb(t){if(!t)throw uf;return t.startsWith(et)&&!mr(t)}s(Nb,"isProdWorkspaceID");function bs(t){if(!t)throw uf;return mr(t.appId)}s(bs,"isDevWorkspace");function Qa(t){if(!t||t.startsWith(tt))return t;let e=t.split(et);e.shift();let r=e.join(et);return`${tt}${r}`}s(Qa,"getDevWorkspaceID");function Ye(t){if(!t||!t.startsWith(tt))return t;let e=t.split(tt);e.shift();let r=e.join(tt);return`${et}${r}`}s(Ye,"getProdWorkspaceID");var rT=require("async_hooks");var me=class t{static{s(this,"Context")}static{this.storage=new rT.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var nT=null;function tn(t){return t||(t=V()),xs(t)}s(tn,"getGlobalDBName");function iT(t){return t||(t=V()),t===ae?fe.AUDIT_LOGS.name:`${t}${C}${fe.AUDIT_LOGS.name}`}s(iT,"getAuditLogDBName");function Lb(t){return t||(t=V()),t===ae?fe.SCIM_LOGS.name:`${t}${C}${fe.SCIM_LOGS.name}`}s(Lb,"getScimDBName");function xs(t){return!t||t===ae?fe.GLOBAL.name:`${t}${C}${fe.GLOBAL.name}`}s(xs,"baseGlobalDBName");function cf(){return g.PLATFORM_URL}s(cf,"getPlatformURL");function hr(){return!!g.MULTI_TENANCY}s(hr,"isMultiTenant");function Mb(){return!!me.get()?.tenantId}s(Mb,"isTenantIdSet");function kb(){return g.MULTI_TENANCY}s(kb,"isTenancyEnabled");function Xn(t){if(!t)return;if(!hr())return ae;let e=t.split(C),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(Xn,"getTenantIDFromWorkspaceID");function Fb(t){let e;try{e=me.get()}catch{e={}}return e={...e,...t},e}s(Fb,"updateContext");async function ht(t,e){Kb();let r=Fb(t);return me.run(r,e)}s(ht,"newContext");async function Bb(t){return await oT(),await ht({tenantId:Xn(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(Bb,"doInAutomationContext");async function lf(t,e){let r=Xn(t);return ht({tenantId:r,appId:t},e)}s(lf,"doInContext");async function Ce(t,e){return g.MULTI_TENANCY||(t=t||ae),ht(t?{tenantId:t}:{},e)}s(Ce,"doInTenant");async function Wb(t,e){return ht({tenantId:t,isSelfHostUsingCloud:!0},e)}s(Wb,"doInSelfHostTenantUsingCloud");async function $b(t,e){return ht({license:t},e)}s($b,"doInLicenseContext");function Gb(){return me.get()?.license}s(Gb,"getLicense");function ja(){return!!me.get()?.isSelfHostUsingCloud}s(ja,"isSelfHostUsingCloud");function Vb(){let t=me.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Re(fe.SELF_HOST_CLOUD.name)}s(Vb,"getSelfHostCloudDB");async function qb(t,e){return sT(t,e)}s(qb,"doInWorkspaceContext");async function sT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=Xn(t),i={appId:t,...r};return n&&(i.tenantId=n),ht(i,e)}s(sT,"_doInWorkspaceContext");async function ws(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ht(r,e)}s(ws,"doInIdentityContext");function Kb(){if(me.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(Kb,"guardMigration");async function Qb(t,e){return sT(t,e,{isMigrating:!0})}s(Qb,"doInWorkspaceMigrationContext");function Bt(){try{return me.get()?.identity}catch{}}s(Bt,"getIdentity");function V(){if(!hr())return ae;let e=me.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(V,"getTenantId");function df(){return me.get()?.automationId}s(df,"getAutomationId");function be(){let e=me.get()?.appId;return!e&&g.isTest()&&nT?nT:e}s(be,"getWorkspaceId");function jb(){let t=be();if(!t)throw new Error("Workspace id not set");return t}s(jb,"getOrThrowWorkspaceId");function ff(){return me.get()?.ip}s(ff,"getIP");var Yb=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return Qa(t)},"getDevWorkspaceId"),Hb=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return Ye(t)},"getProdWorkspaceId");function zb(t,e){if(!t)throw new Error("Must supply environment variables.");return ht({environmentVariables:t},e)}s(zb,"doInEnvironmentContext");function Jb(t){return ht({isScim:!0},t)}s(Jb,"doInScimContext");function pf(t,e){return ht({ip:t},e)}s(pf,"doInIPContext");async function oT(){let t=rn();if(!t||t.snippets)return;let e,r=ei();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(oT,"ensureSnippetContext");function Zb(){let t=me.get();return t.environmentVariables?t.environmentVariables:null}s(Zb,"getEnvironmentVariables");function H(){let t=me.get();if(!t||g.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Re(xs(t?.tenantId))}s(H,"getGlobalDB");function Xb(){if(!V())throw new Error("No tenant ID found - cannot open audit log DB");return Re(iT())}s(Xb,"getAuditLogsDB");function ei(t){let e=be();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(ja())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Re(e,t)}s(ei,"getWorkspaceDB");function ex(t){let e=be();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Re(Ye(e),t)}s(ex,"getProdWorkspaceDB");function tx(t){let e=be();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Re(Qa(e),t)}s(tx,"getDevWorkspaceDB");function gt(){return!!me.get()?.isScim}s(gt,"isScim");function rn(){try{return me.get()}catch{return}}s(rn,"getCurrentContext");function mf(t){let e=rn();if(e)return e.featureFlagCache?.[t]}s(mf,"getFeatureFlags");function hf(t,e){let r=rn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(hf,"setFeatureFlags");function gf(){return rn()?.featureFlagOverrides||{}}s(gf,"getFeatureFlagOverrides");async function Ef(t,e){return await ht({featureFlagOverrides:t},e)}s(Ef,"doInFeatureFlagOverrideContext");function rx(t){let e=rn();if(e)return e.viewToTableCache?.[t]}s(rx,"getTableForView");function nx(t,e){let r=rn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(nx,"setTableForView");var yr={};P(yr,{AutomationViewMode:()=>va,BUDIBASE_DATASOURCE_TYPE:()=>xd,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Ud,DEFAULT_EXPENSES_TABLE_ID:()=>Nd,DEFAULT_INVENTORY_TABLE_ID:()=>Pd,DEFAULT_JOBS_TABLE_ID:()=>vd,DatabaseImpl:()=>Zn,DatabaseWithConnection:()=>Pb,DeprecatedViews:()=>jn,DesignDocuments:()=>As,DocumentType:()=>ce,InternalTable:()=>vt,QueryBuilder:()=>Vt,Replication:()=>jT,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>bd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Ne,USER_METADATA_PREFIX:()=>Ss,ViewName:()=>fr,WORKSPACE_DEV:()=>Pa,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,baseGlobalDBName:()=>xs,checkErrorCode:()=>JT,closePouchDB:()=>Rs,createApiKeyView:()=>$T,createNewUserEmailView:()=>BT,createPlatformAccountEmailView:()=>VT,createPlatformUserView:()=>qT,createUserAppView:()=>WT,createView:()=>ni,dbExists:()=>Tx,directCouchAllDbs:()=>af,directCouchCall:()=>jy,directCouchQuery:()=>zd,directCouchUrlCall:()=>Ds,doWithDB:()=>je,fullSearch:()=>Ix,generateAIConfigID:()=>DT,generateAgentFileID:()=>wT,generateAgentID:()=>AT,generateAgentToolSourceID:()=>IT,generateAppUserID:()=>au,generateChatAppID:()=>_T,generateChatConversationID:()=>OT,generateDevInfoID:()=>yT,generateGlobalUserID:()=>ri,generateOAuth2LogID:()=>ST,generatePluginID:()=>TT,generateRoleID:()=>If,generateRowID:()=>Of,generateTableID:()=>pT,generateTemplateID:()=>ET,generateUserMetadataID:()=>hT,generateVectorDbID:()=>xT,generateWorkspaceAppID:()=>CT,generateWorkspaceFavouriteID:()=>bT,generateWorkspaceID:()=>fT,getAllDbs:()=>FT,getAllWorkspaces:()=>Ls,getCouchInfo:()=>mt,getDB:()=>Re,getDevWorkspaceID:()=>Qa,getDevWorkspaceIDs:()=>Ex,getDocParams:()=>$t,getGlobalDBName:()=>tn,getGlobalIDFromUserMetadataID:()=>gT,getGlobalUserParams:()=>sn,getLiteLLMKeyID:()=>RT,getOAuth2ConfigParams:()=>LT,getPluginParams:()=>UT,getPouch:()=>Jd,getPouchDB:()=>rt,getProdWorkpaceIDs:()=>gx,getProdWorkspaceID:()=>Ye,getQueryIndex:()=>vT,getRoleParams:()=>cu,getRowParams:()=>wf,getStartEndKeyURL:()=>Us,getTemplateParams:()=>NT,getUrlInfo:()=>Hd,getUserMetadataParams:()=>PT,getUsersByWorkspaceParams:()=>uu,getWorkspaceAppParams:()=>MT,getWorkspaceFavouriteParams:()=>kT,getWorkspacesByIDs:()=>hx,init:()=>Ga,isDevWorkspace:()=>bs,isDevWorkspaceID:()=>mr,isDocumentConflictError:()=>Dx,isGlobalUserID:()=>mT,isProdWorkspaceID:()=>Nb,isSameWorkspaceID:()=>yx,paginatedSearch:()=>Ox,pagination:()=>Rf,prefixRoleID:()=>Wt,queryGlobalView:()=>Gt,queryGlobalViewRaw:()=>xf,queryPlatformView:()=>ks,queryView:()=>bf,queryViewRaw:()=>Ms,removeKeyNumbering:()=>Fs,searchIndexes:()=>Pf});var Ns={};P(Ns,{WorkspaceState:()=>_f,getWorkspaceMetadata:()=>ou,invalidateWorkspaceMetadata:()=>px});var Er={};P(Er,{getCacheClient:()=>Tf,getDocWritethroughClient:()=>cx,getInviteClient:()=>nn,getLockClient:()=>Af,getOpenapiImportSpecsClient:()=>ax,getPasswordResetClient:()=>Ps,getSessionClient:()=>gr,getSocketClient:()=>ux,getUserClient:()=>vs,getWorkspaceClient:()=>su,getWritethroughClient:()=>Sf,init:()=>nt,shutdown:()=>lT});var Ha=B(require("ioredis"));var Ya=require("dd-trace"),uT=require("lodash");var aT;if(g.MOCK_REDIS)try{aT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function ix(t=0){return await Ya.tracer.trace("Redis.init",async e=>{if(g.MOCK_REDIS)return e.addTags({mock:!0}),new aT(Xr());let r;if(g.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=Fa();r=new Ha.Cluster([{host:n,port:i}],$d())}else r=new Ha.default(Xr());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(ix,"init");function sx(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:Gd(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(sx,"promisifyStream");function ox(t){return t.isCluster}s(ox,"isCluster");var yf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await Ya.tracer.trace("RedisWrapper.init",async n=>{let i=await ix(r);return r&&!g.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return Ya.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Hn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Hn}${e}`;let n;ox(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:1e3}):n=this.client.scanStream({match:e+"*",count:1e3});let i=await sx(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,uT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
|
|
6
6
|
if redis.call('GET', KEYS[1]) == ARGV[1] then
|
|
7
7
|
redis.call('DEL', KEYS[1])
|
|
8
8
|
end
|