@capgo/cli 7.71.11 → 7.71.12

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 CHANGED
@@ -134,7 +134,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
134
134
  || ${$} === "boolean" || ${J} === null`).assign(G,I0._`[${J}]`)}}}function oW0({gen:D,parentData:Y,parentDataProperty:X},Q){D.if(I0._`${Y} !== undefined`,()=>D.assign(I0._`${Y}[${X}]`,Q))}function cz(D,Y,X,Q=T3.Correct){let J=Q===T3.Correct?I0.operators.EQ:I0.operators.NEQ,W;switch(D){case"null":return I0._`${Y} ${J} null`;case"array":W=I0._`Array.isArray(${Y})`;break;case"object":W=I0._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":W=$(I0._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":W=$();break;default:return I0._`typeof ${Y} ${J} ${D}`}return Q===T3.Correct?W:(0,I0.not)(W);function $(G=I0.nil){return(0,I0.and)(I0._`typeof ${Y} == "number"`,G,X?I0._`isFinite(${Y})`:I0.nil)}}$k.checkDataType=cz;function lz(D,Y,X,Q){if(D.length===1)return cz(D[0],Y,X,Q);let J,W=(0,Qk.toHash)(D);if(W.array&&W.object){let $=I0._`typeof ${Y} != "object"`;J=W.null?$:I0._`!${Y} || ${$}`,delete W.null,delete W.array,delete W.object}else J=I0.nil;if(W.number)delete W.integer;for(let $ in W)J=(0,I0.and)(J,cz($,Y,X,Q));return J}$k.checkDataTypes=lz;var sW0={message:({schema:D})=>`must be ${D}`,params:({schema:D,schemaValue:Y})=>typeof D=="string"?I0._`{type: ${D}}`:I0._`{type: ${Y}}`};function dz(D){let Y=tW0(D);(0,pW0.reportError)(Y,sW0)}$k.reportTypeError=dz;function tW0(D){let{gen:Y,data:X,schema:Q}=D,J=(0,Qk.schemaRefOrVal)(D,Q,"type");return{gen:Y,keyword:"type",data:X,schema:Q.type,schemaCode:J,schemaValue:J,parentSchema:Q,params:{},it:D}}});var qk=T((Hk)=>{Object.defineProperty(Hk,"__esModule",{value:!0});Hk.assignDefaults=void 0;var S3=x0(),W$0=p0();function $$0(D,Y){let{properties:X,items:Q}=D.schema;if(Y==="object"&&X)for(let J in X)Bk(D,J,X[J].default);else if(Y==="array"&&Array.isArray(Q))Q.forEach((J,W)=>Bk(D,W,J.default))}Hk.assignDefaults=$$0;function Bk(D,Y,X){let{gen:Q,compositeRule:J,data:W,opts:$}=D;if(X===void 0)return;let G=S3._`${W}${(0,S3.getProperty)(Y)}`;if(J){(0,W$0.checkStrictMode)(D,`default is ignored for: ${G}`);return}let B=S3._`${G} === undefined`;if($.useDefaults==="empty")B=S3._`${B} || ${G} === null || ${G} === ""`;Q.if(B,S3._`${G} = ${(0,S3.stringify)(X)}`)}});var A6=T((Uk)=>{Object.defineProperty(Uk,"__esModule",{value:!0});Uk.validateUnion=Uk.validateArray=Uk.usePattern=Uk.callValidateCode=Uk.schemaProperties=Uk.allSchemaProperties=Uk.noPropertyInData=Uk.propertyInData=Uk.isOwnProperty=Uk.hasPropFunc=Uk.reportMissingProp=Uk.checkMissingProp=Uk.checkReportMissingProp=void 0;var U1=x0(),pz=p0(),ED=I9(),G$0=p0();function B$0(D,Y){let{gen:X,data:Q,it:J}=D;X.if(iz(X,Q,Y,J.opts.ownProperties),()=>{D.setParams({missingProperty:U1._`${Y}`},!0),D.error()})}Uk.checkReportMissingProp=B$0;function H$0({gen:D,data:Y,it:{opts:X}},Q,J){return(0,U1.or)(...Q.map((W)=>(0,U1.and)(iz(D,Y,W,X.ownProperties),U1._`${J} = ${W}`)))}Uk.checkMissingProp=H$0;function F$0(D,Y){D.setParams({missingProperty:Y},!0),D.error()}Uk.reportMissingProp=F$0;function Kk(D){return D.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:U1._`Object.prototype.hasOwnProperty`})}Uk.hasPropFunc=Kk;function nz(D,Y,X){return U1._`${Kk(D)}.call(${Y}, ${X})`}Uk.isOwnProperty=nz;function q$0(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} !== undefined`;return Q?U1._`${J} && ${nz(D,Y,X)}`:J}Uk.propertyInData=q$0;function iz(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} === undefined`;return Q?(0,U1.or)(J,(0,U1.not)(nz(D,Y,X))):J}Uk.noPropertyInData=iz;function zk(D){return D?Object.keys(D).filter((Y)=>Y!=="__proto__"):[]}Uk.allSchemaProperties=zk;function K$0(D,Y){return zk(Y).filter((X)=>!(0,pz.alwaysValidSchema)(D,Y[X]))}Uk.schemaProperties=K$0;function z$0({schemaCode:D,data:Y,it:{gen:X,topSchemaRef:Q,schemaPath:J,errorPath:W},it:$},G,B,H){let F=H?U1._`${D}, ${Y}, ${Q}${J}`:Y,K=[[ED.default.instancePath,(0,U1.strConcat)(ED.default.instancePath,W)],[ED.default.parentData,$.parentData],[ED.default.parentDataProperty,$.parentDataProperty],[ED.default.rootData,ED.default.rootData]];if($.opts.dynamicRef)K.push([ED.default.dynamicAnchors,ED.default.dynamicAnchors]);let U=U1._`${F}, ${X.object(...K)}`;return B!==U1.nil?U1._`${G}.call(${B}, ${U})`:U1._`${G}(${U})`}Uk.callValidateCode=z$0;var U$0=U1._`new RegExp`;function V$0({gen:D,it:{opts:Y}},X){let Q=Y.unicodeRegExp?"u":"",{regExp:J}=Y.code,W=J(X,Q);return D.scopeValue("pattern",{key:W.toString(),ref:W,code:U1._`${J.code==="new RegExp"?U$0:(0,G$0.useFunc)(D,J)}(${X}, ${Q})`})}Uk.usePattern=V$0;function w$0(D){let{gen:Y,data:X,keyword:Q,it:J}=D,W=Y.name("valid");if(J.allErrors){let G=Y.let("valid",!0);return $(()=>Y.assign(G,!1)),G}return Y.var(W,!0),$(()=>Y.break()),W;function $(G){let B=Y.const("len",U1._`${X}.length`);Y.forRange("i",0,B,(H)=>{D.subschema({keyword:Q,dataProp:H,dataPropType:pz.Type.Num},W),Y.if((0,U1.not)(W),G)})}}Uk.validateArray=w$0;function L$0(D){let{gen:Y,schema:X,keyword:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,pz.alwaysValidSchema)(J,B))&&!J.opts.unevaluated)return;let $=Y.let("valid",!1),G=Y.name("_valid");Y.block(()=>X.forEach((B,H)=>{let F=D.subschema({keyword:Q,schemaProp:H,compositeRule:!0},G);if(Y.assign($,U1._`${$} || ${G}`),!D.mergeValidEvaluated(F,G))Y.if((0,U1.not)($))})),D.result($,()=>D.reset(),()=>D.error(!0))}Uk.validateUnion=L$0});var Nk=T((Mk)=>{Object.defineProperty(Mk,"__esModule",{value:!0});Mk.validateKeywordUsage=Mk.validSchemaType=Mk.funcKeywordCode=Mk.macroKeywordCode=void 0;var y8=x0(),S5=I9(),C$0=A6(),x$0=sY();function _$0(D,Y){let{gen:X,keyword:Q,schema:J,parentSchema:W,it:$}=D,G=Y.macro.call($.self,J,W,$),B=Lk(X,Q,G);if($.opts.validateSchema!==!1)$.self.validateSchema(G,!0);let H=X.name("valid");D.subschema({schema:G,schemaPath:y8.nil,errSchemaPath:`${$.errSchemaPath}/${Q}`,topSchemaRef:B,compositeRule:!0},H),D.pass(H,()=>D.error(!0))}Mk.macroKeywordCode=_$0;function b$0(D,Y){var X;let{gen:Q,keyword:J,schema:W,parentSchema:$,$data:G,it:B}=D;v$0(B,Y);let H=!G&&Y.compile?Y.compile.call(B.self,W,$,B):Y.validate,F=Lk(Q,J,H),K=Q.let("valid");D.block$data(K,U),D.ok((X=Y.valid)!==null&&X!==void 0?X:K);function U(){if(Y.errors===!1){if(w(),Y.modifying)wk(D);L(()=>D.error())}else{let O=Y.async?z():V();if(Y.modifying)wk(D);L(()=>k$0(D,O))}}function z(){let O=Q.let("ruleErrs",null);return Q.try(()=>w(y8._`await `),(Z)=>Q.assign(K,!1).if(y8._`${Z} instanceof ${B.ValidationError}`,()=>Q.assign(O,y8._`${Z}.errors`),()=>Q.throw(Z))),O}function V(){let O=y8._`${F}.errors`;return Q.assign(O,null),w(y8.nil),O}function w(O=Y.async?y8._`await `:y8.nil){let Z=B.opts.passContext?S5.default.this:S5.default.self,M=!(("compile"in Y)&&!G||Y.schema===!1);Q.assign(K,y8._`${O}${(0,C$0.callValidateCode)(D,F,Z,M)}`,Y.modifying)}function L(O){var Z;Q.if((0,y8.not)((Z=Y.valid)!==null&&Z!==void 0?Z:K),O)}}Mk.funcKeywordCode=b$0;function wk(D){let{gen:Y,data:X,it:Q}=D;Y.if(Q.parentData,()=>Y.assign(X,y8._`${Q.parentData}[${Q.parentDataProperty}]`))}function k$0(D,Y){let{gen:X}=D;X.if(y8._`Array.isArray(${Y})`,()=>{X.assign(S5.default.vErrors,y8._`${S5.default.vErrors} === null ? ${Y} : ${S5.default.vErrors}.concat(${Y})`).assign(S5.default.errors,y8._`${S5.default.vErrors}.length`),(0,x$0.extendErrors)(D)},()=>D.error())}function v$0({schemaEnv:D},Y){if(Y.async&&!D.$async)throw Error("async keyword in sync schema")}function Lk(D,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return D.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,y8.stringify)(X)})}function y$0(D,Y,X=!1){return!Y.length||Y.some((Q)=>Q==="array"?Array.isArray(D):Q==="object"?D&&typeof D=="object"&&!Array.isArray(D):typeof D==Q||X&&typeof D>"u")}Mk.validSchemaType=y$0;function f$0({schema:D,opts:Y,self:X,errSchemaPath:Q},J,W){if(Array.isArray(J.keyword)?!J.keyword.includes(W):J.keyword!==W)throw Error("ajv implementation error");let $=J.dependencies;if($===null||$===void 0?void 0:$.some((G)=>!Object.prototype.hasOwnProperty.call(D,G)))throw Error(`parent schema must have dependencies of ${W}: ${$.join(",")}`);if(J.validateSchema){if(!J.validateSchema(D[W])){let B=`keyword "${W}" value is invalid at path "${Q}": `+X.errorsText(J.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}Mk.validateKeywordUsage=f$0});var Rk=T((Ak)=>{Object.defineProperty(Ak,"__esModule",{value:!0});Ak.extendSubschemaMode=Ak.extendSubschemaData=Ak.getSubschema=void 0;var $9=x0(),Zk=p0();function m$0(D,{keyword:Y,schemaProp:X,schema:Q,schemaPath:J,errSchemaPath:W,topSchemaRef:$}){if(Y!==void 0&&Q!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let G=D.schema[Y];return X===void 0?{schema:G,schemaPath:$9._`${D.schemaPath}${(0,$9.getProperty)(Y)}`,errSchemaPath:`${D.errSchemaPath}/${Y}`}:{schema:G[X],schemaPath:$9._`${D.schemaPath}${(0,$9.getProperty)(Y)}${(0,$9.getProperty)(X)}`,errSchemaPath:`${D.errSchemaPath}/${Y}/${(0,Zk.escapeFragment)(X)}`}}if(Q!==void 0){if(J===void 0||W===void 0||$===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Q,schemaPath:J,topSchemaRef:$,errSchemaPath:W}}throw Error('either "keyword" or "schema" must be passed')}Ak.getSubschema=m$0;function c$0(D,Y,{dataProp:X,dataPropType:Q,data:J,dataTypes:W,propertyName:$}){if(J!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:G}=Y;if(X!==void 0){let{errorPath:H,dataPathArr:F,opts:K}=Y,U=G.let("data",$9._`${Y.data}${(0,$9.getProperty)(X)}`,!0);B(U),D.errorPath=$9.str`${H}${(0,Zk.getErrorPath)(X,Q,K.jsPropertySyntax)}`,D.parentDataProperty=$9._`${X}`,D.dataPathArr=[...F,D.parentDataProperty]}if(J!==void 0){let H=J instanceof $9.Name?J:G.let("data",J,!0);if(B(H),$!==void 0)D.propertyName=$}if(W)D.dataTypes=W;function B(H){D.data=H,D.dataLevel=Y.dataLevel+1,D.dataTypes=[],Y.definedProperties=new Set,D.parentData=Y.data,D.dataNames=[...Y.dataNames,H]}}Ak.extendSubschemaData=c$0;function l$0(D,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:Q,createErrors:J,allErrors:W}){if(Q!==void 0)D.compositeRule=Q;if(J!==void 0)D.createErrors=J;if(W!==void 0)D.allErrors=W;D.jtdDiscriminator=Y,D.jtdMetadata=X}Ak.extendSubschemaMode=l$0});var rz=T((hI0,jk)=>{jk.exports=function D(Y,X){if(Y===X)return!0;if(Y&&X&&typeof Y=="object"&&typeof X=="object"){if(Y.constructor!==X.constructor)return!1;var Q,J,W;if(Array.isArray(Y)){if(Q=Y.length,Q!=X.length)return!1;for(J=Q;J--!==0;)if(!D(Y[J],X[J]))return!1;return!0}if(Y.constructor===RegExp)return Y.source===X.source&&Y.flags===X.flags;if(Y.valueOf!==Object.prototype.valueOf)return Y.valueOf()===X.valueOf();if(Y.toString!==Object.prototype.toString)return Y.toString()===X.toString();if(W=Object.keys(Y),Q=W.length,Q!==Object.keys(X).length)return!1;for(J=Q;J--!==0;)if(!Object.prototype.hasOwnProperty.call(X,W[J]))return!1;for(J=Q;J--!==0;){var $=W[J];if(!D(Y[$],X[$]))return!1}return!0}return Y!==Y&&X!==X}});var Sk=T((gI0,Tk)=>{var RD=Tk.exports=function(D,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var Q=typeof X=="function"?X:X.pre||function(){},J=X.post||function(){};F$(Y,Q,J,D,"",D)};RD.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};RD.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};RD.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};RD.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function F$(D,Y,X,Q,J,W,$,G,B,H){if(Q&&typeof Q=="object"&&!Array.isArray(Q)){Y(Q,J,W,$,G,B,H);for(var F in Q){var K=Q[F];if(Array.isArray(K)){if(F in RD.arrayKeywords)for(var U=0;U<K.length;U++)F$(D,Y,X,K[U],J+"/"+F+"/"+U,W,J,F,Q,U)}else if(F in RD.propsKeywords){if(K&&typeof K=="object")for(var z in K)F$(D,Y,X,K[z],J+"/"+F+"/"+n$0(z),W,J,F,Q,z)}else if(F in RD.keywords||D.allKeys&&!(F in RD.skipKeywords))F$(D,Y,X,K,J+"/"+F,W,J,F,Q)}X(Q,J,W,$,G,B,H)}}function n$0(D){return D.replace(/~/g,"~0").replace(/\//g,"~1")}});var eY=T((xk)=>{Object.defineProperty(xk,"__esModule",{value:!0});xk.getSchemaRefs=xk.resolveUrl=xk.normalizeId=xk._getFullPath=xk.getFullPath=xk.inlineRef=void 0;var i$0=p0(),r$0=rz(),a$0=Sk(),o$0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function s$0(D,Y=!0){if(typeof D=="boolean")return!0;if(Y===!0)return!az(D);if(!Y)return!1;return Pk(D)<=Y}xk.inlineRef=s$0;var t$0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function az(D){for(let Y in D){if(t$0.has(Y))return!0;let X=D[Y];if(Array.isArray(X)&&X.some(az))return!0;if(typeof X=="object"&&az(X))return!0}return!1}function Pk(D){let Y=0;for(let X in D){if(X==="$ref")return 1/0;if(Y++,o$0.has(X))continue;if(typeof D[X]=="object")(0,i$0.eachItem)(D[X],(Q)=>Y+=Pk(Q));if(Y===1/0)return 1/0}return Y}function Ik(D,Y="",X){if(X!==!1)Y=P3(Y);let Q=D.parse(Y);return Ck(D,Q)}xk.getFullPath=Ik;function Ck(D,Y){return D.serialize(Y).split("#")[0]+"#"}xk._getFullPath=Ck;var e$0=/#\/?$/;function P3(D){return D?D.replace(e$0,""):""}xk.normalizeId=P3;function DG0(D,Y,X){return X=P3(X),D.resolve(Y,X)}xk.resolveUrl=DG0;var YG0=/^[a-z_][-a-z0-9._]*$/i;function XG0(D,Y){if(typeof D=="boolean")return{};let{schemaId:X,uriResolver:Q}=this.opts,J=P3(D[X]||Y),W={"":J},$=Ik(Q,J,!1),G={},B=new Set;return a$0(D,{allKeys:!0},(K,U,z,V)=>{if(V===void 0)return;let w=$+U,L=W[V];if(typeof K[X]=="string")L=O.call(this,K[X]);Z.call(this,K.$anchor),Z.call(this,K.$dynamicAnchor),W[U]=L;function O(M){let E=this.opts.uriResolver.resolve;if(M=P3(L?E(L,M):M),B.has(M))throw F(M);B.add(M);let j=this.refs[M];if(typeof j=="string")j=this.refs[j];if(typeof j=="object")H(K,j.schema,M);else if(M!==P3(w))if(M[0]==="#")H(K,G[M],M),G[M]=K;else this.refs[M]=w;return M}function Z(M){if(typeof M=="string"){if(!YG0.test(M))throw Error(`invalid anchor "${M}"`);O.call(this,`#${M}`)}}}),G;function H(K,U,z){if(U!==void 0&&!r$0(K,U))throw F(z)}function F(K){return Error(`reference "${K}" resolves to more than one schema`)}}xk.getSchemaRefs=XG0});var XX=T((ik)=>{Object.defineProperty(ik,"__esModule",{value:!0});ik.getData=ik.KeywordCxt=ik.validateFunctionCode=void 0;var fk=ob(),bk=tY(),sz=mz(),q$=tY(),BG0=qk(),YX=Nk(),oz=Rk(),z0=x0(),j0=I9(),HG0=eY(),C9=p0(),DX=sY();function FG0(D){if(uk(D)){if(mk(D),gk(D)){zG0(D);return}}hk(D,()=>(0,fk.topBoolOrEmptySchema)(D))}ik.validateFunctionCode=FG0;function hk({gen:D,validateName:Y,schema:X,schemaEnv:Q,opts:J},W){if(J.code.es5)D.func(Y,z0._`${j0.default.data}, ${j0.default.valCxt}`,Q.$async,()=>{D.code(z0._`"use strict"; ${kk(X,J)}`),KG0(D,J),D.code(W)});else D.func(Y,z0._`${j0.default.data}, ${qG0(J)}`,Q.$async,()=>D.code(kk(X,J)).code(W))}function qG0(D){return z0._`{${j0.default.instancePath}="", ${j0.default.parentData}, ${j0.default.parentDataProperty}, ${j0.default.rootData}=${j0.default.data}${D.dynamicRef?z0._`, ${j0.default.dynamicAnchors}={}`:z0.nil}}={}`}function KG0(D,Y){D.if(j0.default.valCxt,()=>{if(D.var(j0.default.instancePath,z0._`${j0.default.valCxt}.${j0.default.instancePath}`),D.var(j0.default.parentData,z0._`${j0.default.valCxt}.${j0.default.parentData}`),D.var(j0.default.parentDataProperty,z0._`${j0.default.valCxt}.${j0.default.parentDataProperty}`),D.var(j0.default.rootData,z0._`${j0.default.valCxt}.${j0.default.rootData}`),Y.dynamicRef)D.var(j0.default.dynamicAnchors,z0._`${j0.default.valCxt}.${j0.default.dynamicAnchors}`)},()=>{if(D.var(j0.default.instancePath,z0._`""`),D.var(j0.default.parentData,z0._`undefined`),D.var(j0.default.parentDataProperty,z0._`undefined`),D.var(j0.default.rootData,j0.default.data),Y.dynamicRef)D.var(j0.default.dynamicAnchors,z0._`{}`)})}function zG0(D){let{schema:Y,opts:X,gen:Q}=D;hk(D,()=>{if(X.$comment&&Y.$comment)lk(D);if(MG0(D),Q.let(j0.default.vErrors,null),Q.let(j0.default.errors,0),X.unevaluated)UG0(D);ck(D),ZG0(D)});return}function UG0(D){let{gen:Y,validateName:X}=D;D.evaluated=Y.const("evaluated",z0._`${X}.evaluated`),Y.if(z0._`${D.evaluated}.dynamicProps`,()=>Y.assign(z0._`${D.evaluated}.props`,z0._`undefined`)),Y.if(z0._`${D.evaluated}.dynamicItems`,()=>Y.assign(z0._`${D.evaluated}.items`,z0._`undefined`))}function kk(D,Y){let X=typeof D=="object"&&D[Y.schemaId];return X&&(Y.code.source||Y.code.process)?z0._`/*# sourceURL=${X} */`:z0.nil}function VG0(D,Y){if(uk(D)){if(mk(D),gk(D)){wG0(D,Y);return}}(0,fk.boolOrEmptySchema)(D,Y)}function gk({schema:D,self:Y}){if(typeof D=="boolean")return!D;for(let X in D)if(Y.RULES.all[X])return!0;return!1}function uk(D){return typeof D.schema!="boolean"}function wG0(D,Y){let{schema:X,gen:Q,opts:J}=D;if(J.$comment&&X.$comment)lk(D);OG0(D),NG0(D);let W=Q.const("_errs",j0.default.errors);ck(D,W),Q.var(Y,z0._`${W} === ${j0.default.errors}`)}function mk(D){(0,C9.checkUnknownRules)(D),LG0(D)}function ck(D,Y){if(D.opts.jtd)return vk(D,[],!1,Y);let X=(0,bk.getSchemaTypes)(D.schema),Q=(0,bk.coerceAndCheckDataType)(D,X);vk(D,X,!Q,Y)}function LG0(D){let{schema:Y,errSchemaPath:X,opts:Q,self:J}=D;if(Y.$ref&&Q.ignoreKeywordsWithRef&&(0,C9.schemaHasRulesButRef)(Y,J.RULES))J.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function MG0(D){let{schema:Y,opts:X}=D;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,C9.checkStrictMode)(D,"default is ignored in the schema root")}function OG0(D){let Y=D.schema[D.opts.schemaId];if(Y)D.baseId=(0,HG0.resolveUrl)(D.opts.uriResolver,D.baseId,Y)}function NG0(D){if(D.schema.$async&&!D.schemaEnv.$async)throw Error("async schema in sync schema")}function lk({gen:D,schemaEnv:Y,schema:X,errSchemaPath:Q,opts:J}){let W=X.$comment;if(J.$comment===!0)D.code(z0._`${j0.default.self}.logger.log(${W})`);else if(typeof J.$comment=="function"){let $=z0.str`${Q}/$comment`,G=D.scopeValue("root",{ref:Y.root});D.code(z0._`${j0.default.self}.opts.$comment(${W}, ${$}, ${G}.schema)`)}}function ZG0(D){let{gen:Y,schemaEnv:X,validateName:Q,ValidationError:J,opts:W}=D;if(X.$async)Y.if(z0._`${j0.default.errors} === 0`,()=>Y.return(j0.default.data),()=>Y.throw(z0._`new ${J}(${j0.default.vErrors})`));else{if(Y.assign(z0._`${Q}.errors`,j0.default.vErrors),W.unevaluated)AG0(D);Y.return(z0._`${j0.default.errors} === 0`)}}function AG0({gen:D,evaluated:Y,props:X,items:Q}){if(X instanceof z0.Name)D.assign(z0._`${Y}.props`,X);if(Q instanceof z0.Name)D.assign(z0._`${Y}.items`,Q)}function vk(D,Y,X,Q){let{gen:J,schema:W,data:$,allErrors:G,opts:B,self:H}=D,{RULES:F}=H;if(W.$ref&&(B.ignoreKeywordsWithRef||!(0,C9.schemaHasRulesButRef)(W,F))){J.block(()=>pk(D,"$ref",F.all.$ref.definition));return}if(!B.jtd)EG0(D,Y);J.block(()=>{for(let U of F.rules)K(U);K(F.post)});function K(U){if(!(0,sz.shouldUseGroup)(W,U))return;if(U.type){if(J.if((0,q$.checkDataType)(U.type,$,B.strictNumbers)),yk(D,U),Y.length===1&&Y[0]===U.type&&X)J.else(),(0,q$.reportTypeError)(D);J.endIf()}else yk(D,U);if(!G)J.if(z0._`${j0.default.errors} === ${Q||0}`)}}function yk(D,Y){let{gen:X,schema:Q,opts:{useDefaults:J}}=D;if(J)(0,BG0.assignDefaults)(D,Y.type);X.block(()=>{for(let W of Y.rules)if((0,sz.shouldUseRule)(Q,W))pk(D,W.keyword,W.definition,Y.type)})}function EG0(D,Y){if(D.schemaEnv.meta||!D.opts.strictTypes)return;if(RG0(D,Y),!D.opts.allowUnionTypes)jG0(D,Y);TG0(D,D.dataTypes)}function RG0(D,Y){if(!Y.length)return;if(!D.dataTypes.length){D.dataTypes=Y;return}Y.forEach((X)=>{if(!dk(D.dataTypes,X))tz(D,`type "${X}" not allowed by context "${D.dataTypes.join(",")}"`)}),PG0(D,Y)}function jG0(D,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))tz(D,"use allowUnionTypes to allow union type keyword")}function TG0(D,Y){let X=D.self.RULES.all;for(let Q in X){let J=X[Q];if(typeof J=="object"&&(0,sz.shouldUseRule)(D.schema,J)){let{type:W}=J.definition;if(W.length&&!W.some(($)=>SG0(Y,$)))tz(D,`missing type "${W.join(",")}" for keyword "${Q}"`)}}}function SG0(D,Y){return D.includes(Y)||Y==="number"&&D.includes("integer")}function dk(D,Y){return D.includes(Y)||Y==="integer"&&D.includes("number")}function PG0(D,Y){let X=[];for(let Q of D.dataTypes)if(dk(Y,Q))X.push(Q);else if(Y.includes("integer")&&Q==="number")X.push("integer");D.dataTypes=X}function tz(D,Y){let X=D.schemaEnv.baseId+D.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,C9.checkStrictMode)(D,Y,D.opts.strictTypes)}class ez{constructor(D,Y,X){if((0,YX.validateKeywordUsage)(D,Y,X),this.gen=D.gen,this.allErrors=D.allErrors,this.keyword=X,this.data=D.data,this.schema=D.schema[X],this.$data=Y.$data&&D.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,C9.schemaRefOrVal)(D,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=D.schema,this.params={},this.it=D,this.def=Y,this.$data)this.schemaCode=D.gen.const("vSchema",nk(this.$data,D));else if(this.schemaCode=this.schemaValue,!(0,YX.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=D.gen.const("_errs",j0.default.errors)}result(D,Y,X){this.failResult((0,z0.not)(D),Y,X)}failResult(D,Y,X){if(this.gen.if(D),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(D,Y){this.failResult((0,z0.not)(D),void 0,Y)}fail(D){if(D===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(D),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(D){if(!this.$data)return this.fail(D);let{schemaCode:Y}=this;this.fail(z0._`${Y} !== undefined && (${(0,z0.or)(this.invalid$data(),D)})`)}error(D,Y,X){if(Y){this.setParams(Y),this._error(D,X),this.setParams({});return}this._error(D,X)}_error(D,Y){(D?DX.reportExtraError:DX.reportError)(this,this.def.error,Y)}$dataError(){(0,DX.reportError)(this,this.def.$dataError||DX.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,DX.resetErrorsCount)(this.gen,this.errsCount)}ok(D){if(!this.allErrors)this.gen.if(D)}setParams(D,Y){if(Y)Object.assign(this.params,D);else this.params=D}block$data(D,Y,X=z0.nil){this.gen.block(()=>{this.check$data(D,X),Y()})}check$data(D=z0.nil,Y=z0.nil){if(!this.$data)return;let{gen:X,schemaCode:Q,schemaType:J,def:W}=this;if(X.if((0,z0.or)(z0._`${Q} === undefined`,Y)),D!==z0.nil)X.assign(D,!0);if(J.length||W.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),D!==z0.nil)X.assign(D,!1)}X.else()}invalid$data(){let{gen:D,schemaCode:Y,schemaType:X,def:Q,it:J}=this;return(0,z0.or)(W(),$());function W(){if(X.length){if(!(Y instanceof z0.Name))throw Error("ajv implementation error");let G=Array.isArray(X)?X:[X];return z0._`${(0,q$.checkDataTypes)(G,Y,J.opts.strictNumbers,q$.DataType.Wrong)}`}return z0.nil}function $(){if(Q.validateSchema){let G=D.scopeValue("validate$data",{ref:Q.validateSchema});return z0._`!${G}(${Y})`}return z0.nil}}subschema(D,Y){let X=(0,oz.getSubschema)(this.it,D);(0,oz.extendSubschemaData)(X,this.it,D),(0,oz.extendSubschemaMode)(X,D);let Q={...this.it,...X,items:void 0,props:void 0};return VG0(Q,Y),Q}mergeEvaluated(D,Y){let{it:X,gen:Q}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&D.props!==void 0)X.props=C9.mergeEvaluated.props(Q,D.props,X.props,Y);if(X.items!==!0&&D.items!==void 0)X.items=C9.mergeEvaluated.items(Q,D.items,X.items,Y)}mergeValidEvaluated(D,Y){let{it:X,gen:Q}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return Q.if(Y,()=>this.mergeEvaluated(D,z0.Name)),!0}}ik.KeywordCxt=ez;function pk(D,Y,X,Q){let J=new ez(D,X,Y);if("code"in X)X.code(J,Q);else if(J.$data&&X.validate)(0,YX.funcKeywordCode)(J,X);else if("macro"in X)(0,YX.macroKeywordCode)(J,X);else if(X.compile||X.validate)(0,YX.funcKeywordCode)(J,X)}var IG0=/^\/(?:[^~]|~0|~1)*$/,CG0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function nk(D,{dataLevel:Y,dataNames:X,dataPathArr:Q}){let J,W;if(D==="")return j0.default.rootData;if(D[0]==="/"){if(!IG0.test(D))throw Error(`Invalid JSON-pointer: ${D}`);J=D,W=j0.default.rootData}else{let H=CG0.exec(D);if(!H)throw Error(`Invalid JSON-pointer: ${D}`);let F=+H[1];if(J=H[2],J==="#"){if(F>=Y)throw Error(B("property/index",F));return Q[Y-F]}if(F>Y)throw Error(B("data",F));if(W=X[Y-F],!J)return W}let $=W,G=J.split("/");for(let H of G)if(H)W=z0._`${W}${(0,z0.getProperty)((0,C9.unescapeJsonPointer)(H))}`,$=z0._`${$} && ${W}`;return $;function B(H,F){return`Cannot access ${H} ${F} levels up, current level is ${Y}`}}ik.getData=nk});var K$=T((ok)=>{Object.defineProperty(ok,"__esModule",{value:!0});class ak extends Error{constructor(D){super("validation failed");this.errors=D,this.ajv=this.validation=!0}}ok.default=ak});var QX=T((tk)=>{Object.defineProperty(tk,"__esModule",{value:!0});var DU=eY();class sk extends Error{constructor(D,Y,X,Q){super(Q||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,DU.resolveUrl)(D,Y,X),this.missingSchema=(0,DU.normalizeId)((0,DU.getFullPath)(D,this.missingRef))}}tk.default=sk});var U$=T((Yv)=>{Object.defineProperty(Yv,"__esModule",{value:!0});Yv.resolveSchema=Yv.getCompilingSchema=Yv.resolveRef=Yv.compileSchema=Yv.SchemaEnv=void 0;var c6=x0(),vG0=K$(),P5=I9(),l6=eY(),ek=p0(),yG0=XX();class JX{constructor(D){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof D.schema=="object")X=D.schema;this.schema=D.schema,this.schemaId=D.schemaId,this.root=D.root||this,this.baseId=(Y=D.baseId)!==null&&Y!==void 0?Y:(0,l6.normalizeId)(X===null||X===void 0?void 0:X[D.schemaId||"$id"]),this.schemaPath=D.schemaPath,this.localRefs=D.localRefs,this.meta=D.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}Yv.SchemaEnv=JX;function XU(D){let Y=Dv.call(this,D);if(Y)return Y;let X=(0,l6.getFullPath)(this.opts.uriResolver,D.root.baseId),{es5:Q,lines:J}=this.opts.code,{ownProperties:W}=this.opts,$=new c6.CodeGen(this.scope,{es5:Q,lines:J,ownProperties:W}),G;if(D.$async)G=$.scopeValue("Error",{ref:vG0.default,code:c6._`require("ajv/dist/runtime/validation_error").default`});let B=$.scopeName("validate");D.validateName=B;let H={gen:$,allErrors:this.opts.allErrors,data:P5.default.data,parentData:P5.default.parentData,parentDataProperty:P5.default.parentDataProperty,dataNames:[P5.default.data],dataPathArr:[c6.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:$.scopeValue("schema",this.opts.code.source===!0?{ref:D.schema,code:(0,c6.stringify)(D.schema)}:{ref:D.schema}),validateName:B,ValidationError:G,schema:D.schema,schemaEnv:D,rootId:X,baseId:D.baseId||X,schemaPath:c6.nil,errSchemaPath:D.schemaPath||(this.opts.jtd?"":"#"),errorPath:c6._`""`,opts:this.opts,self:this},F;try{this._compilations.add(D),(0,yG0.validateFunctionCode)(H),$.optimize(this.opts.code.optimize);let K=$.toString();if(F=`${$.scopeRefs(P5.default.scope)}return ${K}`,this.opts.code.process)F=this.opts.code.process(F,D);let z=Function(`${P5.default.self}`,`${P5.default.scope}`,F)(this,this.scope.get());if(this.scope.value(B,{ref:z}),z.errors=null,z.schema=D.schema,z.schemaEnv=D,D.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:B,validateCode:K,scopeValues:$._values};if(this.opts.unevaluated){let{props:V,items:w}=H;if(z.evaluated={props:V instanceof c6.Name?void 0:V,items:w instanceof c6.Name?void 0:w,dynamicProps:V instanceof c6.Name,dynamicItems:w instanceof c6.Name},z.source)z.source.evaluated=(0,c6.stringify)(z.evaluated)}return D.validate=z,D}catch(K){if(delete D.validate,delete D.validateName,F)this.logger.error("Error compiling schema, function code:",F);throw K}finally{this._compilations.delete(D)}}Yv.compileSchema=XU;function fG0(D,Y,X){var Q;X=(0,l6.resolveUrl)(this.opts.uriResolver,Y,X);let J=D.refs[X];if(J)return J;let W=uG0.call(this,D,X);if(W===void 0){let $=(Q=D.localRefs)===null||Q===void 0?void 0:Q[X],{schemaId:G}=this.opts;if($)W=new JX({schema:$,schemaId:G,root:D,baseId:Y})}if(W===void 0)return;return D.refs[X]=hG0.call(this,W)}Yv.resolveRef=fG0;function hG0(D){if((0,l6.inlineRef)(D.schema,this.opts.inlineRefs))return D.schema;return D.validate?D:XU.call(this,D)}function Dv(D){for(let Y of this._compilations)if(gG0(Y,D))return Y}Yv.getCompilingSchema=Dv;function gG0(D,Y){return D.schema===Y.schema&&D.root===Y.root&&D.baseId===Y.baseId}function uG0(D,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||z$.call(this,D,Y)}function z$(D,Y){let X=this.opts.uriResolver.parse(Y),Q=(0,l6._getFullPath)(this.opts.uriResolver,X),J=(0,l6.getFullPath)(this.opts.uriResolver,D.baseId,void 0);if(Object.keys(D.schema).length>0&&Q===J)return YU.call(this,X,D);let W=(0,l6.normalizeId)(Q),$=this.refs[W]||this.schemas[W];if(typeof $=="string"){let G=z$.call(this,D,$);if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;return YU.call(this,X,G)}if(typeof($===null||$===void 0?void 0:$.schema)!=="object")return;if(!$.validate)XU.call(this,$);if(W===(0,l6.normalizeId)(Y)){let{schema:G}=$,{schemaId:B}=this.opts,H=G[B];if(H)J=(0,l6.resolveUrl)(this.opts.uriResolver,J,H);return new JX({schema:G,schemaId:B,root:D,baseId:J})}return YU.call(this,X,$)}Yv.resolveSchema=z$;var mG0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function YU(D,{baseId:Y,schema:X,root:Q}){var J;if(((J=D.fragment)===null||J===void 0?void 0:J[0])!=="/")return;for(let G of D.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,ek.unescapeFragment)(G)];if(B===void 0)return;X=B;let H=typeof X==="object"&&X[this.opts.schemaId];if(!mG0.has(G)&&H)Y=(0,l6.resolveUrl)(this.opts.uriResolver,Y,H)}let W;if(typeof X!="boolean"&&X.$ref&&!(0,ek.schemaHasRulesButRef)(X,this.RULES)){let G=(0,l6.resolveUrl)(this.opts.uriResolver,Y,X.$ref);W=z$.call(this,Q,G)}let{schemaId:$}=this.opts;if(W=W||new JX({schema:X,schemaId:$,root:Q,baseId:Y}),W.schema!==W.root.schema)return W;return}});var Qv=T((pI0,nG0)=>{nG0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var JU=T((nI0,Gv)=>{var iG0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Wv=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function QU(D){let Y="",X=0,Q=0;for(Q=0;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q];break}for(Q+=1;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q]}return Y}var rG0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Jv(D){return D.length=0,!0}function aG0(D,Y,X){if(D.length){let Q=QU(D);if(Q!=="")Y.push(Q);else return X.error=!0,!1;D.length=0}return!0}function oG0(D){let Y=0,X={error:!1,address:"",zone:""},Q=[],J=[],W=!1,$=!1,G=aG0;for(let B=0;B<D.length;B++){let H=D[B];if(H==="["||H==="]")continue;if(H===":"){if(W===!0)$=!0;if(!G(J,Q,X))break;if(++Y>7){X.error=!0;break}if(B>0&&D[B-1]===":")W=!0;Q.push(":");continue}else if(H==="%"){if(!G(J,Q,X))break;G=Jv}else{J.push(H);continue}}if(J.length)if(G===Jv)X.zone=J.join("");else if($)Q.push(J.join(""));else Q.push(QU(J));return X.address=Q.join(""),X}function $v(D){if(sG0(D,":")<2)return{host:D,isIPV6:!1};let Y=oG0(D);if(!Y.error){let{address:X,address:Q}=Y;if(Y.zone)X+="%"+Y.zone,Q+="%25"+Y.zone;return{host:X,isIPV6:!0,escapedHost:Q}}else return{host:D,isIPV6:!1}}function sG0(D,Y){let X=0;for(let Q=0;Q<D.length;Q++)if(D[Q]===Y)X++;return X}function tG0(D){let Y=D,X=[],Q=-1,J=0;while(J=Y.length){if(J===1)if(Y===".")break;else if(Y==="/"){X.push("/");break}else{X.push(Y);break}else if(J===2){if(Y[0]==="."){if(Y[1]===".")break;else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."||Y[1]==="/"){X.push("/");break}}}else if(J===3){if(Y==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(Y[0]==="."){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(3);continue}}else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(2);continue}else if(Y[2]==="."){if(Y[3]==="/"){if(Y=Y.slice(3),X.length!==0)X.pop();continue}}}}if((Q=Y.indexOf("/",1))===-1){X.push(Y);break}else X.push(Y.slice(0,Q)),Y=Y.slice(Q)}return X.join("")}function eG0(D,Y){let X=Y!==!0?escape:unescape;if(D.scheme!==void 0)D.scheme=X(D.scheme);if(D.userinfo!==void 0)D.userinfo=X(D.userinfo);if(D.host!==void 0)D.host=X(D.host);if(D.path!==void 0)D.path=X(D.path);if(D.query!==void 0)D.query=X(D.query);if(D.fragment!==void 0)D.fragment=X(D.fragment);return D}function DB0(D){let Y=[];if(D.userinfo!==void 0)Y.push(D.userinfo),Y.push("@");if(D.host!==void 0){let X=unescape(D.host);if(!Wv(X)){let Q=$v(X);if(Q.isIPV6===!0)X=`[${Q.escapedHost}]`;else X=D.host}Y.push(X)}if(typeof D.port==="number"||typeof D.port==="string")Y.push(":"),Y.push(String(D.port));return Y.length?Y.join(""):void 0}Gv.exports={nonSimpleDomain:rG0,recomposeAuthority:DB0,normalizeComponentEncoding:eG0,removeDotSegments:tG0,isIPv4:Wv,isUUID:iG0,normalizeIPv6:$v,stringArrayToHexStripped:QU}});var Kv=T((iI0,qv)=>{var{isUUID:YB0}=JU(),XB0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,QB0=["http","https","ws","wss","urn","urn:uuid"];function JB0(D){return QB0.indexOf(D)!==-1}function WU(D){if(D.secure===!0)return!0;else if(D.secure===!1)return!1;else if(D.scheme)return D.scheme.length===3&&(D.scheme[0]==="w"||D.scheme[0]==="W")&&(D.scheme[1]==="s"||D.scheme[1]==="S")&&(D.scheme[2]==="s"||D.scheme[2]==="S");else return!1}function Bv(D){if(!D.host)D.error=D.error||"HTTP URIs must have a host.";return D}function Hv(D){let Y=String(D.scheme).toLowerCase()==="https";if(D.port===(Y?443:80)||D.port==="")D.port=void 0;if(!D.path)D.path="/";return D}function WB0(D){return D.secure=WU(D),D.resourceName=(D.path||"/")+(D.query?"?"+D.query:""),D.path=void 0,D.query=void 0,D}function $B0(D){if(D.port===(WU(D)?443:80)||D.port==="")D.port=void 0;if(typeof D.secure==="boolean")D.scheme=D.secure?"wss":"ws",D.secure=void 0;if(D.resourceName){let[Y,X]=D.resourceName.split("?");D.path=Y&&Y!=="/"?Y:void 0,D.query=X,D.resourceName=void 0}return D.fragment=void 0,D}function GB0(D,Y){if(!D.path)return D.error="URN can not be parsed",D;let X=D.path.match(XB0);if(X){let Q=Y.scheme||D.scheme||"urn";D.nid=X[1].toLowerCase(),D.nss=X[2];let J=`${Q}:${Y.nid||D.nid}`,W=$U(J);if(D.path=void 0,W)D=W.parse(D,Y)}else D.error=D.error||"URN can not be parsed.";return D}function BB0(D,Y){if(D.nid===void 0)throw Error("URN without nid cannot be serialized");let X=Y.scheme||D.scheme||"urn",Q=D.nid.toLowerCase(),J=`${X}:${Y.nid||Q}`,W=$U(J);if(W)D=W.serialize(D,Y);let $=D,G=D.nss;return $.path=`${Q||Y.nid}:${G}`,Y.skipEscape=!0,$}function HB0(D,Y){let X=D;if(X.uuid=X.nss,X.nss=void 0,!Y.tolerant&&(!X.uuid||!YB0(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function FB0(D){let Y=D;return Y.nss=(D.uuid||"").toLowerCase(),Y}var Fv={scheme:"http",domainHost:!0,parse:Bv,serialize:Hv},qB0={scheme:"https",domainHost:Fv.domainHost,parse:Bv,serialize:Hv},V$={scheme:"ws",domainHost:!0,parse:WB0,serialize:$B0},KB0={scheme:"wss",domainHost:V$.domainHost,parse:V$.parse,serialize:V$.serialize},zB0={scheme:"urn",parse:GB0,serialize:BB0,skipNormalize:!0},UB0={scheme:"urn:uuid",parse:HB0,serialize:FB0,skipNormalize:!0},w$={http:Fv,https:qB0,ws:V$,wss:KB0,urn:zB0,"urn:uuid":UB0};Object.setPrototypeOf(w$,null);function $U(D){return D&&(w$[D]||w$[D.toLowerCase()])||void 0}qv.exports={wsIsSecure:WU,SCHEMES:w$,isValidSchemeName:JB0,getSchemeHandler:$U}});var Vv=T((rI0,M$)=>{var{normalizeIPv6:VB0,removeDotSegments:WX,recomposeAuthority:wB0,normalizeComponentEncoding:L$,isIPv4:LB0,nonSimpleDomain:MB0}=JU(),{SCHEMES:OB0,getSchemeHandler:zv}=Kv();function NB0(D,Y){if(typeof D==="string")D=G9(x9(D,Y),Y);else if(typeof D==="object")D=x9(G9(D,Y),Y);return D}function ZB0(D,Y,X){let Q=X?Object.assign({scheme:"null"},X):{scheme:"null"},J=Uv(x9(D,Q),x9(Y,Q),Q,!0);return Q.skipEscape=!0,G9(J,Q)}function Uv(D,Y,X,Q){let J={};if(!Q)D=x9(G9(D,X),X),Y=x9(G9(Y,X),X);if(X=X||{},!X.tolerant&&Y.scheme)J.scheme=Y.scheme,J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=WX(Y.path||""),J.query=Y.query;else{if(Y.userinfo!==void 0||Y.host!==void 0||Y.port!==void 0)J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=WX(Y.path||""),J.query=Y.query;else{if(!Y.path)if(J.path=D.path,Y.query!==void 0)J.query=Y.query;else J.query=D.query;else{if(Y.path[0]==="/")J.path=WX(Y.path);else{if((D.userinfo!==void 0||D.host!==void 0||D.port!==void 0)&&!D.path)J.path="/"+Y.path;else if(!D.path)J.path=Y.path;else J.path=D.path.slice(0,D.path.lastIndexOf("/")+1)+Y.path;J.path=WX(J.path)}J.query=Y.query}J.userinfo=D.userinfo,J.host=D.host,J.port=D.port}J.scheme=D.scheme}return J.fragment=Y.fragment,J}function AB0(D,Y,X){if(typeof D==="string")D=unescape(D),D=G9(L$(x9(D,X),!0),{...X,skipEscape:!0});else if(typeof D==="object")D=G9(L$(D,!0),{...X,skipEscape:!0});if(typeof Y==="string")Y=unescape(Y),Y=G9(L$(x9(Y,X),!0),{...X,skipEscape:!0});else if(typeof Y==="object")Y=G9(L$(Y,!0),{...X,skipEscape:!0});return D.toLowerCase()===Y.toLowerCase()}function G9(D,Y){let X={host:D.host,scheme:D.scheme,userinfo:D.userinfo,port:D.port,path:D.path,query:D.query,nid:D.nid,nss:D.nss,uuid:D.uuid,fragment:D.fragment,reference:D.reference,resourceName:D.resourceName,secure:D.secure,error:""},Q=Object.assign({},Y),J=[],W=zv(Q.scheme||X.scheme);if(W&&W.serialize)W.serialize(X,Q);if(X.path!==void 0)if(!Q.skipEscape){if(X.path=escape(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=unescape(X.path);if(Q.reference!=="suffix"&&X.scheme)J.push(X.scheme,":");let $=wB0(X);if($!==void 0){if(Q.reference!=="suffix")J.push("//");if(J.push($),X.path&&X.path[0]!=="/")J.push("/")}if(X.path!==void 0){let G=X.path;if(!Q.absolutePath&&(!W||!W.absolutePath))G=WX(G);if($===void 0&&G[0]==="/"&&G[1]==="/")G="/%2F"+G.slice(2);J.push(G)}if(X.query!==void 0)J.push("?",X.query);if(X.fragment!==void 0)J.push("#",X.fragment);return J.join("")}var EB0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function x9(D,Y){let X=Object.assign({},Y),Q={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},J=!1;if(X.reference==="suffix")if(X.scheme)D=X.scheme+":"+D;else D="//"+D;let W=D.match(EB0);if(W){if(Q.scheme=W[1],Q.userinfo=W[3],Q.host=W[4],Q.port=parseInt(W[5],10),Q.path=W[6]||"",Q.query=W[7],Q.fragment=W[8],isNaN(Q.port))Q.port=W[5];if(Q.host)if(LB0(Q.host)===!1){let B=VB0(Q.host);Q.host=B.host.toLowerCase(),J=B.isIPV6}else J=!0;if(Q.scheme===void 0&&Q.userinfo===void 0&&Q.host===void 0&&Q.port===void 0&&Q.query===void 0&&!Q.path)Q.reference="same-document";else if(Q.scheme===void 0)Q.reference="relative";else if(Q.fragment===void 0)Q.reference="absolute";else Q.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==Q.reference)Q.error=Q.error||"URI is not a "+X.reference+" reference.";let $=zv(X.scheme||Q.scheme);if(!X.unicodeSupport&&(!$||!$.unicodeSupport)){if(Q.host&&(X.domainHost||$&&$.domainHost)&&J===!1&&MB0(Q.host))try{Q.host=URL.domainToASCII(Q.host.toLowerCase())}catch(G){Q.error=Q.error||"Host's domain name can not be converted to ASCII: "+G}}if(!$||$&&!$.skipNormalize){if(D.indexOf("%")!==-1){if(Q.scheme!==void 0)Q.scheme=unescape(Q.scheme);if(Q.host!==void 0)Q.host=unescape(Q.host)}if(Q.path)Q.path=escape(unescape(Q.path));if(Q.fragment)Q.fragment=encodeURI(decodeURIComponent(Q.fragment))}if($&&$.parse)$.parse(Q,X)}else Q.error=Q.error||"URI can not be parsed.";return Q}var GU={SCHEMES:OB0,normalize:NB0,resolve:ZB0,resolveComponent:Uv,equal:AB0,serialize:G9,parse:x9};M$.exports=GU;M$.exports.default=GU;M$.exports.fastUri=GU});var Mv=T((Lv)=>{Object.defineProperty(Lv,"__esModule",{value:!0});var wv=Vv();wv.code='require("ajv/dist/runtime/uri").default';Lv.default=wv});var Tv=T((_9)=>{Object.defineProperty(_9,"__esModule",{value:!0});_9.CodeGen=_9.Name=_9.nil=_9.stringify=_9.str=_9._=_9.KeywordCxt=void 0;var jB0=XX();Object.defineProperty(_9,"KeywordCxt",{enumerable:!0,get:function(){return jB0.KeywordCxt}});var I3=x0();Object.defineProperty(_9,"_",{enumerable:!0,get:function(){return I3._}});Object.defineProperty(_9,"str",{enumerable:!0,get:function(){return I3.str}});Object.defineProperty(_9,"stringify",{enumerable:!0,get:function(){return I3.stringify}});Object.defineProperty(_9,"nil",{enumerable:!0,get:function(){return I3.nil}});Object.defineProperty(_9,"Name",{enumerable:!0,get:function(){return I3.Name}});Object.defineProperty(_9,"CodeGen",{enumerable:!0,get:function(){return I3.CodeGen}});var TB0=K$(),Ev=QX(),SB0=uz(),$X=U$(),PB0=x0(),GX=eY(),O$=tY(),HU=p0(),Ov=Qv(),IB0=Mv(),Rv=(D,Y)=>new RegExp(D,Y);Rv.code="new RegExp";var CB0=["removeAdditional","useDefaults","coerceTypes"],xB0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_B0={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},bB0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Nv=200;function kB0(D){var Y,X,Q,J,W,$,G,B,H,F,K,U,z,V,w,L,O,Z,M,E,j,I,_,y,C;let c=D.strict,S=(Y=D.code)===null||Y===void 0?void 0:Y.optimize,p=S===!0||S===void 0?1:S||0,u=(Q=(X=D.code)===null||X===void 0?void 0:X.regExp)!==null&&Q!==void 0?Q:Rv,Q0=(J=D.uriResolver)!==null&&J!==void 0?J:IB0.default;return{strictSchema:($=(W=D.strictSchema)!==null&&W!==void 0?W:c)!==null&&$!==void 0?$:!0,strictNumbers:(B=(G=D.strictNumbers)!==null&&G!==void 0?G:c)!==null&&B!==void 0?B:!0,strictTypes:(F=(H=D.strictTypes)!==null&&H!==void 0?H:c)!==null&&F!==void 0?F:"log",strictTuples:(U=(K=D.strictTuples)!==null&&K!==void 0?K:c)!==null&&U!==void 0?U:"log",strictRequired:(V=(z=D.strictRequired)!==null&&z!==void 0?z:c)!==null&&V!==void 0?V:!1,code:D.code?{...D.code,optimize:p,regExp:u}:{optimize:p,regExp:u},loopRequired:(w=D.loopRequired)!==null&&w!==void 0?w:Nv,loopEnum:(L=D.loopEnum)!==null&&L!==void 0?L:Nv,meta:(O=D.meta)!==null&&O!==void 0?O:!0,messages:(Z=D.messages)!==null&&Z!==void 0?Z:!0,inlineRefs:(M=D.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(E=D.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(j=D.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(I=D.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(_=D.validateFormats)!==null&&_!==void 0?_:!0,unicodeRegExp:(y=D.unicodeRegExp)!==null&&y!==void 0?y:!0,int32range:(C=D.int32range)!==null&&C!==void 0?C:!0,uriResolver:Q0}}class N${constructor(D={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,D=this.opts={...D,...kB0(D)};let{es5:Y,lines:X}=this.opts.code;this.scope=new PB0.ValueScope({scope:{},prefixes:xB0,es5:Y,lines:X}),this.logger=uB0(D.logger);let Q=D.validateFormats;if(D.validateFormats=!1,this.RULES=(0,SB0.getRules)(),Zv.call(this,_B0,D,"NOT SUPPORTED"),Zv.call(this,bB0,D,"DEPRECATED","warn"),this._metaOpts=hB0.call(this),D.formats)yB0.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),D.keywords)fB0.call(this,D.keywords);if(typeof D.meta=="object")this.addMetaSchema(D.meta);vB0.call(this),D.validateFormats=Q}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:D,meta:Y,schemaId:X}=this.opts,Q=Ov;if(X==="id")Q={...Ov},Q.id=Q.$id,delete Q.$id;if(Y&&D)this.addMetaSchema(Q,Q[X],!1)}defaultMeta(){let{meta:D,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof D=="object"?D[Y]||D:void 0}validate(D,Y){let X;if(typeof D=="string"){if(X=this.getSchema(D),!X)throw Error(`no schema with key or ref "${D}"`)}else X=this.compile(D);let Q=X(Y);if(!("$async"in X))this.errors=X.errors;return Q}compile(D,Y){let X=this._addSchema(D,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(D,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return Q.call(this,D,Y);async function Q(H,F){await J.call(this,H.$schema);let K=this._addSchema(H,F);return K.validate||W.call(this,K)}async function J(H){if(H&&!this.getSchema(H))await Q.call(this,{$ref:H},!0)}async function W(H){try{return this._compileSchemaEnv(H)}catch(F){if(!(F instanceof Ev.default))throw F;return $.call(this,F),await G.call(this,F.missingSchema),W.call(this,H)}}function $({missingSchema:H,missingRef:F}){if(this.refs[H])throw Error(`AnySchema ${H} is loaded but ${F} cannot be resolved`)}async function G(H){let F=await B.call(this,H);if(!this.refs[H])await J.call(this,F.$schema);if(!this.refs[H])this.addSchema(F,H,Y)}async function B(H){let F=this._loading[H];if(F)return F;try{return await(this._loading[H]=X(H))}finally{delete this._loading[H]}}}addSchema(D,Y,X,Q=this.opts.validateSchema){if(Array.isArray(D)){for(let W of D)this.addSchema(W,void 0,X,Q);return this}let J;if(typeof D==="object"){let{schemaId:W}=this.opts;if(J=D[W],J!==void 0&&typeof J!="string")throw Error(`schema ${W} must be string`)}return Y=(0,GX.normalizeId)(Y||J),this._checkUnique(Y),this.schemas[Y]=this._addSchema(D,X,Y,Q,!0),this}addMetaSchema(D,Y,X=this.opts.validateSchema){return this.addSchema(D,Y,!0,X),this}validateSchema(D,Y){if(typeof D=="boolean")return!0;let X;if(X=D.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Q=this.validate(X,D);if(!Q&&Y){let J="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(J);else throw Error(J)}return Q}getSchema(D){let Y;while(typeof(Y=Av.call(this,D))=="string")D=Y;if(Y===void 0){let{schemaId:X}=this.opts,Q=new $X.SchemaEnv({schema:{},schemaId:X});if(Y=$X.resolveSchema.call(this,Q,D),!Y)return;this.refs[D]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(D){if(D instanceof RegExp)return this._removeAllSchemas(this.schemas,D),this._removeAllSchemas(this.refs,D),this;switch(typeof D){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=Av.call(this,D);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[D],delete this.refs[D],this}case"object":{let Y=D;this._cache.delete(Y);let X=D[this.opts.schemaId];if(X)X=(0,GX.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(D){for(let Y of D)this.addKeyword(Y);return this}addKeyword(D,Y){let X;if(typeof D=="string"){if(X=D,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof D=="object"&&Y===void 0){if(Y=D,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(cB0.call(this,X,Y),!Y)return(0,HU.eachItem)(X,(J)=>BU.call(this,J)),this;dB0.call(this,Y);let Q={...Y,type:(0,O$.getJSONTypes)(Y.type),schemaType:(0,O$.getJSONTypes)(Y.schemaType)};return(0,HU.eachItem)(X,Q.type.length===0?(J)=>BU.call(this,J,Q):(J)=>Q.type.forEach((W)=>BU.call(this,J,Q,W))),this}getKeyword(D){let Y=this.RULES.all[D];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(D){let{RULES:Y}=this;delete Y.keywords[D],delete Y.all[D];for(let X of Y.rules){let Q=X.rules.findIndex((J)=>J.keyword===D);if(Q>=0)X.rules.splice(Q,1)}return this}addFormat(D,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[D]=Y,this}errorsText(D=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!D||D.length===0)return"No errors";return D.map((Q)=>`${X}${Q.instancePath} ${Q.message}`).reduce((Q,J)=>Q+Y+J)}$dataMetaSchema(D,Y){let X=this.RULES.all;D=JSON.parse(JSON.stringify(D));for(let Q of Y){let J=Q.split("/").slice(1),W=D;for(let $ of J)W=W[$];for(let $ in X){let G=X[$];if(typeof G!="object")continue;let{$data:B}=G.definition,H=W[$];if(B&&H)W[$]=jv(H)}}return D}_removeAllSchemas(D,Y){for(let X in D){let Q=D[X];if(!Y||Y.test(X)){if(typeof Q=="string")delete D[X];else if(Q&&!Q.meta)this._cache.delete(Q.schema),delete D[X]}}}_addSchema(D,Y,X,Q=this.opts.validateSchema,J=this.opts.addUsedSchema){let W,{schemaId:$}=this.opts;if(typeof D=="object")W=D[$];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof D!="boolean")throw Error("schema must be object or boolean");let G=this._cache.get(D);if(G!==void 0)return G;X=(0,GX.normalizeId)(W||X);let B=GX.getSchemaRefs.call(this,D,X);if(G=new $X.SchemaEnv({schema:D,schemaId:$,meta:Y,baseId:X,localRefs:B}),this._cache.set(G.schema,G),J&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=G}if(Q)this.validateSchema(D,!0);return G}_checkUnique(D){if(this.schemas[D]||this.refs[D])throw Error(`schema with key or id "${D}" already exists`)}_compileSchemaEnv(D){if(D.meta)this._compileMetaSchema(D);else $X.compileSchema.call(this,D);if(!D.validate)throw Error("ajv implementation error");return D.validate}_compileMetaSchema(D){let Y=this.opts;this.opts=this._metaOpts;try{$X.compileSchema.call(this,D)}finally{this.opts=Y}}}N$.ValidationError=TB0.default;N$.MissingRefError=Ev.default;_9.default=N$;function Zv(D,Y,X,Q="error"){for(let J in D){let W=J;if(W in Y)this.logger[Q](`${X}: option ${J}. ${D[W]}`)}}function Av(D){return D=(0,GX.normalizeId)(D),this.schemas[D]||this.refs[D]}function vB0(){let D=this.opts.schemas;if(!D)return;if(Array.isArray(D))this.addSchema(D);else for(let Y in D)this.addSchema(D[Y],Y)}function yB0(){for(let D in this.opts.formats){let Y=this.opts.formats[D];if(Y)this.addFormat(D,Y)}}function fB0(D){if(Array.isArray(D)){this.addVocabulary(D);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in D){let X=D[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function hB0(){let D={...this.opts};for(let Y of CB0)delete D[Y];return D}var gB0={log(){},warn(){},error(){}};function uB0(D){if(D===!1)return gB0;if(D===void 0)return console;if(D.log&&D.warn&&D.error)return D;throw Error("logger must implement log, warn and error methods")}var mB0=/^[a-z_$][a-z0-9_$:-]*$/i;function cB0(D,Y){let{RULES:X}=this;if((0,HU.eachItem)(D,(Q)=>{if(X.keywords[Q])throw Error(`Keyword ${Q} is already defined`);if(!mB0.test(Q))throw Error(`Keyword ${Q} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function BU(D,Y,X){var Q;let J=Y===null||Y===void 0?void 0:Y.post;if(X&&J)throw Error('keyword with "post" flag cannot have "type"');let{RULES:W}=this,$=J?W.post:W.rules.find(({type:B})=>B===X);if(!$)$={type:X,rules:[]},W.rules.push($);if(W.keywords[D]=!0,!Y)return;let G={keyword:D,definition:{...Y,type:(0,O$.getJSONTypes)(Y.type),schemaType:(0,O$.getJSONTypes)(Y.schemaType)}};if(Y.before)lB0.call(this,$,G,Y.before);else $.rules.push(G);W.all[D]=G,(Q=Y.implements)===null||Q===void 0||Q.forEach((B)=>this.addKeyword(B))}function lB0(D,Y,X){let Q=D.rules.findIndex((J)=>J.keyword===X);if(Q>=0)D.rules.splice(Q,0,Y);else D.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function dB0(D){let{metaSchema:Y}=D;if(Y===void 0)return;if(D.$data&&this.opts.$data)Y=jv(Y);D.validateSchema=this.compile(Y,!0)}var pB0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function jv(D){return{anyOf:[D,pB0]}}});var Pv=T((Sv)=>{Object.defineProperty(Sv,"__esModule",{value:!0});var rB0={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Sv.default=rB0});var kv=T((_v)=>{Object.defineProperty(_v,"__esModule",{value:!0});_v.callRef=_v.getValidate=void 0;var oB0=QX(),Iv=A6(),a8=x0(),C3=I9(),Cv=U$(),Z$=p0(),sB0={keyword:"$ref",schemaType:"string",code(D){let{gen:Y,schema:X,it:Q}=D,{baseId:J,schemaEnv:W,validateName:$,opts:G,self:B}=Q,{root:H}=W;if((X==="#"||X==="#/")&&J===H.baseId)return K();let F=Cv.resolveRef.call(B,H,J,X);if(F===void 0)throw new oB0.default(Q.opts.uriResolver,J,X);if(F instanceof Cv.SchemaEnv)return U(F);return z(F);function K(){if(W===H)return A$(D,$,W,W.$async);let V=Y.scopeValue("root",{ref:H});return A$(D,a8._`${V}.validate`,H,H.$async)}function U(V){let w=xv(D,V);A$(D,w,V,V.$async)}function z(V){let w=Y.scopeValue("schema",G.code.source===!0?{ref:V,code:(0,a8.stringify)(V)}:{ref:V}),L=Y.name("valid"),O=D.subschema({schema:V,dataTypes:[],schemaPath:a8.nil,topSchemaRef:w,errSchemaPath:X},L);D.mergeEvaluated(O),D.ok(L)}}};function xv(D,Y){let{gen:X}=D;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):a8._`${X.scopeValue("wrapper",{ref:Y})}.validate`}_v.getValidate=xv;function A$(D,Y,X,Q){let{gen:J,it:W}=D,{allErrors:$,schemaEnv:G,opts:B}=W,H=B.passContext?C3.default.this:a8.nil;if(Q)F();else K();function F(){if(!G.$async)throw Error("async schema referenced by sync schema");let V=J.let("valid");J.try(()=>{if(J.code(a8._`await ${(0,Iv.callValidateCode)(D,Y,H)}`),z(Y),!$)J.assign(V,!0)},(w)=>{if(J.if(a8._`!(${w} instanceof ${W.ValidationError})`,()=>J.throw(w)),U(w),!$)J.assign(V,!1)}),D.ok(V)}function K(){D.result((0,Iv.callValidateCode)(D,Y,H),()=>z(Y),()=>U(Y))}function U(V){let w=a8._`${V}.errors`;J.assign(C3.default.vErrors,a8._`${C3.default.vErrors} === null ? ${w} : ${C3.default.vErrors}.concat(${w})`),J.assign(C3.default.errors,a8._`${C3.default.vErrors}.length`)}function z(V){var w;if(!W.opts.unevaluated)return;let L=(w=X===null||X===void 0?void 0:X.validate)===null||w===void 0?void 0:w.evaluated;if(W.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)W.props=Z$.mergeEvaluated.props(J,L.props,W.props)}else{let O=J.var("props",a8._`${V}.evaluated.props`);W.props=Z$.mergeEvaluated.props(J,O,W.props,a8.Name)}if(W.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)W.items=Z$.mergeEvaluated.items(J,L.items,W.items)}else{let O=J.var("items",a8._`${V}.evaluated.items`);W.items=Z$.mergeEvaluated.items(J,O,W.items,a8.Name)}}}_v.callRef=A$;_v.default=sB0});var yv=T((vv)=>{Object.defineProperty(vv,"__esModule",{value:!0});var DH0=Pv(),YH0=kv(),XH0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",DH0.default,YH0.default];vv.default=XH0});var hv=T((fv)=>{Object.defineProperty(fv,"__esModule",{value:!0});var E$=x0(),jD=E$.operators,R$={maximum:{okStr:"<=",ok:jD.LTE,fail:jD.GT},minimum:{okStr:">=",ok:jD.GTE,fail:jD.LT},exclusiveMaximum:{okStr:"<",ok:jD.LT,fail:jD.GTE},exclusiveMinimum:{okStr:">",ok:jD.GT,fail:jD.LTE}},JH0={message:({keyword:D,schemaCode:Y})=>E$.str`must be ${R$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>E$._`{comparison: ${R$[D].okStr}, limit: ${Y}}`},WH0={keyword:Object.keys(R$),type:"number",schemaType:"number",$data:!0,error:JH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D;D.fail$data(E$._`${X} ${R$[Y].fail} ${Q} || isNaN(${X})`)}};fv.default=WH0});var uv=T((gv)=>{Object.defineProperty(gv,"__esModule",{value:!0});var BX=x0(),GH0={message:({schemaCode:D})=>BX.str`must be multiple of ${D}`,params:({schemaCode:D})=>BX._`{multipleOf: ${D}}`},BH0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:GH0,code(D){let{gen:Y,data:X,schemaCode:Q,it:J}=D,W=J.opts.multipleOfPrecision,$=Y.let("res"),G=W?BX._`Math.abs(Math.round(${$}) - ${$}) > 1e-${W}`:BX._`${$} !== parseInt(${$})`;D.fail$data(BX._`(${Q} === 0 || (${$} = ${X}/${Q}, ${G}))`)}};gv.default=BH0});var lv=T((cv)=>{Object.defineProperty(cv,"__esModule",{value:!0});function mv(D){let Y=D.length,X=0,Q=0,J;while(Q<Y)if(X++,J=D.charCodeAt(Q++),J>=55296&&J<=56319&&Q<Y){if(J=D.charCodeAt(Q),(J&64512)===56320)Q++}return X}cv.default=mv;mv.code='require("ajv/dist/runtime/ucs2length").default'});var pv=T((dv)=>{Object.defineProperty(dv,"__esModule",{value:!0});var I5=x0(),qH0=p0(),KH0=lv(),zH0={message({keyword:D,schemaCode:Y}){let X=D==="maxLength"?"more":"fewer";return I5.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:D})=>I5._`{limit: ${D}}`},UH0={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:zH0,code(D){let{keyword:Y,data:X,schemaCode:Q,it:J}=D,W=Y==="maxLength"?I5.operators.GT:I5.operators.LT,$=J.opts.unicode===!1?I5._`${X}.length`:I5._`${(0,qH0.useFunc)(D.gen,KH0.default)}(${X})`;D.fail$data(I5._`${$} ${W} ${Q}`)}};dv.default=UH0});var iv=T((nv)=>{Object.defineProperty(nv,"__esModule",{value:!0});var wH0=A6(),j$=x0(),LH0={message:({schemaCode:D})=>j$.str`must match pattern "${D}"`,params:({schemaCode:D})=>j$._`{pattern: ${D}}`},MH0={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:LH0,code(D){let{data:Y,$data:X,schema:Q,schemaCode:J,it:W}=D,$=W.opts.unicodeRegExp?"u":"",G=X?j$._`(new RegExp(${J}, ${$}))`:(0,wH0.usePattern)(D,Q);D.fail$data(j$._`!${G}.test(${Y})`)}};nv.default=MH0});var av=T((rv)=>{Object.defineProperty(rv,"__esModule",{value:!0});var HX=x0(),NH0={message({keyword:D,schemaCode:Y}){let X=D==="maxProperties"?"more":"fewer";return HX.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:D})=>HX._`{limit: ${D}}`},ZH0={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:NH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxProperties"?HX.operators.GT:HX.operators.LT;D.fail$data(HX._`Object.keys(${X}).length ${J} ${Q}`)}};rv.default=ZH0});var sv=T((ov)=>{Object.defineProperty(ov,"__esModule",{value:!0});var FX=A6(),qX=x0(),EH0=p0(),RH0={message:({params:{missingProperty:D}})=>qX.str`must have required property '${D}'`,params:({params:{missingProperty:D}})=>qX._`{missingProperty: ${D}}`},jH0={keyword:"required",type:"object",schemaType:"array",$data:!0,error:RH0,code(D){let{gen:Y,schema:X,schemaCode:Q,data:J,$data:W,it:$}=D,{opts:G}=$;if(!W&&X.length===0)return;let B=X.length>=G.loopRequired;if($.allErrors)H();else F();if(G.strictRequired){let z=D.parentSchema.properties,{definedProperties:V}=D.it;for(let w of X)if((z===null||z===void 0?void 0:z[w])===void 0&&!V.has(w)){let L=$.schemaEnv.baseId+$.errSchemaPath,O=`required property "${w}" is not defined at "${L}" (strictRequired)`;(0,EH0.checkStrictMode)($,O,$.opts.strictRequired)}}function H(){if(B||W)D.block$data(qX.nil,K);else for(let z of X)(0,FX.checkReportMissingProp)(D,z)}function F(){let z=Y.let("missing");if(B||W){let V=Y.let("valid",!0);D.block$data(V,()=>U(z,V)),D.ok(V)}else Y.if((0,FX.checkMissingProp)(D,X,z)),(0,FX.reportMissingProp)(D,z),Y.else()}function K(){Y.forOf("prop",Q,(z)=>{D.setParams({missingProperty:z}),Y.if((0,FX.noPropertyInData)(Y,J,z,G.ownProperties),()=>D.error())})}function U(z,V){D.setParams({missingProperty:z}),Y.forOf(z,Q,()=>{Y.assign(V,(0,FX.propertyInData)(Y,J,z,G.ownProperties)),Y.if((0,qX.not)(V),()=>{D.error(),Y.break()})},qX.nil)}}};ov.default=jH0});var ev=T((tv)=>{Object.defineProperty(tv,"__esModule",{value:!0});var KX=x0(),SH0={message({keyword:D,schemaCode:Y}){let X=D==="maxItems"?"more":"fewer";return KX.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:D})=>KX._`{limit: ${D}}`},PH0={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:SH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxItems"?KX.operators.GT:KX.operators.LT;D.fail$data(KX._`${X}.length ${J} ${Q}`)}};tv.default=PH0});var T$=T((Yy)=>{Object.defineProperty(Yy,"__esModule",{value:!0});var Dy=rz();Dy.code='require("ajv/dist/runtime/equal").default';Yy.default=Dy});var Qy=T((Xy)=>{Object.defineProperty(Xy,"__esModule",{value:!0});var FU=tY(),K8=x0(),xH0=p0(),_H0=T$(),bH0={message:({params:{i:D,j:Y}})=>K8.str`must NOT have duplicate items (items ## ${Y} and ${D} are identical)`,params:({params:{i:D,j:Y}})=>K8._`{i: ${D}, j: ${Y}}`},kH0={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:bH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,parentSchema:W,schemaCode:$,it:G}=D;if(!Q&&!J)return;let B=Y.let("valid"),H=W.items?(0,FU.getSchemaTypes)(W.items):[];D.block$data(B,F,K8._`${$} === false`),D.ok(B);function F(){let V=Y.let("i",K8._`${X}.length`),w=Y.let("j");D.setParams({i:V,j:w}),Y.assign(B,!0),Y.if(K8._`${V} > 1`,()=>(K()?U:z)(V,w))}function K(){return H.length>0&&!H.some((V)=>V==="object"||V==="array")}function U(V,w){let L=Y.name("item"),O=(0,FU.checkDataTypes)(H,L,G.opts.strictNumbers,FU.DataType.Wrong),Z=Y.const("indices",K8._`{}`);Y.for(K8._`;${V}--;`,()=>{if(Y.let(L,K8._`${X}[${V}]`),Y.if(O,K8._`continue`),H.length>1)Y.if(K8._`typeof ${L} == "string"`,K8._`${L} += "_"`);Y.if(K8._`typeof ${Z}[${L}] == "number"`,()=>{Y.assign(w,K8._`${Z}[${L}]`),D.error(),Y.assign(B,!1).break()}).code(K8._`${Z}[${L}] = ${V}`)})}function z(V,w){let L=(0,xH0.useFunc)(Y,_H0.default),O=Y.name("outer");Y.label(O).for(K8._`;${V}--;`,()=>Y.for(K8._`${w} = ${V}; ${w}--;`,()=>Y.if(K8._`${L}(${X}[${V}], ${X}[${w}])`,()=>{D.error(),Y.assign(B,!1).break(O)})))}}};Xy.default=kH0});var Wy=T((Jy)=>{Object.defineProperty(Jy,"__esModule",{value:!0});var qU=x0(),yH0=p0(),fH0=T$(),hH0={message:"must be equal to constant",params:({schemaCode:D})=>qU._`{allowedValue: ${D}}`},gH0={keyword:"const",$data:!0,error:hH0,code(D){let{gen:Y,data:X,$data:Q,schemaCode:J,schema:W}=D;if(Q||W&&typeof W=="object")D.fail$data(qU._`!${(0,yH0.useFunc)(Y,fH0.default)}(${X}, ${J})`);else D.fail(qU._`${W} !== ${X}`)}};Jy.default=gH0});var Gy=T(($y)=>{Object.defineProperty($y,"__esModule",{value:!0});var zX=x0(),mH0=p0(),cH0=T$(),lH0={message:"must be equal to one of the allowed values",params:({schemaCode:D})=>zX._`{allowedValues: ${D}}`},dH0={keyword:"enum",schemaType:"array",$data:!0,error:lH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,schemaCode:W,it:$}=D;if(!Q&&J.length===0)throw Error("enum must have non-empty array");let G=J.length>=$.opts.loopEnum,B,H=()=>B!==null&&B!==void 0?B:B=(0,mH0.useFunc)(Y,cH0.default),F;if(G||Q)F=Y.let("valid"),D.block$data(F,K);else{if(!Array.isArray(J))throw Error("ajv implementation error");let z=Y.const("vSchema",W);F=(0,zX.or)(...J.map((V,w)=>U(z,w)))}D.pass(F);function K(){Y.assign(F,!1),Y.forOf("v",W,(z)=>Y.if(zX._`${H()}(${X}, ${z})`,()=>Y.assign(F,!0).break()))}function U(z,V){let w=J[V];return typeof w==="object"&&w!==null?zX._`${H()}(${X}, ${z}[${V}])`:zX._`${X} === ${w}`}}};$y.default=dH0});var Hy=T((By)=>{Object.defineProperty(By,"__esModule",{value:!0});var nH0=hv(),iH0=uv(),rH0=pv(),aH0=iv(),oH0=av(),sH0=sv(),tH0=ev(),eH0=Qy(),D20=Wy(),Y20=Gy(),X20=[nH0.default,iH0.default,rH0.default,aH0.default,oH0.default,sH0.default,tH0.default,eH0.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},D20.default,Y20.default];By.default=X20});var zU=T((qy)=>{Object.defineProperty(qy,"__esModule",{value:!0});qy.validateAdditionalItems=void 0;var C5=x0(),KU=p0(),J20={message:({params:{len:D}})=>C5.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>C5._`{limit: ${D}}`},W20={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:J20,code(D){let{parentSchema:Y,it:X}=D,{items:Q}=Y;if(!Array.isArray(Q)){(0,KU.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}Fy(D,Q)}};function Fy(D,Y){let{gen:X,schema:Q,data:J,keyword:W,it:$}=D;$.items=!0;let G=X.const("len",C5._`${J}.length`);if(Q===!1)D.setParams({len:Y.length}),D.pass(C5._`${G} <= ${Y.length}`);else if(typeof Q=="object"&&!(0,KU.alwaysValidSchema)($,Q)){let H=X.var("valid",C5._`${G} <= ${Y.length}`);X.if((0,C5.not)(H),()=>B(H)),D.ok(H)}function B(H){X.forRange("i",Y.length,G,(F)=>{if(D.subschema({keyword:W,dataProp:F,dataPropType:KU.Type.Num},H),!$.allErrors)X.if((0,C5.not)(H),()=>X.break())})}}qy.validateAdditionalItems=Fy;qy.default=W20});var UU=T((Vy)=>{Object.defineProperty(Vy,"__esModule",{value:!0});Vy.validateTuple=void 0;var zy=x0(),S$=p0(),G20=A6(),B20={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(D){let{schema:Y,it:X}=D;if(Array.isArray(Y))return Uy(D,"additionalItems",Y);if(X.items=!0,(0,S$.alwaysValidSchema)(X,Y))return;D.ok((0,G20.validateArray)(D))}};function Uy(D,Y,X=D.schema){let{gen:Q,parentSchema:J,data:W,keyword:$,it:G}=D;if(F(J),G.opts.unevaluated&&X.length&&G.items!==!0)G.items=S$.mergeEvaluated.items(Q,X.length,G.items);let B=Q.name("valid"),H=Q.const("len",zy._`${W}.length`);X.forEach((K,U)=>{if((0,S$.alwaysValidSchema)(G,K))return;Q.if(zy._`${H} > ${U}`,()=>D.subschema({keyword:$,schemaProp:U,dataProp:U},B)),D.ok(B)});function F(K){let{opts:U,errSchemaPath:z}=G,V=X.length,w=V===K.minItems&&(V===K.maxItems||K[Y]===!1);if(U.strictTuples&&!w){let L=`"${$}" is ${V}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${z}"`;(0,S$.checkStrictMode)(G,L,U.strictTuples)}}}Vy.validateTuple=Uy;Vy.default=B20});var My=T((Ly)=>{Object.defineProperty(Ly,"__esModule",{value:!0});var F20=UU(),q20={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(D)=>(0,F20.validateTuple)(D,"items")};Ly.default=q20});var Zy=T((Ny)=>{Object.defineProperty(Ny,"__esModule",{value:!0});var Oy=x0(),z20=p0(),U20=A6(),V20=zU(),w20={message:({params:{len:D}})=>Oy.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>Oy._`{limit: ${D}}`},L20={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:w20,code(D){let{schema:Y,parentSchema:X,it:Q}=D,{prefixItems:J}=X;if(Q.items=!0,(0,z20.alwaysValidSchema)(Q,Y))return;if(J)(0,V20.validateAdditionalItems)(D,J);else D.ok((0,U20.validateArray)(D))}};Ny.default=L20});var Ey=T((Ay)=>{Object.defineProperty(Ay,"__esModule",{value:!0});var E6=x0(),P$=p0(),O20={message:({params:{min:D,max:Y}})=>Y===void 0?E6.str`must contain at least ${D} valid item(s)`:E6.str`must contain at least ${D} and no more than ${Y} valid item(s)`,params:({params:{min:D,max:Y}})=>Y===void 0?E6._`{minContains: ${D}}`:E6._`{minContains: ${D}, maxContains: ${Y}}`},N20={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:O20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D,$,G,{minContains:B,maxContains:H}=Q;if(W.opts.next)$=B===void 0?1:B,G=H;else $=1;let F=Y.const("len",E6._`${J}.length`);if(D.setParams({min:$,max:G}),G===void 0&&$===0){(0,P$.checkStrictMode)(W,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(G!==void 0&&$>G){(0,P$.checkStrictMode)(W,'"minContains" > "maxContains" is always invalid'),D.fail();return}if((0,P$.alwaysValidSchema)(W,X)){let w=E6._`${F} >= ${$}`;if(G!==void 0)w=E6._`${w} && ${F} <= ${G}`;D.pass(w);return}W.items=!0;let K=Y.name("valid");if(G===void 0&&$===1)z(K,()=>Y.if(K,()=>Y.break()));else if($===0){if(Y.let(K,!0),G!==void 0)Y.if(E6._`${J}.length > 0`,U)}else Y.let(K,!1),U();D.result(K,()=>D.reset());function U(){let w=Y.name("_valid"),L=Y.let("count",0);z(w,()=>Y.if(w,()=>V(L)))}function z(w,L){Y.forRange("i",0,F,(O)=>{D.subschema({keyword:"contains",dataProp:O,dataPropType:P$.Type.Num,compositeRule:!0},w),L()})}function V(w){if(Y.code(E6._`${w}++`),G===void 0)Y.if(E6._`${w} >= ${$}`,()=>Y.assign(K,!0).break());else if(Y.if(E6._`${w} > ${G}`,()=>Y.assign(K,!1).break()),$===1)Y.assign(K,!0);else Y.if(E6._`${w} >= ${$}`,()=>Y.assign(K,!0))}}};Ay.default=N20});var Iy=T((Ty)=>{Object.defineProperty(Ty,"__esModule",{value:!0});Ty.validateSchemaDeps=Ty.validatePropertyDeps=Ty.error=void 0;var VU=x0(),A20=p0(),UX=A6();Ty.error={message:({params:{property:D,depsCount:Y,deps:X}})=>{let Q=Y===1?"property":"properties";return VU.str`must have ${Q} ${X} when property ${D} is present`},params:({params:{property:D,depsCount:Y,deps:X,missingProperty:Q}})=>VU._`{property: ${D},
135
135
  missingProperty: ${Q},
136
136
  depsCount: ${Y},
137
- deps: ${X}}`};var E20={keyword:"dependencies",type:"object",schemaType:"object",error:Ty.error,code(D){let[Y,X]=R20(D);Ry(D,Y),jy(D,X)}};function R20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ry(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,UX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,UX.checkReportMissingProp)(D,H)});else X.if(VU._`${B} && (${(0,UX.checkMissingProp)(D,G,W)})`),(0,UX.reportMissingProp)(D,W),X.else()}}Ty.validatePropertyDeps=Ry;function jy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,A20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,UX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ty.validateSchemaDeps=jy;Ty.default=E20});var _y=T((xy)=>{Object.defineProperty(xy,"__esModule",{value:!0});var Cy=x0(),S20=p0(),P20={message:"property name must be valid",params:({params:D})=>Cy._`{propertyName: ${D.propertyName}}`},I20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:P20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,S20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Cy.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};xy.default=I20});var wU=T((by)=>{Object.defineProperty(by,"__esModule",{value:!0});var I$=A6(),d6=x0(),x20=I9(),C$=p0(),_20={message:"must NOT have additional properties",params:({params:D})=>d6._`{additionalProperty: ${D.additionalProperty}}`},b20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:_20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,C$.alwaysValidSchema)($,X))return;let H=(0,I$.allSchemaProperties)(Q.properties),F=(0,I$.allSchemaProperties)(Q.patternProperties);K(),D.ok(d6._`${W} === ${x20.default.errors}`);function K(){Y.forIn("key",J,(L)=>{if(!H.length&&!F.length)V(L);else Y.if(U(L),()=>V(L))})}function U(L){let O;if(H.length>8){let Z=(0,C$.schemaRefOrVal)($,Q.properties,"properties");O=(0,I$.isOwnProperty)(Y,Z,L)}else if(H.length)O=(0,d6.or)(...H.map((Z)=>d6._`${L} === ${Z}`));else O=d6.nil;if(F.length)O=(0,d6.or)(O,...F.map((Z)=>d6._`${(0,I$.usePattern)(D,Z)}.test(${L})`));return(0,d6.not)(O)}function z(L){Y.code(d6._`delete ${J}[${L}]`)}function V(L){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(L);return}if(X===!1){if(D.setParams({additionalProperty:L}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,C$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")w(L,O,!1),Y.if((0,d6.not)(O),()=>{D.reset(),z(L)});else if(w(L,O),!G)Y.if((0,d6.not)(O),()=>Y.break())}}function w(L,O,Z){let M={keyword:"additionalProperties",dataProp:L,dataPropType:C$.Type.Str};if(Z===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(M,O)}}};by.default=b20});var fy=T((yy)=>{Object.defineProperty(yy,"__esModule",{value:!0});var v20=XX(),ky=A6(),LU=p0(),vy=wU(),y20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)vy.default.code(new v20.KeywordCxt(W,vy.default,"additionalProperties"));let $=(0,ky.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=LU.mergeEvaluated.props(Y,(0,LU.toHash)($),W.props);let G=$.filter((K)=>!(0,LU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,ky.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};yy.default=y20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var hy=A6(),x$=x0(),gy=p0(),uy=p0(),h20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,hy.allSchemaProperties)(X),B=G.filter((w)=>(0,gy.alwaysValidSchema)(W,X[w]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof x$.Name))W.props=(0,uy.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let w of G){if(H)z(w);if(W.allErrors)V(w);else Y.var(F,!0),V(w),Y.if(F)}}function z(w){for(let L in H)if(new RegExp(w).test(L))(0,gy.checkStrictMode)(W,`property ${L} matches pattern ${w} (use allowMatchingProperties)`)}function V(w){Y.forIn("key",Q,(L)=>{Y.if(x$._`${(0,hy.usePattern)(D,w)}.test(${L})`,()=>{let O=B.includes(w);if(!O)D.subschema({keyword:"patternProperties",schemaProp:w,dataProp:L,dataPropType:uy.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(x$._`${K}[${L}]`,!0);else if(!O&&!W.allErrors)Y.if((0,x$.not)(F),()=>Y.break())})})}}};my.default=h20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var u20=p0(),m20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,u20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};ly.default=m20});var ny=T((py)=>{Object.defineProperty(py,"__esModule",{value:!0});var l20=A6(),d20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:l20.validateUnion,error:{message:"must match a schema in anyOf"}};py.default=d20});var ry=T((iy)=>{Object.defineProperty(iy,"__esModule",{value:!0});var _$=x0(),n20=p0(),i20={message:"must match exactly one schema in oneOf",params:({params:D})=>_$._`{passingSchemas: ${D.passing}}`},r20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:i20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,n20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(_$._`${B} && ${$}`).assign($,!1).assign(G,_$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,_$.Name)})})}}};iy.default=r20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var o20=p0(),s20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,o20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};ay.default=s20});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var b$=x0(),ty=p0(),e20={message:({params:D})=>b$.str`must match "${D.ifClause}" schema`,params:({params:D})=>b$._`{failingKeyword: ${D.ifClause}}`},DF0={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:e20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ty.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=sy(Q,"then"),W=sy(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,b$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,b$._`${F}`);else D.setParams({ifClause:F})}}}};function sy(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ty.alwaysValidSchema)(D,X)}ey.default=DF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var XF0=p0(),QF0={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,XF0.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};Yf.default=QF0});var Jf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});var WF0=zU(),$F0=My(),GF0=UU(),BF0=Zy(),HF0=Ey(),FF0=Iy(),qF0=_y(),KF0=wU(),zF0=fy(),UF0=cy(),VF0=dy(),wF0=ny(),LF0=ry(),MF0=oy(),OF0=Df(),NF0=Xf();function ZF0(D=!1){let Y=[VF0.default,wF0.default,LF0.default,MF0.default,OF0.default,NF0.default,qF0.default,KF0.default,FF0.default,zF0.default,UF0.default];if(D)Y.push($F0.default,BF0.default);else Y.push(WF0.default,GF0.default);return Y.push(HF0.default),Y}Qf.default=ZF0});var $f=T((Wf)=>{Object.defineProperty(Wf,"__esModule",{value:!0});var u1=x0(),EF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},RF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:EF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let V=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),w=X.const("fDef",u1._`${V}[${$}]`),L=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${w} == "object" && !(${w} instanceof RegExp)`,()=>X.assign(L,u1._`${w}.type || "string"`).assign(O,u1._`${w}.validate`),()=>X.assign(L,u1._`"string"`).assign(O,w)),D.fail$data((0,u1.or)(Z(),M()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function M(){let E=F.$async?u1._`(${w}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${L} === ${Y} && !${j}`}}function z(){let V=K.formats[W];if(!V){Z();return}if(V===!0)return;let[w,L,O]=M(V);if(w===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function M(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,_=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${_}.validate`];return["string",j,_]}function E(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof L=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};Wf.default=RF0});var Bf=T((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var TF0=$f(),SF0=[TF0.default];Gf.default=SF0});var qf=T((Hf)=>{Object.defineProperty(Hf,"__esModule",{value:!0});Hf.contentVocabulary=Hf.metadataVocabulary=void 0;Hf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Hf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Uf=T((zf)=>{Object.defineProperty(zf,"__esModule",{value:!0});var CF0=yv(),xF0=Hy(),_F0=Jf(),bF0=Bf(),Kf=qf(),kF0=[CF0.default,xF0.default,(0,_F0.default)(),bF0.default,Kf.metadataVocabulary,Kf.contentVocabulary];zf.default=kF0});var Mf=T((wf)=>{Object.defineProperty(wf,"__esModule",{value:!0});wf.DiscrError=void 0;var Vf;(function(D){D.Tag="tag",D.Mapping="mapping"})(Vf||(wf.DiscrError=Vf={}))});var Zf=T((Nf)=>{Object.defineProperty(Nf,"__esModule",{value:!0});var x3=x0(),MU=Mf(),Of=U$(),yF0=QX(),fF0=p0(),hF0={message:({params:{discrError:D,tagName:Y}})=>D===MU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>x3._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},gF0={keyword:"discriminator",type:"object",schemaType:"object",error:hF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",x3._`${X}${(0,x3.getProperty)(G)}`);Y.if(x3._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:MU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let V in z)Y.elseIf(x3._`${H} === ${V}`),Y.assign(B,K(z[V]));Y.else(),D.error(!1,{discrError:MU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let V=Y.name("valid"),w=D.subschema({keyword:"oneOf",schemaProp:z},V);return D.mergeEvaluated(w,x3.Name),V}function U(){var z;let V={},w=O(J),L=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,fF0.schemaHasRulesButRef)(j,W.self.RULES)){let _=j.$ref;if(j=Of.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,_),j instanceof Of.SchemaEnv)j=j.schema;if(j===void 0)throw new yF0.default(W.opts.uriResolver,W.baseId,_)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);L=L&&(w||O(j)),Z(I,E)}if(!L)throw Error(`discriminator: "${G}" must be required`);return V;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)M(E.const,j);else if(E.enum)for(let I of E.enum)M(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function M(E,j){if(typeof E!="string"||E in V)throw Error(`discriminator: "${G}" values must be unique strings`);V[E]=j}}}};Nf.default=gF0});var Af=T((cC0,mF0)=>{mF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var NU=T((o8,OU)=>{Object.defineProperty(o8,"__esModule",{value:!0});o8.MissingRefError=o8.ValidationError=o8.CodeGen=o8.Name=o8.nil=o8.stringify=o8.str=o8._=o8.KeywordCxt=o8.Ajv=void 0;var cF0=Tv(),lF0=Uf(),dF0=Zf(),Ef=Af(),pF0=["/properties"],k$="http://json-schema.org/draft-07/schema";class VX extends cF0.default{_addVocabularies(){if(super._addVocabularies(),lF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(dF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Ef,pF0):Ef;this.addMetaSchema(D,k$,!1),this.refs["http://json-schema.org/schema"]=k$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(k$)?k$:void 0)}}o8.Ajv=VX;OU.exports=o8=VX;OU.exports.Ajv=VX;Object.defineProperty(o8,"__esModule",{value:!0});o8.default=VX;var nF0=XX();Object.defineProperty(o8,"KeywordCxt",{enumerable:!0,get:function(){return nF0.KeywordCxt}});var _3=x0();Object.defineProperty(o8,"_",{enumerable:!0,get:function(){return _3._}});Object.defineProperty(o8,"str",{enumerable:!0,get:function(){return _3.str}});Object.defineProperty(o8,"stringify",{enumerable:!0,get:function(){return _3.stringify}});Object.defineProperty(o8,"nil",{enumerable:!0,get:function(){return _3.nil}});Object.defineProperty(o8,"Name",{enumerable:!0,get:function(){return _3.Name}});Object.defineProperty(o8,"CodeGen",{enumerable:!0,get:function(){return _3.CodeGen}});var iF0=K$();Object.defineProperty(o8,"ValidationError",{enumerable:!0,get:function(){return iF0.default}});var rF0=QX();Object.defineProperty(o8,"MissingRefError",{enumerable:!0,get:function(){return rF0.default}})});var bf=T((xf)=>{Object.defineProperty(xf,"__esModule",{value:!0});xf.formatNames=xf.fastFormats=xf.fullFormats=void 0;function B9(D,Y){return{validate:D,compare:Y}}xf.fullFormats={date:B9(Sf,RU),time:B9(AU(!0),jU),"date-time":B9(Rf(!0),If),"iso-time":B9(AU(),Pf),"iso-date-time":B9(Rf(),Cf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Xq0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Hq0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:Qq0,int32:{type:"number",validate:$q0},int64:{type:"number",validate:Gq0},float:{type:"number",validate:Tf},double:{type:"number",validate:Tf},password:!0,binary:!0};xf.fastFormats={...xf.fullFormats,date:B9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,RU),time:B9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,jU),"date-time":B9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,If),"iso-time":B9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Pf),"iso-date-time":B9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Cf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};xf.formatNames=Object.keys(xf.fullFormats);function sF0(D){return D%4===0&&(D%100!==0||D%400===0)}var tF0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,eF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Sf(D){let Y=tF0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&sF0(X)?29:eF0[Q])}function RU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var ZU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function AU(D){return function(X){let Q=ZU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function jU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Pf(D,Y){if(!(D&&Y))return;let X=ZU.exec(D),Q=ZU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var EU=/t|\s/i;function Rf(D){let Y=AU(D);return function(Q){let J=Q.split(EU);return J.length===2&&Sf(J[0])&&Y(J[1])}}function If(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Cf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(EU),[J,W]=Y.split(EU),$=RU(X,J);if($===void 0)return;return $||jU(Q,W)}var Dq0=/\/|:/,Yq0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Xq0(D){return Dq0.test(D)&&Yq0.test(D)}var jf=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Qq0(D){return jf.lastIndex=0,jf.test(D)}var Jq0=-2147483648,Wq0=2147483647;function $q0(D){return Number.isInteger(D)&&D<=Wq0&&D>=Jq0}function Gq0(D){return Number.isInteger(D)}function Tf(){return!0}var Bq0=/[^\\]\\Z/;function Hq0(D){if(Bq0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var vf=T((kf)=>{Object.defineProperty(kf,"__esModule",{value:!0});kf.formatLimitDefinition=void 0;var qq0=NU(),p6=x0(),TD=p6.operators,v$={formatMaximum:{okStr:"<=",ok:TD.LTE,fail:TD.GT},formatMinimum:{okStr:">=",ok:TD.GTE,fail:TD.LT},formatExclusiveMaximum:{okStr:"<",ok:TD.LT,fail:TD.GTE},formatExclusiveMinimum:{okStr:">",ok:TD.GT,fail:TD.LTE}},Kq0={message:({keyword:D,schemaCode:Y})=>p6.str`should be ${v$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>p6._`{comparison: ${v$[D].okStr}, limit: ${Y}}`};kf.formatLimitDefinition={keyword:Object.keys(v$),type:"string",schemaType:"string",$data:!0,error:Kq0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new qq0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",p6._`${U}[${B.schemaCode}]`);D.fail$data((0,p6.or)(p6._`typeof ${z} != "object"`,p6._`${z} instanceof RegExp`,p6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let V=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?p6._`${$.code.formats}${(0,p6.getProperty)(U)}`:void 0});D.fail$data(K(V))}function K(U){return p6._`${U}.compare(${X}, ${Q}) ${v$[J].fail} 0`}},dependencies:["format"]};var zq0=(D)=>{return D.addKeyword(kf.formatLimitDefinition),D};kf.default=zq0});var gf=T((wX,hf)=>{Object.defineProperty(wX,"__esModule",{value:!0});var b3=bf(),Vq0=vf(),PU=x0(),yf=new PU.Name("fullFormats"),wq0=new PU.Name("fastFormats"),IU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return ff(D,Y,b3.fullFormats,yf),D;let[X,Q]=Y.mode==="fast"?[b3.fastFormats,wq0]:[b3.fullFormats,yf],J=Y.formats||b3.formatNames;if(ff(D,J,X,Q),Y.keywords)(0,Vq0.default)(D);return D};IU.get=(D,Y="full")=>{let Q=(Y==="fast"?b3.fastFormats:b3.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function ff(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=PU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}hf.exports=wX=IU;Object.defineProperty(wX,"__esModule",{value:!0});wX.default=IU});import{exit as iU}from"node:process";var UV=a1(zV(),1),{program:c1,createCommand:gq0,createArgument:uq0,createOption:mq0,CommanderError:cq0,InvalidArgumentError:lq0,InvalidOptionArgumentError:dq0,Command:pq0,Argument:nq0,Option:iq0,Help:rq0}=UV.default;var f8={name:"@capgo/cli",type:"module",version:"7.71.11",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:checksum && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as BS,readFileSync as HS}from"node:fs";var z8=a1(t$(),1),f3=a1(DG(),1);import{stdin as SV,stdout as PV}from"node:process";import*as v9 from"node:readline";import MV from"node:readline";import{Writable as Xg}from"node:stream";function Qg({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var Jg=Qg();function IV(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(Jg,"")}function CV(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var xV={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(xV);var Wg=xV.exports,$g=CV(Wg),Gg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Bg=CV(Gg);function h3(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=IV(D),D.length===0))return 0;D=D.replace(Bg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch($g.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var YG=10,OV=(D=0)=>(Y)=>`\x1B[${Y+D}m`,NV=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,ZV=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,V1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(V1.modifier);var Hg=Object.keys(V1.color),Fg=Object.keys(V1.bgColor);[...Hg,...Fg];function qg(){let D=new Map;for(let[Y,X]of Object.entries(V1)){for(let[Q,J]of Object.entries(X))V1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=V1[Q],D.set(J[0],J[1]);Object.defineProperty(V1,Y,{value:X,enumerable:!1})}return Object.defineProperty(V1,"codes",{value:D,enumerable:!1}),V1.color.close="\x1B[39m",V1.bgColor.close="\x1B[49m",V1.color.ansi=OV(),V1.color.ansi256=NV(),V1.color.ansi16m=ZV(),V1.bgColor.ansi=OV(YG),V1.bgColor.ansi256=NV(YG),V1.bgColor.ansi16m=ZV(YG),Object.defineProperties(V1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>V1.rgbToAnsi256(...V1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>V1.ansi256ToAnsi(V1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>V1.ansi256ToAnsi(V1.hexToAnsi256(Y)),enumerable:!1}}),V1}var Kg=qg(),SX=new Set(["\x1B","›"]),zg=39,JG="\x07",_V="[",Ug="]",bV="m",WG=`${Ug}8;;`,AV=(D)=>`${SX.values().next().value}${_V}${D}${bV}`,EV=(D)=>`${SX.values().next().value}${WG}${D}${JG}`,Vg=(D)=>D.split(" ").map((Y)=>h3(Y)),XG=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=h3(IV(D[D.length-1]));for(let[G,B]of Q.entries()){let H=h3(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),SX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(WG)),J){W?B===JG&&(J=!1,W=!1):B===bV&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},wg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(h3(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},Lg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=Vg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=h3(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),XG(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){XG(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){XG(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>wg(H)));let B=[...G.join(`
137
+ deps: ${X}}`};var E20={keyword:"dependencies",type:"object",schemaType:"object",error:Ty.error,code(D){let[Y,X]=R20(D);Ry(D,Y),jy(D,X)}};function R20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ry(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,UX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,UX.checkReportMissingProp)(D,H)});else X.if(VU._`${B} && (${(0,UX.checkMissingProp)(D,G,W)})`),(0,UX.reportMissingProp)(D,W),X.else()}}Ty.validatePropertyDeps=Ry;function jy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,A20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,UX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ty.validateSchemaDeps=jy;Ty.default=E20});var _y=T((xy)=>{Object.defineProperty(xy,"__esModule",{value:!0});var Cy=x0(),S20=p0(),P20={message:"property name must be valid",params:({params:D})=>Cy._`{propertyName: ${D.propertyName}}`},I20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:P20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,S20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Cy.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};xy.default=I20});var wU=T((by)=>{Object.defineProperty(by,"__esModule",{value:!0});var I$=A6(),d6=x0(),x20=I9(),C$=p0(),_20={message:"must NOT have additional properties",params:({params:D})=>d6._`{additionalProperty: ${D.additionalProperty}}`},b20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:_20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,C$.alwaysValidSchema)($,X))return;let H=(0,I$.allSchemaProperties)(Q.properties),F=(0,I$.allSchemaProperties)(Q.patternProperties);K(),D.ok(d6._`${W} === ${x20.default.errors}`);function K(){Y.forIn("key",J,(L)=>{if(!H.length&&!F.length)V(L);else Y.if(U(L),()=>V(L))})}function U(L){let O;if(H.length>8){let Z=(0,C$.schemaRefOrVal)($,Q.properties,"properties");O=(0,I$.isOwnProperty)(Y,Z,L)}else if(H.length)O=(0,d6.or)(...H.map((Z)=>d6._`${L} === ${Z}`));else O=d6.nil;if(F.length)O=(0,d6.or)(O,...F.map((Z)=>d6._`${(0,I$.usePattern)(D,Z)}.test(${L})`));return(0,d6.not)(O)}function z(L){Y.code(d6._`delete ${J}[${L}]`)}function V(L){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(L);return}if(X===!1){if(D.setParams({additionalProperty:L}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,C$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")w(L,O,!1),Y.if((0,d6.not)(O),()=>{D.reset(),z(L)});else if(w(L,O),!G)Y.if((0,d6.not)(O),()=>Y.break())}}function w(L,O,Z){let M={keyword:"additionalProperties",dataProp:L,dataPropType:C$.Type.Str};if(Z===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(M,O)}}};by.default=b20});var fy=T((yy)=>{Object.defineProperty(yy,"__esModule",{value:!0});var v20=XX(),ky=A6(),LU=p0(),vy=wU(),y20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)vy.default.code(new v20.KeywordCxt(W,vy.default,"additionalProperties"));let $=(0,ky.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=LU.mergeEvaluated.props(Y,(0,LU.toHash)($),W.props);let G=$.filter((K)=>!(0,LU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,ky.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};yy.default=y20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var hy=A6(),x$=x0(),gy=p0(),uy=p0(),h20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,hy.allSchemaProperties)(X),B=G.filter((w)=>(0,gy.alwaysValidSchema)(W,X[w]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof x$.Name))W.props=(0,uy.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let w of G){if(H)z(w);if(W.allErrors)V(w);else Y.var(F,!0),V(w),Y.if(F)}}function z(w){for(let L in H)if(new RegExp(w).test(L))(0,gy.checkStrictMode)(W,`property ${L} matches pattern ${w} (use allowMatchingProperties)`)}function V(w){Y.forIn("key",Q,(L)=>{Y.if(x$._`${(0,hy.usePattern)(D,w)}.test(${L})`,()=>{let O=B.includes(w);if(!O)D.subschema({keyword:"patternProperties",schemaProp:w,dataProp:L,dataPropType:uy.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(x$._`${K}[${L}]`,!0);else if(!O&&!W.allErrors)Y.if((0,x$.not)(F),()=>Y.break())})})}}};my.default=h20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var u20=p0(),m20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,u20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};ly.default=m20});var ny=T((py)=>{Object.defineProperty(py,"__esModule",{value:!0});var l20=A6(),d20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:l20.validateUnion,error:{message:"must match a schema in anyOf"}};py.default=d20});var ry=T((iy)=>{Object.defineProperty(iy,"__esModule",{value:!0});var _$=x0(),n20=p0(),i20={message:"must match exactly one schema in oneOf",params:({params:D})=>_$._`{passingSchemas: ${D.passing}}`},r20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:i20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,n20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(_$._`${B} && ${$}`).assign($,!1).assign(G,_$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,_$.Name)})})}}};iy.default=r20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var o20=p0(),s20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,o20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};ay.default=s20});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var b$=x0(),ty=p0(),e20={message:({params:D})=>b$.str`must match "${D.ifClause}" schema`,params:({params:D})=>b$._`{failingKeyword: ${D.ifClause}}`},DF0={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:e20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ty.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=sy(Q,"then"),W=sy(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,b$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,b$._`${F}`);else D.setParams({ifClause:F})}}}};function sy(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ty.alwaysValidSchema)(D,X)}ey.default=DF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var XF0=p0(),QF0={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,XF0.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};Yf.default=QF0});var Jf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});var WF0=zU(),$F0=My(),GF0=UU(),BF0=Zy(),HF0=Ey(),FF0=Iy(),qF0=_y(),KF0=wU(),zF0=fy(),UF0=cy(),VF0=dy(),wF0=ny(),LF0=ry(),MF0=oy(),OF0=Df(),NF0=Xf();function ZF0(D=!1){let Y=[VF0.default,wF0.default,LF0.default,MF0.default,OF0.default,NF0.default,qF0.default,KF0.default,FF0.default,zF0.default,UF0.default];if(D)Y.push($F0.default,BF0.default);else Y.push(WF0.default,GF0.default);return Y.push(HF0.default),Y}Qf.default=ZF0});var $f=T((Wf)=>{Object.defineProperty(Wf,"__esModule",{value:!0});var u1=x0(),EF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},RF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:EF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let V=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),w=X.const("fDef",u1._`${V}[${$}]`),L=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${w} == "object" && !(${w} instanceof RegExp)`,()=>X.assign(L,u1._`${w}.type || "string"`).assign(O,u1._`${w}.validate`),()=>X.assign(L,u1._`"string"`).assign(O,w)),D.fail$data((0,u1.or)(Z(),M()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function M(){let E=F.$async?u1._`(${w}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${L} === ${Y} && !${j}`}}function z(){let V=K.formats[W];if(!V){Z();return}if(V===!0)return;let[w,L,O]=M(V);if(w===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function M(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,_=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${_}.validate`];return["string",j,_]}function E(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof L=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};Wf.default=RF0});var Bf=T((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var TF0=$f(),SF0=[TF0.default];Gf.default=SF0});var qf=T((Hf)=>{Object.defineProperty(Hf,"__esModule",{value:!0});Hf.contentVocabulary=Hf.metadataVocabulary=void 0;Hf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Hf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Uf=T((zf)=>{Object.defineProperty(zf,"__esModule",{value:!0});var CF0=yv(),xF0=Hy(),_F0=Jf(),bF0=Bf(),Kf=qf(),kF0=[CF0.default,xF0.default,(0,_F0.default)(),bF0.default,Kf.metadataVocabulary,Kf.contentVocabulary];zf.default=kF0});var Mf=T((wf)=>{Object.defineProperty(wf,"__esModule",{value:!0});wf.DiscrError=void 0;var Vf;(function(D){D.Tag="tag",D.Mapping="mapping"})(Vf||(wf.DiscrError=Vf={}))});var Zf=T((Nf)=>{Object.defineProperty(Nf,"__esModule",{value:!0});var x3=x0(),MU=Mf(),Of=U$(),yF0=QX(),fF0=p0(),hF0={message:({params:{discrError:D,tagName:Y}})=>D===MU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>x3._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},gF0={keyword:"discriminator",type:"object",schemaType:"object",error:hF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",x3._`${X}${(0,x3.getProperty)(G)}`);Y.if(x3._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:MU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let V in z)Y.elseIf(x3._`${H} === ${V}`),Y.assign(B,K(z[V]));Y.else(),D.error(!1,{discrError:MU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let V=Y.name("valid"),w=D.subschema({keyword:"oneOf",schemaProp:z},V);return D.mergeEvaluated(w,x3.Name),V}function U(){var z;let V={},w=O(J),L=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,fF0.schemaHasRulesButRef)(j,W.self.RULES)){let _=j.$ref;if(j=Of.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,_),j instanceof Of.SchemaEnv)j=j.schema;if(j===void 0)throw new yF0.default(W.opts.uriResolver,W.baseId,_)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);L=L&&(w||O(j)),Z(I,E)}if(!L)throw Error(`discriminator: "${G}" must be required`);return V;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)M(E.const,j);else if(E.enum)for(let I of E.enum)M(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function M(E,j){if(typeof E!="string"||E in V)throw Error(`discriminator: "${G}" values must be unique strings`);V[E]=j}}}};Nf.default=gF0});var Af=T((cC0,mF0)=>{mF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var NU=T((o8,OU)=>{Object.defineProperty(o8,"__esModule",{value:!0});o8.MissingRefError=o8.ValidationError=o8.CodeGen=o8.Name=o8.nil=o8.stringify=o8.str=o8._=o8.KeywordCxt=o8.Ajv=void 0;var cF0=Tv(),lF0=Uf(),dF0=Zf(),Ef=Af(),pF0=["/properties"],k$="http://json-schema.org/draft-07/schema";class VX extends cF0.default{_addVocabularies(){if(super._addVocabularies(),lF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(dF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Ef,pF0):Ef;this.addMetaSchema(D,k$,!1),this.refs["http://json-schema.org/schema"]=k$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(k$)?k$:void 0)}}o8.Ajv=VX;OU.exports=o8=VX;OU.exports.Ajv=VX;Object.defineProperty(o8,"__esModule",{value:!0});o8.default=VX;var nF0=XX();Object.defineProperty(o8,"KeywordCxt",{enumerable:!0,get:function(){return nF0.KeywordCxt}});var _3=x0();Object.defineProperty(o8,"_",{enumerable:!0,get:function(){return _3._}});Object.defineProperty(o8,"str",{enumerable:!0,get:function(){return _3.str}});Object.defineProperty(o8,"stringify",{enumerable:!0,get:function(){return _3.stringify}});Object.defineProperty(o8,"nil",{enumerable:!0,get:function(){return _3.nil}});Object.defineProperty(o8,"Name",{enumerable:!0,get:function(){return _3.Name}});Object.defineProperty(o8,"CodeGen",{enumerable:!0,get:function(){return _3.CodeGen}});var iF0=K$();Object.defineProperty(o8,"ValidationError",{enumerable:!0,get:function(){return iF0.default}});var rF0=QX();Object.defineProperty(o8,"MissingRefError",{enumerable:!0,get:function(){return rF0.default}})});var bf=T((xf)=>{Object.defineProperty(xf,"__esModule",{value:!0});xf.formatNames=xf.fastFormats=xf.fullFormats=void 0;function B9(D,Y){return{validate:D,compare:Y}}xf.fullFormats={date:B9(Sf,RU),time:B9(AU(!0),jU),"date-time":B9(Rf(!0),If),"iso-time":B9(AU(),Pf),"iso-date-time":B9(Rf(),Cf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Xq0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Hq0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:Qq0,int32:{type:"number",validate:$q0},int64:{type:"number",validate:Gq0},float:{type:"number",validate:Tf},double:{type:"number",validate:Tf},password:!0,binary:!0};xf.fastFormats={...xf.fullFormats,date:B9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,RU),time:B9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,jU),"date-time":B9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,If),"iso-time":B9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Pf),"iso-date-time":B9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Cf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};xf.formatNames=Object.keys(xf.fullFormats);function sF0(D){return D%4===0&&(D%100!==0||D%400===0)}var tF0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,eF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Sf(D){let Y=tF0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&sF0(X)?29:eF0[Q])}function RU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var ZU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function AU(D){return function(X){let Q=ZU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function jU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Pf(D,Y){if(!(D&&Y))return;let X=ZU.exec(D),Q=ZU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var EU=/t|\s/i;function Rf(D){let Y=AU(D);return function(Q){let J=Q.split(EU);return J.length===2&&Sf(J[0])&&Y(J[1])}}function If(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Cf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(EU),[J,W]=Y.split(EU),$=RU(X,J);if($===void 0)return;return $||jU(Q,W)}var Dq0=/\/|:/,Yq0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Xq0(D){return Dq0.test(D)&&Yq0.test(D)}var jf=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Qq0(D){return jf.lastIndex=0,jf.test(D)}var Jq0=-2147483648,Wq0=2147483647;function $q0(D){return Number.isInteger(D)&&D<=Wq0&&D>=Jq0}function Gq0(D){return Number.isInteger(D)}function Tf(){return!0}var Bq0=/[^\\]\\Z/;function Hq0(D){if(Bq0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var vf=T((kf)=>{Object.defineProperty(kf,"__esModule",{value:!0});kf.formatLimitDefinition=void 0;var qq0=NU(),p6=x0(),TD=p6.operators,v$={formatMaximum:{okStr:"<=",ok:TD.LTE,fail:TD.GT},formatMinimum:{okStr:">=",ok:TD.GTE,fail:TD.LT},formatExclusiveMaximum:{okStr:"<",ok:TD.LT,fail:TD.GTE},formatExclusiveMinimum:{okStr:">",ok:TD.GT,fail:TD.LTE}},Kq0={message:({keyword:D,schemaCode:Y})=>p6.str`should be ${v$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>p6._`{comparison: ${v$[D].okStr}, limit: ${Y}}`};kf.formatLimitDefinition={keyword:Object.keys(v$),type:"string",schemaType:"string",$data:!0,error:Kq0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new qq0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",p6._`${U}[${B.schemaCode}]`);D.fail$data((0,p6.or)(p6._`typeof ${z} != "object"`,p6._`${z} instanceof RegExp`,p6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let V=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?p6._`${$.code.formats}${(0,p6.getProperty)(U)}`:void 0});D.fail$data(K(V))}function K(U){return p6._`${U}.compare(${X}, ${Q}) ${v$[J].fail} 0`}},dependencies:["format"]};var zq0=(D)=>{return D.addKeyword(kf.formatLimitDefinition),D};kf.default=zq0});var gf=T((wX,hf)=>{Object.defineProperty(wX,"__esModule",{value:!0});var b3=bf(),Vq0=vf(),PU=x0(),yf=new PU.Name("fullFormats"),wq0=new PU.Name("fastFormats"),IU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return ff(D,Y,b3.fullFormats,yf),D;let[X,Q]=Y.mode==="fast"?[b3.fastFormats,wq0]:[b3.fullFormats,yf],J=Y.formats||b3.formatNames;if(ff(D,J,X,Q),Y.keywords)(0,Vq0.default)(D);return D};IU.get=(D,Y="full")=>{let Q=(Y==="fast"?b3.fastFormats:b3.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function ff(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=PU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}hf.exports=wX=IU;Object.defineProperty(wX,"__esModule",{value:!0});wX.default=IU});import{exit as iU}from"node:process";var UV=a1(zV(),1),{program:c1,createCommand:gq0,createArgument:uq0,createOption:mq0,CommanderError:cq0,InvalidArgumentError:lq0,InvalidOptionArgumentError:dq0,Command:pq0,Argument:nq0,Option:iq0,Help:rq0}=UV.default;var f8={name:"@capgo/cli",type:"module",version:"7.71.12",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:checksum && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as BS,readFileSync as HS}from"node:fs";var z8=a1(t$(),1),f3=a1(DG(),1);import{stdin as SV,stdout as PV}from"node:process";import*as v9 from"node:readline";import MV from"node:readline";import{Writable as Xg}from"node:stream";function Qg({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var Jg=Qg();function IV(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(Jg,"")}function CV(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var xV={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(xV);var Wg=xV.exports,$g=CV(Wg),Gg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Bg=CV(Gg);function h3(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=IV(D),D.length===0))return 0;D=D.replace(Bg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch($g.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var YG=10,OV=(D=0)=>(Y)=>`\x1B[${Y+D}m`,NV=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,ZV=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,V1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(V1.modifier);var Hg=Object.keys(V1.color),Fg=Object.keys(V1.bgColor);[...Hg,...Fg];function qg(){let D=new Map;for(let[Y,X]of Object.entries(V1)){for(let[Q,J]of Object.entries(X))V1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=V1[Q],D.set(J[0],J[1]);Object.defineProperty(V1,Y,{value:X,enumerable:!1})}return Object.defineProperty(V1,"codes",{value:D,enumerable:!1}),V1.color.close="\x1B[39m",V1.bgColor.close="\x1B[49m",V1.color.ansi=OV(),V1.color.ansi256=NV(),V1.color.ansi16m=ZV(),V1.bgColor.ansi=OV(YG),V1.bgColor.ansi256=NV(YG),V1.bgColor.ansi16m=ZV(YG),Object.defineProperties(V1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>V1.rgbToAnsi256(...V1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>V1.ansi256ToAnsi(V1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>V1.ansi256ToAnsi(V1.hexToAnsi256(Y)),enumerable:!1}}),V1}var Kg=qg(),SX=new Set(["\x1B","›"]),zg=39,JG="\x07",_V="[",Ug="]",bV="m",WG=`${Ug}8;;`,AV=(D)=>`${SX.values().next().value}${_V}${D}${bV}`,EV=(D)=>`${SX.values().next().value}${WG}${D}${JG}`,Vg=(D)=>D.split(" ").map((Y)=>h3(Y)),XG=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=h3(IV(D[D.length-1]));for(let[G,B]of Q.entries()){let H=h3(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),SX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(WG)),J){W?B===JG&&(J=!1,W=!1):B===bV&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},wg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(h3(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},Lg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=Vg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=h3(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),XG(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){XG(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){XG(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>wg(H)));let B=[...G.join(`
138
138
  `)];for(let[H,F]of B.entries()){if(Q+=F,SX.has(F)){let{groups:U}=new RegExp(`(?:\\${_V}(?<code>\\d+)m|\\${WG}(?<uri>.*)${JG})`).exec(B.slice(H).join(""))||{groups:{}};if(U.code!==void 0){let z=Number.parseFloat(U.code);J=z===zg?void 0:z}else U.uri!==void 0&&(W=U.uri.length===0?void 0:U.uri)}let K=Kg.codes.get(Number(J));B[H+1]===`
139
139
  `?(W&&(Q+=EV("")),J&&K&&(Q+=AV(K))):F===`
140
140
  `&&(J&&K&&(Q+=AV(J)),W&&(Q+=EV(W)))}return Q};function RV(D,Y,X){return String(D).normalize().replace(/\r\n/g,`
@@ -294,7 +294,7 @@ All packages are compatible with channel "${$}"`)}return{finalCompatibility:B.fi
294
294
  The bundle size is ${y} Mb, this may take a while to download for users
295
295
  `),q.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
296
296
  `),Y.verbose)q.info("[Verbose] Bundle size details:"),q.info(` - Actual size: ${y} MB (${K?.byteLength} bytes)`),q.info(` - Alert threshold: ${Math.floor($/1024/1024)} MB`),q.info(` - Maximum allowed: ${C} MB`),q.info("[Verbose] Sending 'App Too Large' event to analytics...");if(await Z0(X,{channel:"app-error",event:"App Too Large",icon:"\uD83D\uDE9B",user_id:Q,tags:{"app-id":J},notify:!1},Y.verbose),Y.verbose)q.info("[Verbose] Event sent successfully")}else if(Y.verbose)q.info(`[Verbose] Bundle size OK: ${y} MB (under ${Math.floor($/1024/1024)} MB alert threshold)`);if(Y.verbose)q.info("[Verbose] Bundle preparation complete, returning bundle data");return{zipped:K,ivSessionKey:B,sessionKey:H,checksum:F,encryptionMethod:U,finalKeyData:z,keyId:V}}async function o50(D,Y,X,Q,J,W,$,G){let B=d0();B.start("Uploading Bundle");let H=performance.now(),F=!1;if($.verbose)q.info("[Verbose] uploadBundleToCapgoCloud called:"),q.info(` - Bundle size: ${Math.floor(W.byteLength/1024)} KB`),q.info(` - App ID: ${X}`),q.info(` - Bundle version: ${Q}`),q.info(` - Chunk size: ${Math.floor(G/1024/1024)} MB`);if($.dryUpload){if(B.stop(`Dry run, bundle not uploaded
297
- Bundle uploaded \uD83D\uDCAA in 0 seconds`),$.verbose)q.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let z=await c8();if($.verbose)q.info("[Verbose] Local config retrieved for upload");if($.multipart!==void 0&&$.multipart||$.tus!==void 0&&$.tus){if($.multipart)q.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else q.info("Uploading bundle with TUS protocol");if($.verbose)q.info("[Verbose] Starting TUS resumable upload..."),q.info(` - Host: ${z.hostWeb}`),q.info(` - Chunk size: ${Math.floor(G/1024/1024)} MB`);if(await YS(D,W,J,X,Q,B,z,G),F=!0,$.verbose)q.info("[Verbose] TUS upload completed, updating database with R2 path...");let V=`orgs/${J}/apps/${X}/${Q}.zip`,{error:w}=await Y.from("app_versions").update({r2_path:V}).eq("name",Q).eq("app_id",X);if(w){if(q.error(`Cannot finish TUS upload ${m(w)}`),$.verbose)q.info(`[Verbose] Database update failed: ${m(w)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if($.verbose)q.info(`[Verbose] Database updated with R2 path: ${V}`)}else{if($.verbose)q.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let V=await tT(Y,X,Q);if(!V){if(q.error("Cannot get upload url"),$.verbose)q.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if($.verbose)q.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),q.info(` - Timeout: ${$.timeout||N2}ms`),q.info(" - Retry attempts: 5"),q.info(" - Content-Type: application/zip");let w=new AbortController,L=setTimeout(()=>w.abort(),$.timeout||N2);try{let O=await fetch(V,{method:"PUT",body:W,headers:{"Content-Type":"application/zip"},signal:w.signal});if(!O.ok)throw Error(`HTTP error! status: ${O.status}`)}finally{clearTimeout(L)}if($.verbose)q.info("[Verbose] HTTP PUT upload completed successfully")}}catch(z){let w=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${w} seconds)`),$.verbose)q.info(`[Verbose] Upload failed after ${w} seconds`),q.info(`[Verbose] Error type: ${z instanceof Error?"Error":typeof z}`);if(z instanceof Error&&z.message.includes("HTTP error"))try{let L=z.message.match(/status: (\d+)/),O=L?L[1]:"unknown";q.error(`Upload failed with status ${O}: ${z.message}`)}catch{q.error(`Upload failed: ${z.message}`)}else{if($.verbose)q.info(`[Verbose] Non-HTTP error: ${m(z)}`);if(!$.tus)q.error(`Cannot upload bundle ( try again with --tus option) ${m(z)}`);else q.error(`Cannot upload bundle please contact support if the issue persists ${m(z)}`)}if($.verbose)q.info("[Verbose] Cleaning up failed version from database...");if(await XS(Y,X,Q),$.verbose)q.info("[Verbose] Failed version cleaned up");throw z instanceof Error?z:Error(String(z))}let U=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${U} seconds)`),$.verbose)q.info("[Verbose] Upload successful:"),q.info(` - Upload time: ${U} seconds`),q.info(` - Upload method: ${F?"TUS (resumable)":"Standard HTTP PUT"}`),q.info(` - Bundle size: ${Math.floor(W.byteLength/1024)} KB`),q.info("[Verbose] Sending performance event...");if(await Z0(D,{channel:"performance",event:F?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":X,time:U},notify:!1},$.verbose),$.verbose)q.info("[Verbose] Performance event sent successfully")}async function s50(D,Y,X){let{data:Q,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",Y).eq("name",X);if(J){q.error(`Cannot delete linked bundle on upload ${m(J)}`);return}if(Q.length===0){q.warn("No linked bundle found in the channel you are trying to upload to");return}let W=Q[0].version;if(W.deleted){q.warn("The linked bundle is already deleted");return}let{error:$}=await D.from("app_versions").update({deleted:!0}).eq("id",W.id);if($){q.error(`Cannot delete linked bundle on upload ${m($)}`);return}q.info("Linked bundle deleted")}async function t50(D,Y,X,Q,J,W,$,G,B,H){let{data:F}=await D.rpc("get_app_versions",{apikey:Y,name_version:Q,appid:G}).single();if(!F)h0("Cannot get version id, cannot set channel");let{data:K}=await D.rpc("is_allowed_capgkey",{apikey:Y,keymode:["write","all"]}).single();if(K){let{error:U,data:z}=await jJ(D,{name:J,app_id:G,created_by:W,version:F,owner_org:$,...H?{allow_device_self_set:!0}:{}});if(U)h0(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${m(U)}`);let V=`${B.hostWeb}/app/${G}/channel/${z.id}`;if(z?.public)q.info("Your update is now available in your public channel \uD83C\uDF89");else if(z?.id)q.info(`Link device to this bundle to try it: ${V}`);if(X)q.info(`Bundle url: ${V}`)}else q.warn("The upload key is not allowed to set the version in the channel")}async function e50(D,Y,X){let{error:Q,data:J}=await Y.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Q)return q.warn("Cannot find default upload channel"),q.info(`You can set it here: ${X}/app/${D}/info`),null;return J.default_upload_channel}async function o4(D,Y,X=!1){if(!X)F0(`Uploading with CLI version ${f8.version}`);let Q,J=W8();await f0();let{s3Region:W,s3Apikey:$,s3Apisecret:G,s3BucketName:B,s3Endpoint:H,s3Port:F,s3SSL:K}=Y;if(Y.verbose)q.info("[Verbose] Starting upload process with options:"),q.info(` - API key: ${Y.apikey?"provided":"from saved key"}`),q.info(` - Path: ${Y.path||"from capacitor config"}`),q.info(` - Channel: ${Y.channel||"from default upload channel"}`),q.info(` - Bundle: ${Y.bundle||"auto-detected"}`),q.info(` - External: ${Y.external||"false"}`),q.info(` - Encryption: ${Y.keyV2||Y.keyDataV2?"v2":Y.key===!1?"disabled":"auto"}`),q.info(` - Upload method: ${Y.tus?"TUS":Y.zip?"ZIP":"auto"}`),q.info(` - Delta updates: ${Y.delta||Y.partial?"enabled":"disabled"}`);let U=d50(Y);if(Y.verbose)q.info("[Verbose] API key retrieved successfully");let z=await U0();if(Y.verbose)q.info("[Verbose] Capacitor config loaded successfully");let V=await lT();if(Y.verbose)q.info("[Verbose] Remote file config retrieved:"),q.info(` - Max upload length: ${Math.floor(V.maxUploadLength/1024/1024)} MB`),q.info(` - Alert upload size: ${Math.floor(V.alertUploadSize/1024/1024)} MB`),q.info(` - TUS upload: ${V.TUSUpload?"enabled":"disabled"}`),q.info(` - TUS upload forced: ${V.TUSUploadForced?"yes":"no"}`),q.info(` - Partial upload: ${V.partialUpload?"enabled":"disabled"}`),q.info(` - Max chunk size: ${Math.floor(V.maxChunkSize/1024/1024)} MB`);let{appid:w,path:L}=p50(D,Y,z.config);if(Y.verbose)q.info(`[Verbose] App ID: ${w}, Build path: ${L}`);let O=await l50(z.config,Y);if(Y.verbose)q.info(`[Verbose] Bundle version: ${O}`);let Z=Y.external?"external":"r2-direct",M="none";if(Y.autoSetBundle){if(await p7({version:O}),Y.verbose)q.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(n50(Y,L),Y.verbose)q.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");q.info(`Upload ${w}@${O} started from path "${L}" to Capgo cloud`);let E=await c8();if(Y.verbose)q.info(`[Verbose] Local config loaded: host=${E.hostWeb}`);if(Y.supaHost&&Y.supaAnon){if(q.info("Using custom supabase instance from provided options"),E.supaHost=Y.supaHost,E.supaKey=Y.supaAnon,Y.verbose)q.info(`[Verbose] Custom Supabase host: ${Y.supaHost}`)}let j=await w0(U,Y.supaHost,Y.supaAnon);if(Y.verbose)q.info("[Verbose] Supabase client created successfully");await h1(j,w,X);let I=await A0(j,U,["write","all","upload"]);if(Y.verbose)q.info(`[Verbose] User verified successfully, user_id: ${I}`);let _=Y.channel||await e50(w,j,E.hostWeb)||"production";if(Y.verbose)q.info(`[Verbose] Target channel: ${_}`);let y=await l1(j,w);if(Y.verbose)q.info(`[Verbose] Organization ID: ${y}`);if(await iT(j,y,f8.version),Y.verbose)q.info("[Verbose] Remote CLI messages checked");if(await aT(j,y,U,w,!0),Y.verbose)q.info("[Verbose] Plan validation passed");if(Y.verbose)q.info("[Verbose] Trial check completed");if(Y.verbose)q.info(`[Verbose] Checking compatibility with channel ${_}...`);let{nativePackages:C,minUpdateVersion:c}=await i50(j,J,Y,_,w,O);if(Y.verbose)q.info("[Verbose] Compatibility check completed:"),q.info(` - Native packages: ${C?C.length:0}`),q.info(` - Min update version: ${c||"none"}`);if(Y.verbose)q.info(`[Verbose] Checking if version ${O} already exists...`);let S=!X&&!!PI.isTTY&&!!II.isTTY,p=await r50(j,w,O,Y.versionExistsOk,S);if(Y.verbose)q.info(`[Verbose] Version exists check: ${p?typeof p==="string"?`retry with ${p}`:"yes (skipping)":"no (continuing)"}`);if(p===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:O,checksum:null,encryptionMethod:M,storageProvider:Z};if(typeof p==="string")return q.info(`Retrying upload with new version: ${p}`),o4(D,{...Y,bundle:p},X);if(Y.external&&!Y.external.startsWith("https://"))h0(`External link should should start with "https://" current is "${Y.external}"`);if(Y.deleteLinkedBundleOnUpload)q.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),q.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let u={name:O,app_id:w,session_key:void 0,external_url:Y.external,storage_provider:Z,min_update_version:c,native_packages:C,owner_org:y,user_id:I,checksum:void 0,link:Y.link||null,comment:Y.comment||null,key_id:void 0,cli_version:f8.version},Q0=null,x="";if(!Y.external){if(Y.verbose)q.info(`[Verbose] Preparing bundle file from path: ${L}`);let g=z.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:$0,ivSessionKey:l,checksum:T0,sessionKey:s8,encryptionMethod:Y0,finalKeyData:n0,keyId:t}=await a50(L,Y,U,y,w,V.maxUploadLength,V.alertUploadSize,g);if(u.session_key=l,u.checksum=T0,u.key_id=t||void 0,Q=s8,Q0=$0,M=Y0,x=n0,Y.verbose)q.info("[Verbose] Bundle prepared:"),q.info(` - Size: ${Math.floor(($0?.byteLength??0)/1024)} KB`),q.info(` - Checksum: ${T0}`),q.info(` - Encryption: ${Y0}`),q.info(` - IV Session Key: ${l?"present":"none"}`),q.info(` - Key ID: ${t||"none"}`);if(!Y.ignoreChecksumCheck){if(Y.verbose)q.info("[Verbose] Checking for duplicate checksum...");if(await $S(j,w,_,T0),Y.verbose)q.info("[Verbose] Checksum is unique")}}else{if(Y.verbose)q.info(`[Verbose] Using external URL: ${Y.external}`);if(await Z0(U,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:y,tags:{"app-id":w},notify:!1},Y.verbose),u.session_key=Y.ivSessionKey,u.checksum=Y.encryptedChecksum,Y.verbose)q.info("[Verbose] External bundle configured:"),q.info(` - URL: ${Y.external}`),q.info(` - IV Session Key: ${Y.ivSessionKey?"provided":"none"}`),q.info(` - Encrypted Checksum: ${Y.encryptedChecksum?"provided":"none"}`)}if(Y.zip){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!V.TUSUpload||Y.external){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(Y.tus=Y.tus||V.TUSUploadForced,Y.verbose)q.info(`[Verbose] Upload method: ${Y.tus?"TUS (resumable)":"Standard"}`);if(!V.partialUpload||Y.external){if(Y.delta=!1,Y.verbose&&Y.external)q.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(Y.delta=Y.delta||Y.partial||Y.deltaOnly||Y.partialOnly||V.partialUploadForced,Y.verbose)q.info(`[Verbose] Delta updates: ${Y.delta?"enabled":"disabled"}`);if(Y.encryptPartial&&M==="v1")h0("You cannot encrypt the partial update if you are not using the v2 encryption method");let N="5.30.0",A="6.30.0",R="7.30.0",P=!1;if(Y.delta&&M==="v2"&&!Y.encryptPartial){let g=f1(RF()),$0=await d8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?C0($0):void 0}catch{l=void 0}if($0&&l&&Dw(l,C0("6.14.4"))){if(q.info(`Auto-enabling partial update encryption for updater version ${l} (> 6.14.4)`),Y.verbose)q.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");Y.encryptPartial=!0}}if(Y.delta&&(Y.encryptPartial||M==="v2")){let g=f1(RF()),$0=await d8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?C0($0):void 0}catch{l=void 0}if($0&&l){if(P=!U6(l,N,A,R),Y.verbose&&P)q.info(`[Verbose] Using hex checksum format for updater version ${l}`)}}if(Y.verbose&&Y.delta)q.info("[Verbose] Preparing delta/partial update manifest...");let v=Y.delta?await TI(L,U,y,w,Y.encryptPartial?M:"none",x,P):[];if(Y.verbose&&Y.delta)q.info(`[Verbose] Delta manifest prepared with ${v.length} files`);if(Y.verbose)q.info("[Verbose] Creating version record in database...");let{error:b}=await j2(j,u);if(b)h0(`Cannot add bundle ${m(b)}`);if(Y.verbose)q.info("[Verbose] Version record created successfully");if(Y.tusChunkSize&&Y.tusChunkSize>V.maxChunkSize)q.error(`Chunk size ${Y.tusChunkSize} is greater than the maximum chunk size ${V.maxChunkSize}, using the maximum chunk size`),Y.tusChunkSize=V.maxChunkSize;else if(!Y.tusChunkSize)Y.tusChunkSize=V.maxChunkSize;if(Y.verbose)q.info(`[Verbose] TUS chunk size: ${Math.floor(Y.tusChunkSize/1024/1024)} MB`);if(Q0&&(B||H||W||$||G||F||K)){if(!B||!H||!W||!$||!G||!F)h0("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(q.info("Uploading to S3"),Y.verbose)q.info("[Verbose] S3 configuration:"),q.info(` - Endpoint: ${H}`),q.info(` - Region: ${W}`),q.info(` - Bucket: ${B}`),q.info(` - Port: ${F}`),q.info(` - SSL: ${K?"enabled":"disabled"}`);let g=K?`https://${H}`:`http://${H}`,$0=new uJ({endPoint:H,region:W,port:F,pathStyle:!0,bucket:B,accessKey:$,secretKey:G}),l=`${w}-${O}`,T0=encodeURIComponent(l);if(Y.verbose)q.info(`[Verbose] Uploading to S3 as: ${l}`);if(await $0.putObject(l,Uint8Array.from(Q0)),u.external_url=`${g}/${T0}`,u.storage_provider="external",Y.verbose)q.info(`[Verbose] S3 upload complete, external URL: ${u.external_url}`)}else if(Q0){if(!Y.partialOnly&&!Y.deltaOnly){if(Y.verbose)q.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await o50(U,j,w,O,y,Q0,Y,Y.tusChunkSize)}else if(Y.verbose)q.info("[Verbose] Skipping full bundle upload (delta-only mode)");let g=null;try{if(Y.dryUpload){if(Y.delta=!1,Y.verbose)q.info("[Verbose] Dry upload mode: skipping delta upload")}let l=u.session_key&&Y.encryptPartial&&Q?{sessionKey:Q,ivSessionKey:u.session_key}:void 0;if(Y.verbose&&Y.delta)q.info("[Verbose] Starting delta/partial file upload..."),q.info(` - Manifest entries: ${v.length}`),q.info(` - Encryption: ${l?"enabled":"disabled"}`);if(g=Y.delta?await SI(U,v,L,w,y,l,Y):null,Y.verbose&&g)q.info(`[Verbose] Delta upload complete with ${g.length} files`)}catch(l){if(!!(Y.partial||Y.delta||Y.partialOnly||Y.deltaOnly))throw l;if(q.info(`Failed to upload partial files to capgo cloud. Error: ${m(l)}. This is not a critical error, the bundle has been uploaded without the partial files`),Y.verbose)q.info(`[Verbose] Delta upload error details: ${m(l)}`)}if(u.storage_provider="r2",u.manifest=g,Y.verbose)q.info("[Verbose] Updating version record with storage provider and manifest...");let{error:$0}=await j2(j,u);if($0)h0(`Cannot update bundle ${m($0)}`);if(Y.verbose)q.info("[Verbose] Version record updated successfully")}if(Y.verbose)q.info("[Verbose] Checking app permissions...");let r=await L1(j,U,w,2,!1,!0);if(Y.verbose)q.info("[Verbose] Permissions:"),q.info(` - Upload: ${f4(r,2)?"yes":"no"}`),q.info(` - Write: ${f4(r,3)?"yes":"no"}`),q.info(` - Admin: ${f4(r,4)?"yes":"no"}`);if(Y.deleteLinkedBundleOnUpload&&f4(r,3)){if(Y.verbose)q.info(`[Verbose] Deleting linked bundle in channel ${_}...`);await s50(j,w,_)}else if(Y.deleteLinkedBundleOnUpload)q.warn("Cannot delete linked bundle on upload as a upload organization member");if(f4(r,3)){if(Y.verbose)q.info(`[Verbose] Setting bundle ${O} to channel ${_}...`);if(await t50(j,U,!!Y.bundleUrl,O,_,I,y,w,E,Y.selfAssign),Y.verbose)q.info("[Verbose] Channel updated successfully")}else q.warn("Cannot set channel as a upload organization member");if(Y.verbose)q.info("[Verbose] Sending upload event...");await Z0(U,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:y,tags:{"app-id":w},notify:!1},Y.verbose),await Z0(U,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:y,tags:{"app-id":w},notify:!1,notifyConsole:!0}).catch(()=>{});let k={success:!0,bundle:O,checksum:u.checksum??null,encryptionMethod:M,sessionKey:Q?Q.toString("base64"):void 0,ivSessionKey:typeof u.session_key==="string"?u.session_key:void 0,storageProvider:u.storage_provider};if(Y.verbose)q.info("[Verbose] Upload completed successfully:"),q.info(` - Bundle: ${k.bundle}`),q.info(` - Checksum: ${k.checksum}`),q.info(` - Encryption: ${k.encryptionMethod}`),q.info(` - Storage: ${k.storageProvider}`);if(X&&!k.skipped)e("Time to share your update to the world \uD83C\uDF0D");return k}function D40(D){let Y=D.key===!1,X=D.forceCrc32Checksum===!0,Q=D.keyV2||D.keyDataV2||BY(l8);if(D.ivSessionKey&&!D.external)h0("You need to provide an external url if you want to use the --iv-session-key option");if(D.encryptedChecksum&&!D.external)h0("You need to provide an external url if you want to use the --encrypted-checksum option");if((D.partial||D.delta||D.partialOnly||D.deltaOnly)&&D.external)h0("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url");if(D.tus&&D.external)h0("You cannot use the --tus option with an external url");if(D.dryUpload&&D.external)h0("You cannot use the --dry-upload option with an external url");if(D.multipart&&D.external)h0("You cannot use the --multipart option with an external url");if(D.external&&(D.keyV2||D.keyDataV2))h0("You cannot set a key if you are uploading to an external url");if(D.keyV2&&D.keyDataV2)h0("You cannot set both key-v2 and key-data-v2");if(D.external&&(D.s3Region||D.s3Apikey||D.s3Apisecret||D.s3Endpoint||D.s3BucketName||D.s3Port||D.s3SSL))h0("You cannot set S3 options if you are uploading to an external url, it's automatically handled");if(D.encryptedChecksum&&!D.external)h0("You cannot set the --encrypted-checksum option if you are not uploading to an external url");if(D.minUpdateVersion&&D.autoMinUpdateVersion)h0("You cannot set both min-update-version and auto-min-update-version, use only one of them");if(X&&Q&&!Y)h0("You cannot use --force-crc32-checksum when encryption is enabled. Remove the flag or disable encryption.")}async function rJ(D,Y){try{D40(Y),await o4(D,Y)}catch(X){let Q=X instanceof Error?X.message:String(X),J=m(X);if(Y.verbose)q.error(`uploadBundle failed:${J}`);else q.error(`uploadBundle failed: ${Q}`);let W=Q.includes("Cannot upload the same bundle content"),$=!!PI.isTTY&&!!II.isTTY;if(!Y.versionExistsOk&&$)try{if(W){let G=await D8({message:"Would you like to retry the upload?",options:[{value:"ignore",label:"Retry with --ignore-checksum-check (force upload same content)"},{value:"cancel",label:"Cancel upload"}]});if(E0(G)||G==="cancel")throw X instanceof Error?X:Error(String(X));if(G==="ignore")return q.info("\uD83D\uDD04 Retrying upload with --ignore-checksum-check..."),rJ(D,{...Y,ignoreChecksumCheck:!0})}else{let G=await R0({message:"Would you like to retry the upload?"});if(E0(G))throw X instanceof Error?X:Error(String(X));if(G)return q.info("\uD83D\uDD04 Retrying upload..."),rJ(D,Y)}}catch{throw X instanceof Error?X:Error(String(X))}throw X instanceof Error?X:Error(String(X))}}import{randomUUID as Y40}from"node:crypto";import{existsSync as X40,writeFileSync as Q40}from"node:fs";import{cwd as J40}from"node:process";var W40=20;function $40(D){console.log(JSON.stringify(D,null,2))}function HY(D){console.error(m(D))}async function jF(D,Y,X=!1){let{json:Q}=Y,{bundle:J,path:W}=Y,$=!Q&&!X;try{if($)await f0();let G=await U0(),B=_0(D,G?.config),H=Y40().split("-")[0],F=x6("",Y.packageJson);if(J=J||F||`0.0.1-beta.${H}`,$)F0(`Zipping ${B}@${J}`);if(J&&!v4.test(J)){let I=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!X)if(Q)HY({error:"invalid_semver"});else q.error(I);throw Error("Invalid bundle version format")}if(W=W||G?.config?.webDir,!B||!J||!W){if(!X)if(Q)HY({error:"missing_argument"});else q.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if($)q.info(`Started from path "${W}"`);if(typeof Y.codeCheck>"u"?!0:Y.codeCheck){if(!QY(W,"notifyAppReady")){if(!X)if(Q)HY({error:"notifyAppReady_not_in_source_code"});else q.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!mJ(W)){if(!X)if(Q)HY({error:"index_html_not_found"});else q.error(`index.html is missing in the root folder of ${W}`);throw Error("index.html is missing in root folder")}}let U=await RJ(W);if($)q.info(`Zipped ${U.byteLength} bytes`);let z=$?d0():null;if(z)z.start("Calculating checksum");let V=f1(J40()),w=await d8("@capgo/capacitor-updater",V,Y.packageJson);if(!w){if(!X)q.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let L=!1,O;try{O=w?C0(w):void 0}catch{O=void 0}if(O)L=!U6(O,void 0,void 0,"7.0.0");else if(w==="link:@capgo/capacitor-updater"){if(!X)q.warn("Using local @capgo/capacitor-updater. Assuming v7");L=!0}let Z=await o9(U,Y.keyV2||X40(l8)||L?"sha256":"crc32");if(z)z.stop(`Checksum ${L?"SHA256":"CRC32"}: ${Z}`);let M=Math.floor(U.byteLength/1024/1024);if(M>W40&&$)q.warn(`WARNING !!
297
+ Bundle uploaded \uD83D\uDCAA in 0 seconds`),$.verbose)q.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let z=await c8();if($.verbose)q.info("[Verbose] Local config retrieved for upload");if($.multipart!==void 0&&$.multipart||$.tus!==void 0&&$.tus){if($.multipart)q.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else q.info("Uploading bundle with TUS protocol");if($.verbose)q.info("[Verbose] Starting TUS resumable upload..."),q.info(` - Host: ${z.hostWeb}`),q.info(` - Chunk size: ${Math.floor(G/1024/1024)} MB`);if(await YS(D,W,J,X,Q,B,z,G),F=!0,$.verbose)q.info("[Verbose] TUS upload completed, updating database with R2 path...");let V=`orgs/${J}/apps/${X}/${Q}.zip`,{error:w}=await Y.from("app_versions").update({r2_path:V}).eq("name",Q).eq("app_id",X);if(w){if(q.error(`Cannot finish TUS upload ${m(w)}`),$.verbose)q.info(`[Verbose] Database update failed: ${m(w)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if($.verbose)q.info(`[Verbose] Database updated with R2 path: ${V}`)}else{if($.verbose)q.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let V=await tT(Y,X,Q);if(!V){if(q.error("Cannot get upload url"),$.verbose)q.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if($.verbose)q.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),q.info(` - Timeout: ${$.timeout||N2}ms`),q.info(" - Retry attempts: 5"),q.info(" - Content-Type: application/zip");let w=new AbortController,L=setTimeout(()=>w.abort(),$.timeout||N2);try{let O=await fetch(V,{method:"PUT",body:W,headers:{"Content-Type":"application/zip"},signal:w.signal});if(!O.ok)throw Error(`HTTP error! status: ${O.status}`)}finally{clearTimeout(L)}if($.verbose)q.info("[Verbose] HTTP PUT upload completed successfully")}}catch(z){let w=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${w} seconds)`),$.verbose)q.info(`[Verbose] Upload failed after ${w} seconds`),q.info(`[Verbose] Error type: ${z instanceof Error?"Error":typeof z}`);if(z instanceof Error&&z.message.includes("HTTP error"))try{let L=z.message.match(/status: (\d+)/),O=L?L[1]:"unknown";q.error(`Upload failed with status ${O}: ${z.message}`)}catch{q.error(`Upload failed: ${z.message}`)}else{if($.verbose)q.info(`[Verbose] Non-HTTP error: ${m(z)}`);if(!$.tus)q.error(`Cannot upload bundle ( try again with --tus option) ${m(z)}`);else q.error(`Cannot upload bundle please contact support if the issue persists ${m(z)}`)}if($.verbose)q.info("[Verbose] Cleaning up failed version from database...");if(await XS(Y,X,Q),$.verbose)q.info("[Verbose] Failed version cleaned up");throw z instanceof Error?z:Error(String(z))}let U=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${U} seconds)`),$.verbose)q.info("[Verbose] Upload successful:"),q.info(` - Upload time: ${U} seconds`),q.info(` - Upload method: ${F?"TUS (resumable)":"Standard HTTP PUT"}`),q.info(` - Bundle size: ${Math.floor(W.byteLength/1024)} KB`),q.info("[Verbose] Sending performance event...");if(await Z0(D,{channel:"performance",event:F?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":X,time:U},notify:!1},$.verbose),$.verbose)q.info("[Verbose] Performance event sent successfully")}async function s50(D,Y,X){let{data:Q,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",Y).eq("name",X);if(J){q.error(`Cannot delete linked bundle on upload ${m(J)}`);return}if(Q.length===0){q.warn("No linked bundle found in the channel you are trying to upload to");return}let W=Q[0].version;if(W.deleted){q.warn("The linked bundle is already deleted");return}let{error:$}=await D.from("app_versions").update({deleted:!0}).eq("id",W.id);if($){q.error(`Cannot delete linked bundle on upload ${m($)}`);return}q.info("Linked bundle deleted")}async function t50(D,Y,X,Q,J,W,$,G,B,H){let{data:F}=await D.rpc("get_app_versions",{apikey:Y,name_version:Q,appid:G}).single();if(!F)h0("Cannot get version id, cannot set channel");let{data:K}=await D.rpc("is_allowed_capgkey",{apikey:Y,keymode:["write","all"]}).single();if(K){let{error:U,data:z}=await jJ(D,{name:J,app_id:G,created_by:W,version:F,owner_org:$,...H?{allow_device_self_set:!0}:{}});if(U)h0(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${m(U)}`);let V=`${B.hostWeb}/app/${G}/channel/${z.id}`;if(z?.public)q.info("Your update is now available in your public channel \uD83C\uDF89");else if(z?.id)q.info(`Link device to this bundle to try it: ${V}`);if(X)q.info(`Bundle url: ${V}`)}else q.warn("The upload key is not allowed to set the version in the channel")}async function e50(D,Y,X){let{error:Q,data:J}=await Y.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Q)return q.warn("Cannot find default upload channel"),q.info(`You can set it here: ${X}/app/${D}/info`),null;return J.default_upload_channel}async function o4(D,Y,X=!1){if(!X)F0(`Uploading with CLI version ${f8.version}`);let Q,J=W8();await f0();let{s3Region:W,s3Apikey:$,s3Apisecret:G,s3BucketName:B,s3Endpoint:H,s3Port:F,s3SSL:K}=Y;if(Y.verbose)q.info("[Verbose] Starting upload process with options:"),q.info(` - API key: ${Y.apikey?"provided":"from saved key"}`),q.info(` - Path: ${Y.path||"from capacitor config"}`),q.info(` - Channel: ${Y.channel||"from default upload channel"}`),q.info(` - Bundle: ${Y.bundle||"auto-detected"}`),q.info(` - External: ${Y.external||"false"}`),q.info(` - Encryption: ${Y.keyV2||Y.keyDataV2?"v2":Y.key===!1?"disabled":"auto"}`),q.info(` - Upload method: ${Y.tus?"TUS":Y.zip?"ZIP":"auto"}`),q.info(` - Delta updates: ${Y.delta||Y.partial?"enabled":"disabled"}`);let U=d50(Y);if(Y.verbose)q.info("[Verbose] API key retrieved successfully");let z=await U0();if(Y.verbose)q.info("[Verbose] Capacitor config loaded successfully");let V=await lT();if(Y.verbose)q.info("[Verbose] Remote file config retrieved:"),q.info(` - Max upload length: ${Math.floor(V.maxUploadLength/1024/1024)} MB`),q.info(` - Alert upload size: ${Math.floor(V.alertUploadSize/1024/1024)} MB`),q.info(` - TUS upload: ${V.TUSUpload?"enabled":"disabled"}`),q.info(` - TUS upload forced: ${V.TUSUploadForced?"yes":"no"}`),q.info(` - Partial upload: ${V.partialUpload?"enabled":"disabled"}`),q.info(` - Max chunk size: ${Math.floor(V.maxChunkSize/1024/1024)} MB`);let{appid:w,path:L}=p50(D,Y,z.config);if(Y.verbose)q.info(`[Verbose] App ID: ${w}, Build path: ${L}`);let O=await l50(z.config,Y);if(Y.verbose)q.info(`[Verbose] Bundle version: ${O}`);let Z=Y.external?"external":"r2-direct",M="none";if(Y.autoSetBundle){if(await p7({version:O}),Y.verbose)q.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(n50(Y,L),Y.verbose)q.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");q.info(`Upload ${w}@${O} started from path "${L}" to Capgo cloud`);let E=await c8();if(Y.verbose)q.info(`[Verbose] Local config loaded: host=${E.hostWeb}`);if(Y.supaHost&&Y.supaAnon){if(q.info("Using custom supabase instance from provided options"),E.supaHost=Y.supaHost,E.supaKey=Y.supaAnon,Y.verbose)q.info(`[Verbose] Custom Supabase host: ${Y.supaHost}`)}let j=await w0(U,Y.supaHost,Y.supaAnon);if(Y.verbose)q.info("[Verbose] Supabase client created successfully");await h1(j,w,X);let I=await A0(j,U,["write","all","upload"]);if(Y.verbose)q.info(`[Verbose] User verified successfully, user_id: ${I}`);let _=Y.channel||await e50(w,j,E.hostWeb)||"production";if(Y.verbose)q.info(`[Verbose] Target channel: ${_}`);let y=await l1(j,w);if(Y.verbose)q.info(`[Verbose] Organization ID: ${y}`);if(await iT(j,y,f8.version),Y.verbose)q.info("[Verbose] Remote CLI messages checked");if(await aT(j,y,U,w,!0),Y.verbose)q.info("[Verbose] Plan validation passed");if(Y.verbose)q.info("[Verbose] Trial check completed");if(Y.verbose)q.info(`[Verbose] Checking compatibility with channel ${_}...`);let{nativePackages:C,minUpdateVersion:c}=await i50(j,J,Y,_,w,O);if(Y.verbose)q.info("[Verbose] Compatibility check completed:"),q.info(` - Native packages: ${C?C.length:0}`),q.info(` - Min update version: ${c||"none"}`);if(Y.verbose)q.info(`[Verbose] Checking if version ${O} already exists...`);let S=!X&&!!PI.isTTY&&!!II.isTTY,p=await r50(j,w,O,Y.versionExistsOk,S);if(Y.verbose)q.info(`[Verbose] Version exists check: ${p?typeof p==="string"?`retry with ${p}`:"yes (skipping)":"no (continuing)"}`);if(p===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:O,checksum:null,encryptionMethod:M,storageProvider:Z};if(typeof p==="string")return q.info(`Retrying upload with new version: ${p}`),o4(D,{...Y,bundle:p},X);if(Y.external&&!Y.external.startsWith("https://"))h0(`External link should should start with "https://" current is "${Y.external}"`);if(Y.deleteLinkedBundleOnUpload)q.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),q.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let u={name:O,app_id:w,session_key:void 0,external_url:Y.external,storage_provider:Z,min_update_version:c,native_packages:C,owner_org:y,user_id:I,checksum:void 0,link:Y.link||null,comment:Y.comment||null,key_id:void 0,cli_version:f8.version},Q0=null,x="";if(!Y.external){if(Y.verbose)q.info(`[Verbose] Preparing bundle file from path: ${L}`);let g=z.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:$0,ivSessionKey:l,checksum:T0,sessionKey:s8,encryptionMethod:Y0,finalKeyData:n0,keyId:t}=await a50(L,Y,U,y,w,V.maxUploadLength,V.alertUploadSize,g);if(u.session_key=l,u.checksum=T0,u.key_id=t||void 0,Q=s8,Q0=$0,M=Y0,x=n0,Y.verbose)q.info("[Verbose] Bundle prepared:"),q.info(` - Size: ${Math.floor(($0?.byteLength??0)/1024)} KB`),q.info(` - Checksum: ${T0}`),q.info(` - Encryption: ${Y0}`),q.info(` - IV Session Key: ${l?"present":"none"}`),q.info(` - Key ID: ${t||"none"}`);if(!Y.ignoreChecksumCheck){if(Y.verbose)q.info("[Verbose] Checking for duplicate checksum...");if(await $S(j,w,_,T0),Y.verbose)q.info("[Verbose] Checksum is unique")}}else{if(Y.verbose)q.info(`[Verbose] Using external URL: ${Y.external}`);if(await Z0(U,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:y,tags:{"app-id":w},notify:!1},Y.verbose),u.session_key=Y.ivSessionKey,u.checksum=Y.encryptedChecksum,Y.verbose)q.info("[Verbose] External bundle configured:"),q.info(` - URL: ${Y.external}`),q.info(` - IV Session Key: ${Y.ivSessionKey?"provided":"none"}`),q.info(` - Encrypted Checksum: ${Y.encryptedChecksum?"provided":"none"}`)}if(Y.zip){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!V.TUSUpload||Y.external){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(Y.tus=Y.tus||V.TUSUploadForced,Y.verbose)q.info(`[Verbose] Upload method: ${Y.tus?"TUS (resumable)":"Standard"}`);if(!V.partialUpload||Y.external){if(Y.delta=!1,Y.verbose&&Y.external)q.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(Y.delta=Y.delta||Y.partial||Y.deltaOnly||Y.partialOnly||V.partialUploadForced,Y.verbose)q.info(`[Verbose] Delta updates: ${Y.delta?"enabled":"disabled"}`);if(Y.encryptPartial&&M==="v1")h0("You cannot encrypt the partial update if you are not using the v2 encryption method");let N="5.30.0",A="6.30.0",R="7.30.0",P=!1;if(Y.delta&&M==="v2"&&!Y.encryptPartial){let g=f1(RF()),$0=await d8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?C0($0):void 0}catch{l=void 0}if($0&&l&&Dw(l,C0("6.14.4"))){if(q.info(`Auto-enabling partial update encryption for updater version ${l} (> 6.14.4)`),Y.verbose)q.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");Y.encryptPartial=!0}}if(Y.delta&&(Y.encryptPartial||M==="v2")){let g=f1(RF()),$0=await d8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?C0($0):void 0}catch{l=void 0}if($0&&l){if(P=!U6(l,N,A,R),Y.verbose&&P)q.info(`[Verbose] Using hex checksum format for updater version ${l}`)}}if(Y.verbose&&Y.delta)q.info("[Verbose] Preparing delta/partial update manifest...");let v=Y.delta?await TI(L,U,y,w,Y.encryptPartial?M:"none",x,P):[];if(Y.verbose&&Y.delta)q.info(`[Verbose] Delta manifest prepared with ${v.length} files`);if(Y.verbose)q.info("[Verbose] Creating version record in database...");let{error:b}=await j2(j,u);if(b)h0(`Cannot add bundle ${m(b)}`);if(Y.verbose)q.info("[Verbose] Version record created successfully");if(Y.tusChunkSize&&Y.tusChunkSize>V.maxChunkSize)q.error(`Chunk size ${Y.tusChunkSize} is greater than the maximum chunk size ${V.maxChunkSize}, using the maximum chunk size`),Y.tusChunkSize=V.maxChunkSize;else if(!Y.tusChunkSize)Y.tusChunkSize=V.maxChunkSize;if(Y.verbose)q.info(`[Verbose] TUS chunk size: ${Math.floor(Y.tusChunkSize/1024/1024)} MB`);if(Q0&&(B||H||W||$||G||F||K)){if(!B||!H||!W||!$||!G||!F)h0("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(q.info("Uploading to S3"),Y.verbose)q.info("[Verbose] S3 configuration:"),q.info(` - Endpoint: ${H}`),q.info(` - Region: ${W}`),q.info(` - Bucket: ${B}`),q.info(` - Port: ${F}`),q.info(` - SSL: ${K?"enabled":"disabled"}`);let g=K?`https://${H}`:`http://${H}`,$0=new uJ({endPoint:H,region:W,port:F,pathStyle:!0,bucket:B,accessKey:$,secretKey:G}),l=`${w}-${O}`,T0=encodeURIComponent(l);if(Y.verbose)q.info(`[Verbose] Uploading to S3 as: ${l}`);if(await $0.putObject(l,Uint8Array.from(Q0)),u.external_url=`${g}/${T0}`,u.storage_provider="external",Y.verbose)q.info(`[Verbose] S3 upload complete, external URL: ${u.external_url}`)}else if(Q0){if(!Y.partialOnly&&!Y.deltaOnly){if(Y.verbose)q.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await o50(U,j,w,O,y,Q0,Y,Y.tusChunkSize)}else if(Y.verbose)q.info("[Verbose] Skipping full bundle upload (delta-only mode)");let g=null;try{if(Y.dryUpload){if(Y.delta=!1,Y.verbose)q.info("[Verbose] Dry upload mode: skipping delta upload")}let l=u.session_key&&Y.encryptPartial&&Q?{sessionKey:Q,ivSessionKey:u.session_key}:void 0;if(Y.verbose&&Y.delta)q.info("[Verbose] Starting delta/partial file upload..."),q.info(` - Manifest entries: ${v.length}`),q.info(` - Encryption: ${l?"enabled":"disabled"}`);if(g=Y.delta?await SI(U,v,L,w,y,l,Y):null,Y.verbose&&g)q.info(`[Verbose] Delta upload complete with ${g.length} files`)}catch(l){if(!!(Y.partial||Y.delta||Y.partialOnly||Y.deltaOnly))throw l;if(q.info(`Failed to upload partial files to capgo cloud. Error: ${m(l)}. This is not a critical error, the bundle has been uploaded without the partial files`),Y.verbose)q.info(`[Verbose] Delta upload error details: ${m(l)}`)}if(u.storage_provider="r2",u.manifest=g,Y.verbose)q.info("[Verbose] Updating version record with storage provider and manifest...");let{error:$0}=await j2(j,u);if($0)h0(`Cannot update bundle ${m($0)}`);if(Y.verbose)q.info("[Verbose] Version record updated successfully")}if(Y.verbose)q.info("[Verbose] Checking app permissions...");let r=await L1(j,U,w,2,!1,!0);if(Y.verbose)q.info("[Verbose] Permissions:"),q.info(` - Upload: ${f4(r,2)?"yes":"no"}`),q.info(` - Write: ${f4(r,3)?"yes":"no"}`),q.info(` - Admin: ${f4(r,4)?"yes":"no"}`);if(Y.deleteLinkedBundleOnUpload&&f4(r,3)){if(Y.verbose)q.info(`[Verbose] Deleting linked bundle in channel ${_}...`);await s50(j,w,_)}else if(Y.deleteLinkedBundleOnUpload)q.warn("Cannot delete linked bundle on upload as a upload organization member");if(f4(r,3)){if(Y.verbose)q.info(`[Verbose] Setting bundle ${O} to channel ${_}...`);if(await t50(j,U,!!Y.bundleUrl,O,_,I,y,w,E,Y.selfAssign),Y.verbose)q.info("[Verbose] Channel updated successfully")}else q.warn("Cannot set channel as a upload organization member");if(Y.verbose)q.info("[Verbose] Sending upload event...");await Z0(U,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:y,tags:{"app-id":w,bundle:O},notify:!1},Y.verbose),await Z0(U,{channel:"app",event:"Bundle Uploaded",icon:"⏫",user_id:y,tags:{"app-id":w,bundle:O},notify:!1,notifyConsole:!0}).catch(()=>{});let k={success:!0,bundle:O,checksum:u.checksum??null,encryptionMethod:M,sessionKey:Q?Q.toString("base64"):void 0,ivSessionKey:typeof u.session_key==="string"?u.session_key:void 0,storageProvider:u.storage_provider};if(Y.verbose)q.info("[Verbose] Upload completed successfully:"),q.info(` - Bundle: ${k.bundle}`),q.info(` - Checksum: ${k.checksum}`),q.info(` - Encryption: ${k.encryptionMethod}`),q.info(` - Storage: ${k.storageProvider}`);if(X&&!k.skipped)e("Time to share your update to the world \uD83C\uDF0D");return k}function D40(D){let Y=D.key===!1,X=D.forceCrc32Checksum===!0,Q=D.keyV2||D.keyDataV2||BY(l8);if(D.ivSessionKey&&!D.external)h0("You need to provide an external url if you want to use the --iv-session-key option");if(D.encryptedChecksum&&!D.external)h0("You need to provide an external url if you want to use the --encrypted-checksum option");if((D.partial||D.delta||D.partialOnly||D.deltaOnly)&&D.external)h0("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url");if(D.tus&&D.external)h0("You cannot use the --tus option with an external url");if(D.dryUpload&&D.external)h0("You cannot use the --dry-upload option with an external url");if(D.multipart&&D.external)h0("You cannot use the --multipart option with an external url");if(D.external&&(D.keyV2||D.keyDataV2))h0("You cannot set a key if you are uploading to an external url");if(D.keyV2&&D.keyDataV2)h0("You cannot set both key-v2 and key-data-v2");if(D.external&&(D.s3Region||D.s3Apikey||D.s3Apisecret||D.s3Endpoint||D.s3BucketName||D.s3Port||D.s3SSL))h0("You cannot set S3 options if you are uploading to an external url, it's automatically handled");if(D.encryptedChecksum&&!D.external)h0("You cannot set the --encrypted-checksum option if you are not uploading to an external url");if(D.minUpdateVersion&&D.autoMinUpdateVersion)h0("You cannot set both min-update-version and auto-min-update-version, use only one of them");if(X&&Q&&!Y)h0("You cannot use --force-crc32-checksum when encryption is enabled. Remove the flag or disable encryption.")}async function rJ(D,Y){try{D40(Y),await o4(D,Y)}catch(X){let Q=X instanceof Error?X.message:String(X),J=m(X);if(Y.verbose)q.error(`uploadBundle failed:${J}`);else q.error(`uploadBundle failed: ${Q}`);let W=Q.includes("Cannot upload the same bundle content"),$=!!PI.isTTY&&!!II.isTTY;if(!Y.versionExistsOk&&$)try{if(W){let G=await D8({message:"Would you like to retry the upload?",options:[{value:"ignore",label:"Retry with --ignore-checksum-check (force upload same content)"},{value:"cancel",label:"Cancel upload"}]});if(E0(G)||G==="cancel")throw X instanceof Error?X:Error(String(X));if(G==="ignore")return q.info("\uD83D\uDD04 Retrying upload with --ignore-checksum-check..."),rJ(D,{...Y,ignoreChecksumCheck:!0})}else{let G=await R0({message:"Would you like to retry the upload?"});if(E0(G))throw X instanceof Error?X:Error(String(X));if(G)return q.info("\uD83D\uDD04 Retrying upload..."),rJ(D,Y)}}catch{throw X instanceof Error?X:Error(String(X))}throw X instanceof Error?X:Error(String(X))}}import{randomUUID as Y40}from"node:crypto";import{existsSync as X40,writeFileSync as Q40}from"node:fs";import{cwd as J40}from"node:process";var W40=20;function $40(D){console.log(JSON.stringify(D,null,2))}function HY(D){console.error(m(D))}async function jF(D,Y,X=!1){let{json:Q}=Y,{bundle:J,path:W}=Y,$=!Q&&!X;try{if($)await f0();let G=await U0(),B=_0(D,G?.config),H=Y40().split("-")[0],F=x6("",Y.packageJson);if(J=J||F||`0.0.1-beta.${H}`,$)F0(`Zipping ${B}@${J}`);if(J&&!v4.test(J)){let I=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!X)if(Q)HY({error:"invalid_semver"});else q.error(I);throw Error("Invalid bundle version format")}if(W=W||G?.config?.webDir,!B||!J||!W){if(!X)if(Q)HY({error:"missing_argument"});else q.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if($)q.info(`Started from path "${W}"`);if(typeof Y.codeCheck>"u"?!0:Y.codeCheck){if(!QY(W,"notifyAppReady")){if(!X)if(Q)HY({error:"notifyAppReady_not_in_source_code"});else q.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!mJ(W)){if(!X)if(Q)HY({error:"index_html_not_found"});else q.error(`index.html is missing in the root folder of ${W}`);throw Error("index.html is missing in root folder")}}let U=await RJ(W);if($)q.info(`Zipped ${U.byteLength} bytes`);let z=$?d0():null;if(z)z.start("Calculating checksum");let V=f1(J40()),w=await d8("@capgo/capacitor-updater",V,Y.packageJson);if(!w){if(!X)q.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let L=!1,O;try{O=w?C0(w):void 0}catch{O=void 0}if(O)L=!U6(O,void 0,void 0,"7.0.0");else if(w==="link:@capgo/capacitor-updater"){if(!X)q.warn("Using local @capgo/capacitor-updater. Assuming v7");L=!0}let Z=await o9(U,Y.keyV2||X40(l8)||L?"sha256":"crc32");if(z)z.stop(`Checksum ${L?"SHA256":"CRC32"}: ${Z}`);let M=Math.floor(U.byteLength/1024/1024);if(M>W40&&$)q.warn(`WARNING !!
298
298
  The bundle size is ${M} Mb, this may take a while to download for users
299
299
  `),q.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
300
300
  `);let E=$?d0():null,j=Y.name||`${B}_${J}.zip`;if(E)E.start(`Saving to ${j}`);if(Q40(j,U),E)E.stop(`Saved to ${j}`);if($)e("Done ✅");if(!X&&Q)$40({bundle:J,filename:j,checksum:Z});return{bundle:J,filename:j,checksum:Z}}catch(G){if(!X)if(Q)HY(G);else q.error(m(G));throw G instanceof Error?G:Error(String(G))}}async function CI(D,Y){await jF(D,Y,!1)}async function FY(D,Y,X,Q=!1){if(!Q)F0("Create channel");X.apikey=X.apikey||X0();let J=await U0().catch(()=>{return});if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let W=await w0(X.apikey,X.supaHost,X.supaAnon);if(await h1(W,Y,Q),await A0(W,X.apikey,["write","all"]),await L1(W,X.apikey,Y,4,Q,!0),!Q)q.info(`Creating channel ${Y}#${D} to Capgo`);let $=await u2(W,Y);if(!$){if(!Q)q.error("Cannot find default version for channel creation, please contact Capgo support \uD83E\uDD28");throw Error("Cannot find default version for channel creation")}let G=await l1(W,Y),B=await A0(W,X.apikey,["write","all"]),H=await vS(W,{name:D,app_id:Y,version:$.id,created_by:B,owner_org:G,allow_device_self_set:X.selfAssign??!1,public:X.default??!1});if(H.error){if(!Q)q.error(`Cannot create Channel \uD83D\uDE40
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "7.71.11",
4
+ "version": "7.71.12",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
package/dist/src/sdk.js CHANGED
@@ -311,7 +311,7 @@ ${t.default.gray(B9)} ${D}
311
311
  `)}}var Py=require("node:child_process"),V0=require("node:fs"),$J=require("node:os"),W0=R0(require("node:path")),m8=require("node:process"),e6=R0(AX(),1);var Q1=require("fs"),Q4=(D=".",X="unknown")=>{let Y=`${D}/bun.lockb`,Z=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,Q=`${D}/shrinkwrap.yaml`,w=`${D}/yarn.lock`,F=`${D}/package-lock.json`,B=`${D}/npm-shrinkwrap.json`;if(Q1.existsSync(Y)||Q1.existsSync(Z))return"bun";if(Q1.existsSync(J)||Q1.existsSync(Q))return"pnpm";if(Q1.existsSync(w))return"yarn";if(Q1.existsSync(F)||Q1.existsSync(B))return"npm";return X},EX=(D=Q4(),X=!1)=>{switch(D){case"bun":return X?"bun install":"install";case"pnpm":return X?"pnpm install":"install";case"yarn":return X?"yarn install":"install";case"npm":return X?"npm install":"install";case"unknown":return X?"unknown unknown":"unknown";default:return X?"npm install":"install"}},bG=(D=".",X="npx")=>{let Y=`${D}/bun.lockb`,Z=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,Q=`${D}/shrinkwrap.yaml`,w=`${D}/yarn.lock`,F=`${D}/package-lock.json`,B=`${D}/npm-shrinkwrap.json`;if(Q1.existsSync(Y)||Q1.existsSync(Z))return"bunx";if(Q1.existsSync(J)||Q1.existsSync(Q))return"pnpm exec";if(Q1.existsSync(w))return"yarn dlx";if(Q1.existsSync(F)||Q1.existsSync(B))return"npx";return X};function CX(D,X){if(isNaN(D)||isNaN(X))throw Error("Cannot compare against non-numbers");return D===X?0:D<X?-1:1}function dG(D=[],X=[]){if(D.length&&!X.length)return-1;if(!D.length&&X.length)return 1;return 0}function OQ(D=[],X=[]){let Y=Math.max(D.length,X.length);for(let Z=0;Z<Y;Z++){let J=D[Z],Q=X[Z];if(J===void 0&&Q===void 0)return 0;if(Q===void 0)return 1;if(J===void 0)return-1;if(typeof J==="string"&&typeof Q==="number")return 1;if(typeof J==="number"&&typeof Q==="string")return-1;if(J<Q)return-1;if(J>Q)return 1}return 0}var A5="0|[1-9]\\d*",R_="\\d*[a-zA-Z-][a-zA-Z0-9-]*",A_=`(?<major>${A5})\\.(?<minor>${A5})\\.(?<patch>${A5})`,gG=`(?:${A5}|${R_})`,cG=`(?:-(?<prerelease>${gG}(?:\\.${gG})*))`,mG="[0-9A-Za-z-]+",lG=`(?:\\+(?<buildmetadata>${mG}(?:\\.${mG})*))`,nG=`v?${A_}${cG}?${lG}?`,iG=new RegExp(`^${nG}$`),pG="(?:<|>)?=?",E_="x|X|\\*",GQ=`${A5}|${E_}`,jX=`[v=\\s]*(?<major>${GQ})(?:\\.(?<minor>${GQ})(?:\\.(?<patch>${GQ})${cG}?${lG}?)?)?`,aG=new RegExp(`^(?<operator>~>?|\\^|${pG})\\s*${jX}$`),tG=new RegExp(`^(?<operator>${pG})\\s*(${nG})$|^$`);function WQ(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var HQ=256;var C_=new RegExp(`^${A5}$`);function w1(D){return D.split(".").filter(Boolean).map((X)=>{if(C_.test(X)){let Y=Number(X);if(WQ(Y))return Y}return X})}function J8(D){return D.split(".").filter(Boolean)}function E6(D,X){let Y=Number(D);if(!WQ(Y))throw TypeError(X);return Y}function n8(D){return Number.isNaN(D.major)&&Number.isNaN(D.minor)&&Number.isNaN(D.patch)&&(D.prerelease===void 0||D.prerelease.length===0)&&(D.build===void 0||D.build.length===0)}function F1(D,X){if(D===X)return 0;return CX(D.major,X.major)||CX(D.minor,X.minor)||CX(D.patch,X.patch)||dG(D.prerelease,X.prerelease)||OQ(D.prerelease,X.prerelease)}function KQ(D){return D.toFixed(0)}function Q8(D){let X=KQ(D.major),Y=KQ(D.minor),Z=KQ(D.patch),J=D.prerelease?.join(".")??"",Q=D.build?.join(".")??"";return[[`${X}.${Y}.${Z}`,J].filter((B)=>B).join("-"),Q].filter((B)=>B).join("+")}function j_(D,X){if(n8(X))return!0;let Y=F1(D,X);switch(X.operator){case"=":case void 0:return Y===0;case"!=":return Y!==0;case">":return Y>0;case"<":return Y<0;case">=":return Y>=0;case"<=":return Y<=0}}function TX(D,X){for(let Y of X)if(!j_(D,Y))return!1;if(D.prerelease&&D.prerelease.length>0){for(let Y of X){if(n8(Y))continue;let{major:Z,minor:J,patch:Q,prerelease:w}=Y;if(w&&w.length>0){if(D.major===Z&&D.minor===J&&D.patch===Q)return!0}}return!1}return!0}function w4(D,X){return X.some((Y)=>TX(D,Y))}function T_(D=[]){let X=[...D],Y=X.length;while(Y>=0){let Z=X[Y];if(typeof Z==="number"){X[Y]=Z+1;break}Y-=1}if(Y===-1)X.push(0);return X}function F4(D=[],X){let Y=T_(D);if(!X)return Y;let Z=w1(X);if(Z.every((J)=>typeof J==="string")){if(Z.every((J,Q)=>J===Y[Q])&&typeof Y[Z.length]==="number")return Y;Z=[...Z,0]}return Z}function B4(D,X,Y={}){let Z=Y.build!==void 0?J8(Y.build):D.build??[];switch(X){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"prerelease":{let Q=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:Q,prerelease:F4(D.prerelease,Y.prerelease),build:Z}}case"major":return{major:(D.prerelease??[]).length===0||D.minor!==0||D.patch!==0?D.major+1:D.major,minor:0,patch:0,prerelease:[],build:Z};case"minor":{let Q=(D.prerelease??[]).length===0||D.patch!==0?D.minor+1:D.minor;return{major:D.major,minor:Q,patch:0,prerelease:[],build:Z}}case"patch":{let Q=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:Q,prerelease:[],build:Z}}case"pre":return{major:D.major,minor:D.minor,patch:D.patch,prerelease:F4(D.prerelease,Y.prerelease),build:Z};default:throw TypeError(`Cannot increment version: invalid argument ${X}`)}}var IX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},E5={operator:void 0,...IX};function zQ(D,X){return F1(D,X)>0}function q9(D,X){return F1(D,X)<0}function I_(D){let Y=D.match(tG)?.groups;if(!Y)return null;let{operator:Z,prerelease:J,buildmetadata:Q}=Y,w=Y.major?{major:E6(Y.major,`Cannot parse comparator ${D}: invalid major version`),minor:E6(Y.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:E6(Y.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?w1(J):[],build:Q?J8(Q):[]}:IX;return{operator:Z||void 0,...w}}function t0(D){return!D||D.toLowerCase()==="x"||D==="*"}function P_(D){if(t0(D.major))return;if(t0(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if(t0(D.patch))return{operator:">=",major:+D.major,minor:+D.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:D.prerelease?w1(D.prerelease):[],build:[]}}function S_(D){if(t0(D.major))return;if(t0(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if(t0(D.patch))return{operator:"<",major:+D.major,minor:+D.minor+1,patch:0,prerelease:[],build:[]};if(D.prerelease)return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:w1(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function x_(D){let X=D.match(new RegExp(`^${jX}`)),Y=X?.groups;if(!Y)return null;let Z=X[0].length,J=D.slice(Z).match(/^\s+-\s+/);if(!J)return null;let Q=J[0].length,F=D.slice(Z+Q).match(new RegExp(`^${jX}\\s*$`))?.groups;if(!F)return null;let B=P_(Y),q=S_(F);return[B,q].filter(Boolean)}function f_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z){if(J===0)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J+1,minor:0,patch:0}]}let F=w1(D.prerelease??"");if(J===0){if(Q===0)return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q,patch:w+1}];return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J+1,minor:0,patch:0}]}function y_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];let F=w1(D.prerelease??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}function k_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[{operator:"<",major:0,minor:0,patch:0}];if(Y){if(Z)return[{operator:"<",major:J,minor:0,patch:0}];return[{operator:"<",major:J,minor:0,patch:0}]}if(Z)return[{operator:"<",major:J,minor:Q,patch:0}];let F=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:"<",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function u_(D){let X=t0(D.minor),Y=t0(D.patch),Z=+D.major,J=+D.minor,Q=+D.patch;if(X){if(Y)return[{operator:"<",major:Z+1,minor:0,patch:0}];return[{operator:"<",major:Z,minor:J+1,patch:0}]}if(Y)return[{operator:"<",major:Z,minor:J+1,patch:0}];let w=w1(D.prerelease??""),F=J8(D.build??"");return[{operator:"<=",major:Z,minor:J,patch:Q,prerelease:w,build:F}]}function h_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[{operator:"<",major:0,minor:0,patch:0}];if(Y)return[{operator:">=",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q+1,patch:0}];let F=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:">",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function __(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];if(Y){if(Z)return[{operator:">=",major:J,minor:0,patch:0}];return[{operator:">=",major:J,minor:0,patch:0}]}if(Z)return[{operator:">=",major:J,minor:Q,patch:0}];let F=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function v_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];let F=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:void 0,major:J,minor:Q,patch:w,prerelease:F,build:B}]}function b_(D){let X=D.match(aG)?.groups;if(!X)return I_(D);switch(X.operator){case"^":return f_(X);case"~":case"~>":return y_(X);case"<":return k_(X);case"<=":return u_(X);case">":return h_(X);case">=":return __(X);case"=":case"":return v_(X);default:throw Error(`Cannot parse version range: '${X.operator}' is not a valid operator`)}}function g_(D){return D.split(/\s+/).flatMap(b_)}function PX(D){let X=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((Y)=>x_(Y)||g_(Y));if(X.some((Y)=>Y.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return X}function i0(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>HQ)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${HQ}`);D=D.trim();let X=D.match(iG)?.groups;if(!X)throw TypeError(`Cannot parse version: ${D}`);let Y=E6(X.major,`Cannot parse version ${D}: invalid major version`),Z=E6(X.minor,`Cannot parse version ${D}: invalid minor version`),J=E6(X.patch,`Cannot parse version ${D}: invalid patch version`),Q=X.prerelease?w1(X.prerelease):[],w=X.buildmetadata?J8(X.buildmetadata):[];return{major:Y,minor:Z,patch:J,prerelease:Q,build:w}}function rG(D,X){let Y=D.operator,Z=X.operator;if(Y===void 0){if(n8(D))return!0;return w4(D,[[X]])}if(Z===void 0){if(n8(X))return!0;return w4(X,[[D]])}let J=F1(D,X);return(Y===">="||Y===">")&&(Z===">="||Z===">")||(Y==="<="||Y==="<")&&(Z==="<="||Z==="<")||J===0&&((Y===">="||Y==="<=")&&(Z===">="||Z==="<="))||J===-1&&(Y===">="||Y===">")&&(Z==="<="||Z==="<")||J===1&&(Y==="<="||Y==="<")&&(Z===">="||Z===">")}function m_(D){return D.every((X)=>{return X.some((Y)=>d_(Y))})}function d_(D){for(let X=0;X<D.length-1;X++){let Y=D[X];for(let Z of D.slice(X+1))if(!rG(Y,Z))return!1}return!0}function sG(D,X){return m_([D,X])&&D.some((Y)=>{return X.some((Z)=>{return Y.every((J)=>{return Z.every((Q)=>rG(J,Q))})})})}function oG(D){try{return i0(D),!0}catch{return!1}}function eG(D,X){return F1(D,X)>=0}var Z0={};D4(Z0,{createClient:()=>Gw,SupabaseClient:()=>$H,PostgrestError:()=>G4,FunctionsRelayError:()=>D1.FunctionsRelayError,FunctionsHttpError:()=>D1.FunctionsHttpError,FunctionsFetchError:()=>D1.FunctionsFetchError,FunctionsError:()=>D1.FunctionsError,FunctionRegion:()=>D1.FunctionRegion});var D1=R0(uO(),1);var _O={};D4(_O,{default:()=>p_,PostgrestTransformBuilder:()=>UQ,PostgrestQueryBuilder:()=>NQ,PostgrestFilterBuilder:()=>C6,PostgrestError:()=>G4,PostgrestClient:()=>uX,PostgrestBuilder:()=>VQ});var G4=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},VQ=class{constructor(D){var X,Y;if(this.shouldThrowOnError=!1,this.method=D.method,this.url=D.url,this.headers=new Headers(D.headers),this.schema=D.schema,this.body=D.body,this.shouldThrowOnError=(X=D.shouldThrowOnError)!==null&&X!==void 0?X:!1,this.signal=D.signal,this.isMaybeSingle=(Y=D.isMaybeSingle)!==null&&Y!==void 0?Y:!1,D.fetch)this.fetch=D.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(D,X){return this.headers=new Headers(this.headers),this.headers.set(D,X),this}then(D,X){var Y=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");let Z=this.fetch,J=Z(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async(Q)=>{let w=null,F=null,B=null,q=Q.status,$=Q.statusText;if(Q.ok){var G,W;if(Y.method!=="HEAD"){var O;let N=await Q.text();if(N==="");else if(Y.headers.get("Accept")==="text/csv")F=N;else if(Y.headers.get("Accept")&&((O=Y.headers.get("Accept"))===null||O===void 0?void 0:O.includes("application/vnd.pgrst.plan+text")))F=N;else F=JSON.parse(N)}let M=(G=Y.headers.get("Prefer"))===null||G===void 0?void 0:G.match(/count=(exact|planned|estimated)/),U=(W=Q.headers.get("content-range"))===null||W===void 0?void 0:W.split("/");if(M&&U&&U.length>1)B=parseInt(U[1]);if(Y.isMaybeSingle&&Y.method==="GET"&&Array.isArray(F))if(F.length>1)w={code:"PGRST116",details:`Results contain ${F.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},F=null,B=null,q=406,$="Not Acceptable";else if(F.length===1)F=F[0];else F=null}else{var H;let M=await Q.text();try{if(w=JSON.parse(M),Array.isArray(w)&&Q.status===404)F=[],w=null,q=200,$="OK"}catch(U){if(Q.status===404&&M==="")q=204,$="No Content";else w={message:M}}if(w&&Y.isMaybeSingle&&(w===null||w===void 0||(H=w.details)===null||H===void 0?void 0:H.includes("0 rows")))w=null,q=200,$="OK";if(w&&Y.shouldThrowOnError)throw new G4(w)}return{error:w,data:F,count:B,status:q,statusText:$}});if(!this.shouldThrowOnError)J=J.catch((Q)=>{var w;let F="",B=Q===null||Q===void 0?void 0:Q.cause;if(B){var q,$,G,W;let H=(q=B===null||B===void 0?void 0:B.message)!==null&&q!==void 0?q:"",M=($=B===null||B===void 0?void 0:B.code)!==null&&$!==void 0?$:"";if(F=`${(G=Q===null||Q===void 0?void 0:Q.name)!==null&&G!==void 0?G:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,F+=`
312
312
 
313
313
  Caused by: ${(W=B===null||B===void 0?void 0:B.name)!==null&&W!==void 0?W:"Error"}: ${H}`,M)F+=` (${M})`;if(B===null||B===void 0?void 0:B.stack)F+=`
314
- ${B.stack}`}else{var O;F=(O=Q===null||Q===void 0?void 0:Q.stack)!==null&&O!==void 0?O:""}return{error:{message:`${(w=Q===null||Q===void 0?void 0:Q.name)!==null&&w!==void 0?w:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,details:F,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,X)}returns(){return this}overrideTypes(){return this}},UQ=class extends VQ{select(D){let X=!1,Y=(D!==null&&D!==void 0?D:"*").split("").map((Z)=>{if(/\s/.test(Z)&&!X)return"";if(Z==='"')X=!X;return Z}).join("");return this.url.searchParams.set("select",Y),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:X=!0,nullsFirst:Y,foreignTable:Z,referencedTable:J=Z}={}){let Q=J?`${J}.order`:"order",w=this.url.searchParams.get(Q);return this.url.searchParams.set(Q,`${w?`${w},`:""}${D}.${X?"asc":"desc"}${Y===void 0?"":Y?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=typeof Y>"u"?"limit":`${Y}.limit`;return this.url.searchParams.set(Z,`${D}`),this}range(D,X,{foreignTable:Y,referencedTable:Z=Y}={}){let J=typeof Z>"u"?"offset":`${Z}.offset`,Q=typeof Z>"u"?"limit":`${Z}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(Q,`${X-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:X=!1,settings:Y=!1,buffers:Z=!1,wal:J=!1,format:Q="text"}={}){var w;let F=[D?"analyze":null,X?"verbose":null,Y?"settings":null,Z?"buffers":null,J?"wal":null].filter(Boolean).join("|"),B=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${B}"; options=${F};`),Q==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},hO=new RegExp("[,()]"),C6=class extends UQ{eq(D,X){return this.url.searchParams.append(D,`eq.${X}`),this}neq(D,X){return this.url.searchParams.append(D,`neq.${X}`),this}gt(D,X){return this.url.searchParams.append(D,`gt.${X}`),this}gte(D,X){return this.url.searchParams.append(D,`gte.${X}`),this}lt(D,X){return this.url.searchParams.append(D,`lt.${X}`),this}lte(D,X){return this.url.searchParams.append(D,`lte.${X}`),this}like(D,X){return this.url.searchParams.append(D,`like.${X}`),this}likeAllOf(D,X){return this.url.searchParams.append(D,`like(all).{${X.join(",")}}`),this}likeAnyOf(D,X){return this.url.searchParams.append(D,`like(any).{${X.join(",")}}`),this}ilike(D,X){return this.url.searchParams.append(D,`ilike.${X}`),this}ilikeAllOf(D,X){return this.url.searchParams.append(D,`ilike(all).{${X.join(",")}}`),this}ilikeAnyOf(D,X){return this.url.searchParams.append(D,`ilike(any).{${X.join(",")}}`),this}regexMatch(D,X){return this.url.searchParams.append(D,`match.${X}`),this}regexIMatch(D,X){return this.url.searchParams.append(D,`imatch.${X}`),this}is(D,X){return this.url.searchParams.append(D,`is.${X}`),this}isDistinct(D,X){return this.url.searchParams.append(D,`isdistinct.${X}`),this}in(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&hO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`in.(${Y})`),this}notIn(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&hO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`not.in.(${Y})`),this}contains(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cs.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cs.{${X.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(X)}`);return this}containedBy(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cd.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cd.{${X.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(X)}`);return this}rangeGt(D,X){return this.url.searchParams.append(D,`sr.${X}`),this}rangeGte(D,X){return this.url.searchParams.append(D,`nxl.${X}`),this}rangeLt(D,X){return this.url.searchParams.append(D,`sl.${X}`),this}rangeLte(D,X){return this.url.searchParams.append(D,`nxr.${X}`),this}rangeAdjacent(D,X){return this.url.searchParams.append(D,`adj.${X}`),this}overlaps(D,X){if(typeof X==="string")this.url.searchParams.append(D,`ov.${X}`);else this.url.searchParams.append(D,`ov.{${X.join(",")}}`);return this}textSearch(D,X,{config:Y,type:Z}={}){let J="";if(Z==="plain")J="pl";else if(Z==="phrase")J="ph";else if(Z==="websearch")J="w";let Q=Y===void 0?"":`(${Y})`;return this.url.searchParams.append(D,`${J}fts${Q}.${X}`),this}match(D){return Object.entries(D).forEach(([X,Y])=>{this.url.searchParams.append(X,`eq.${Y}`)}),this}not(D,X,Y){return this.url.searchParams.append(D,`not.${X}.${Y}`),this}or(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=Y?`${Y}.or`:"or";return this.url.searchParams.append(Z,`(${D})`),this}filter(D,X,Y){return this.url.searchParams.append(D,`${X}.${Y}`),this}},NQ=class{constructor(D,{headers:X={},schema:Y,fetch:Z}){this.url=D,this.headers=new Headers(X),this.schema=Y,this.fetch=Z}select(D,X){let{head:Y=!1,count:Z}=X!==null&&X!==void 0?X:{},J=Y?"HEAD":"GET",Q=!1,w=(D!==null&&D!==void 0?D:"*").split("").map((F)=>{if(/\s/.test(F)&&!Q)return"";if(F==='"')Q=!Q;return F}).join("");if(this.url.searchParams.set("select",w),Z)this.headers.append("Prefer",`count=${Z}`);return new C6({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:X,defaultToNull:Y=!0}={}){var Z;let J="POST";if(X)this.headers.append("Prefer",`count=${X}`);if(!Y)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let Q=D.reduce((w,F)=>w.concat(Object.keys(F)),[]);if(Q.length>0){let w=[...new Set(Q)].map((F)=>`"${F}"`);this.url.searchParams.set("columns",w.join(","))}}return new C6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Z=this.fetch)!==null&&Z!==void 0?Z:fetch})}upsert(D,{onConflict:X,ignoreDuplicates:Y=!1,count:Z,defaultToNull:J=!0}={}){var Q;let w="POST";if(this.headers.append("Prefer",`resolution=${Y?"ignore":"merge"}-duplicates`),X!==void 0)this.url.searchParams.set("on_conflict",X);if(Z)this.headers.append("Prefer",`count=${Z}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let F=D.reduce((B,q)=>B.concat(Object.keys(q)),[]);if(F.length>0){let B=[...new Set(F)].map((q)=>`"${q}"`);this.url.searchParams.set("columns",B.join(","))}}return new C6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}update(D,{count:X}={}){var Y;let Z="PATCH";if(X)this.headers.append("Prefer",`count=${X}`);return new C6({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}delete({count:D}={}){var X;let Y="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new C6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},uX=class D{constructor(X,{headers:Y={},schema:Z,fetch:J}={}){this.url=X,this.headers=new Headers(Y),this.schemaName=Z,this.fetch=J}from(X){if(!X||typeof X!=="string"||X.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new NQ(new URL(`${this.url}/${X}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(X){return new D(this.url,{headers:this.headers,schema:X,fetch:this.fetch})}rpc(X,Y={},{head:Z=!1,get:J=!1,count:Q}={}){var w;let F,B=new URL(`${this.url}/rpc/${X}`),q;if(Z||J)F=Z?"HEAD":"GET",Object.entries(Y).filter(([G,W])=>W!==void 0).map(([G,W])=>[G,Array.isArray(W)?`{${W.join(",")}}`:`${W}`]).forEach(([G,W])=>{B.searchParams.append(G,W)});else F="POST",q=Y;let $=new Headers(this.headers);if(Q)$.set("Prefer",`count=${Q}`);return new C6({method:F,url:B,headers:$,schema:this.schemaName,body:q,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},p_={PostgrestClient:uX,PostgrestQueryBuilder:NQ,PostgrestFilterBuilder:C6,PostgrestTransformBuilder:UQ,PostgrestBuilder:VQ,PostgrestError:G4};var BH=R0(kQ(),1);var VW={};D4(VW,{validateVectorDimension:()=>bv,resolveResponse:()=>_v,resolveFetch:()=>iX,normalizeToFloat32:()=>vv,isStorageVectorsError:()=>E1,isStorageError:()=>FD,isPlainObject:()=>OW,VectorIndexScope:()=>LW,VectorIndexApi:()=>WW,VectorDataApi:()=>HW,VectorBucketScope:()=>MW,VectorBucketApi:()=>KW,StorageVectorsUnknownError:()=>GW,StorageVectorsErrorCode:()=>hv,StorageVectorsError:()=>mQ,StorageVectorsClient:()=>zW,StorageVectorsApiError:()=>lX,StorageUnknownError:()=>nX,StorageError:()=>U4,StorageClient:()=>dQ,StorageApiError:()=>wW,StorageAnalyticsClient:()=>$W});var M4=class extends Error{constructor(D,X){super(D);this.name="IcebergError",this.status=X.status,this.icebergType=X.icebergType,this.icebergCode=X.icebergCode,this.details=X.details,this.isCommitStateUnknown=X.icebergType==="CommitStateUnknownException"||[500,502,504].includes(X.status)&&X.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Mv(D,X,Y){let Z=new URL(X,D);if(Y){for(let[J,Q]of Object.entries(Y))if(Q!==void 0)Z.searchParams.set(J,Q)}return Z.toString()}async function Lv(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function Vv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Mv(D.baseUrl,Z,J),B=await Lv(D.auth),q=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...B,...w},body:Q?JSON.stringify(Q):void 0}),$=await q.text(),G=(q.headers.get("content-type")||"").includes("application/json"),W=G&&$?JSON.parse($):$;if(!q.ok){let O=G?W:void 0,H=O?.error;throw new M4(H?.message??`Request failed with status ${q.status}`,{status:q.status,icebergType:H?.type,icebergCode:H?.code,details:O})}return{status:q.status,headers:q.headers,data:W}}}}function cX(D){return D.join("\x1F")}var Uv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:cX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:X})).data.namespaces.map((Z)=>({namespace:Z}))}async createNamespace(D,X){let Y={namespace:D.namespace,properties:X?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:Y})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${cX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${cX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${cX(D.namespace)}`}),!0}catch(X){if(X instanceof M4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Nv=class{constructor(D,X="",Y){this.client=D,this.prefix=X,this.accessDelegation=Y}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`})).data.identifiers}async createTable(D,X){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`,body:X,headers:Y})).data.metadata}async updateTable(D,X){let Y=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,body:X});return{"metadata-location":Y.data["metadata-location"],metadata:Y.data.metadata}}async dropTable(D,X){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(X?.purge??!1)}})}async loadTable(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X})).data.metadata}async tableExists(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X}),!0}catch(Y){if(Y instanceof M4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},YW=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=Vv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Uv(this.client,X),this.tableOps=new Nv(this.client,X,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,X){return this.namespaceOps.createNamespace(D,X)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,X){return this.tableOps.createTable(D,X)}async updateTable(D,X){return this.tableOps.updateTable(D,X)}async dropTable(D,X){await this.tableOps.dropTable(D,X)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,X){return this.namespaceOps.createNamespaceIfNotExists(D,X)}async createTableIfNotExists(D,X){return this.tableOps.createTableIfNotExists(D,X)}};var U4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function FD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var wW=class extends U4{constructor(D,X,Y){super(D);this.name="StorageApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},nX=class extends U4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},vQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Rv=()=>{return Response},hQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>hQ(Y));else if(typeof D==="function"||D!==Object(D))return D;let X={};return Object.entries(D).forEach(([Y,Z])=>{let J=Y.replace(/([-_][a-z])/gi,(Q)=>Q.toUpperCase().replace(/[-_]/g,""));X[J]=hQ(Z)}),X},Av=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Ev=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function L4(D){return L4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},L4(D)}function Cv(D,X){if(L4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(L4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function jv(D){var X=Cv(D,"string");return L4(X)=="symbol"?X:X+""}function Tv(D,X,Y){return(X=jv(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function ZW(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function G0(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?ZW(Object(Y),!0).forEach(function(Z){Tv(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):ZW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var uQ=(D)=>{var X;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(X=D.error)===null||X===void 0?void 0:X.message)||JSON.stringify(D)},Iv=async(D,X,Y)=>{if(D instanceof await Rv()&&!(Y===null||Y===void 0?void 0:Y.noResolveJson))D.json().then((Z)=>{let J=D.status||500,Q=(Z===null||Z===void 0?void 0:Z.statusCode)||J+"";X(new wW(uQ(Z),J,Q))}).catch((Z)=>{X(new nX(uQ(Z),Z))});else X(new nX(uQ(D),D))},Pv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(Av(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;if(X===null||X===void 0?void 0:X.duplex)J.duplex=X.duplex;return G0(G0({},J),Y)};async function N4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,Pv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;return B.json()}).then((B)=>w(B)).catch((B)=>Iv(B,F,Z))})}async function V4(D,X,Y,Z){return N4(D,"GET",X,Y,Z)}async function F8(D,X,Y,Z,J){return N4(D,"POST",X,Z,J,Y)}async function _Q(D,X,Y,Z,J){return N4(D,"PUT",X,Z,J,Y)}async function Sv(D,X,Y,Z){return N4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function bQ(D,X,Y,Z,J){return N4(D,"DELETE",X,Z,J,Y)}var xv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X}then(D,X){return this.execute().then(D,X)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(FD(X))return{data:null,error:X};throw X}}},FW;FW=Symbol.toStringTag;var fv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[FW]="BlobDownloadBuilder",this.promise=null}asStream(){return new xv(this.downloadFn,this.shouldThrowOnError)}then(D,X){return this.getPromise().then(D,X)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(FD(X))return{data:null,error:X};throw X}}},yv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},JW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},kv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=vQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},JW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),B=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),B)Q.append("metadata",J.encodeMetadata(B));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if(B&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata(B))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,B)F["x-metadata"]=J.toBase64(J.encodeMetadata(B));if((typeof ReadableStream<"u"&&Q instanceof ReadableStream||Q&&typeof Q==="object"&&("pipe"in Q)&&typeof Q.pipe==="function")&&!w.duplex)w.duplex="half"}if(Z===null||Z===void 0?void 0:Z.headers)F=G0(G0({},F),Z.headers);let q=J._removeEmptyFolders(X),$=J._getFinalPath(q),G=await(D=="PUT"?_Q:F8)(J.fetch,`${J.url}/object/${$}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:q,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(FD(Q))return{data:null,error:Q};throw Q}}async upload(D,X,Y){return this.uploadOrUpdate("POST",D,X,Y)}async uploadToSignedUrl(D,X,Y,Z){var J=this;let Q=J._removeEmptyFolders(D),w=J._getFinalPath(Q),F=new URL(J.url+`/object/upload/sign/${w}`);F.searchParams.set("token",X);try{let B,q=G0({upsert:JW.upsert},Z),$=G0(G0({},J.headers),{"x-upsert":String(q.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)B=new FormData,B.append("cacheControl",q.cacheControl),B.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)B=Y,B.append("cacheControl",q.cacheControl);else B=Y,$["cache-control"]=`max-age=${q.cacheControl}`,$["content-type"]=q.contentType;return{data:{path:Q,fullPath:(await _Q(J.fetch,F.toString(),B,{headers:$})).Key},error:null}}catch(B){if(J.shouldThrowOnError)throw B;if(FD(B))return{data:null,error:B};throw B}}async createSignedUploadUrl(D,X){var Y=this;try{let Z=Y._getFinalPath(D),J=G0({},Y.headers);if(X===null||X===void 0?void 0:X.upsert)J["x-upsert"]="true";let Q=await F8(Y.fetch,`${Y.url}/object/upload/sign/${Z}`,{},{headers:J}),w=new URL(Y.url+Q.url),F=w.searchParams.get("token");if(!F)throw new U4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async update(D,X,Y){return this.uploadOrUpdate("PUT",D,X,Y)}async move(D,X,Y){var Z=this;try{return{data:await F8(Z.fetch,`${Z.url}/object/move`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers}),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await F8(Z.fetch,`${Z.url}/object/copy`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers})).Key},error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await F8(Z.fetch,`${Z.url}/object/sign/${J}`,G0({expiresIn:X},(Y===null||Y===void 0?void 0:Y.transform)?{transform:Y.transform}:{}),{headers:Z.headers}),w=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return Q={signedUrl:encodeURI(`${Z.url}${Q.signedURL}${w}`)},{data:Q,error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await F8(Z.fetch,`${Z.url}/object/sign/${Z.bucketId}`,{expiresIn:X,paths:D},{headers:Z.headers}),Q=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return{data:J.map((w)=>G0(G0({},w),{},{signedUrl:w.signedURL?encodeURI(`${Z.url}${w.signedURL}${Q}`):null})),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}download(D,X){let Y=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image/authenticated":"object",Z=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{}),J=Z?`?${Z}`:"",Q=this._getFinalPath(D);return new fv(()=>V4(this.fetch,`${this.url}/${Y}/${Q}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var X=this;let Y=X._getFinalPath(D);try{return{data:hQ(await V4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Sv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z)&&Z instanceof nX){let J=Z.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Z}}throw Z}}getPublicUrl(D,X){let Y=this._getFinalPath(D),Z=[],J=(X===null||X===void 0?void 0:X.download)?`download=${X.download===!0?"":X.download}`:"";if(J!=="")Z.push(J);let Q=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image":"object",w=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{});if(w!=="")Z.push(w);let F=Z.join("&");if(F!=="")F=`?${F}`;return{data:{publicUrl:encodeURI(`${this.url}/${Q}/public/${Y}${F}`)}}}async remove(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},yv),X),{},{prefix:D||""});return{data:await F8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await F8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let X=[];if(D.width)X.push(`width=${D.width}`);if(D.height)X.push(`height=${D.height}`);if(D.resize)X.push(`resize=${D.resize}`);if(D.format)X.push(`format=${D.format}`);if(D.quality)X.push(`quality=${D.quality}`);return X.join("&")}},BW="2.89.0",qW={"X-Client-Info":`storage-js/${BW}`},uv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1;let J=new URL(D);if(Z===null||Z===void 0?void 0:Z.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=G0(G0({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await V4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await V4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await F8(Y.fetch,`${Y.url}/bucket`,{id:D,name:D,type:X.type,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await _Q(Y.fetch,`${Y.url}/bucket/${D}`,{id:D,name:D,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}listBucketOptionsToQueryString(D){let X={};if(D){if("limit"in D)X.limit=String(D.limit);if("offset"in D)X.offset=String(D.offset);if(D.search)X.search=D.search;if(D.sortColumn)X.sortColumn=D.sortColumn;if(D.sortOrder)X.sortOrder=D.sortOrder}return Object.keys(X).length>0?"?"+new URLSearchParams(X).toString():""}},$W=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async listBuckets(D){var X=this;try{let Y=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)Y.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)Y.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)Y.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)Y.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)Y.set("search",D.search);let Z=Y.toString(),J=Z?`${X.url}/bucket?${Z}`:`${X.url}/bucket`;return{data:await V4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Ev(D))throw new U4("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let Y=new YW({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>X.headers},fetch:this.fetch}),Z=this.shouldThrowOnError;return new Proxy(Y,{get(J,Q){let w=J[Q];if(typeof w!=="function")return w;return async(...F)=>{try{return{data:await w.apply(J,F),error:null}}catch(B){if(Z)throw B;return{data:null,error:B}}}}})}},gQ={"X-Client-Info":`storage-js/${BW}`,"Content-Type":"application/json"},mQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function E1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var lX=class extends mQ{constructor(D,X,Y){super(D);this.name="StorageVectorsApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},GW=class extends mQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},hv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),iX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},_v=()=>{return Response},OW=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},vv=(D)=>{return Array.from(new Float32Array(D))},bv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},QW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),gv=async(D,X,Y)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(Y===null||Y===void 0?void 0:Y.noResolveJson)){let Z=D.status||500,J=D;if(typeof J.json==="function")J.json().then((Q)=>{let w=(Q===null||Q===void 0?void 0:Q.statusCode)||(Q===null||Q===void 0?void 0:Q.code)||Z+"";X(new lX(QW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new GW(QW(D),D))},mv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(OW(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;return G0(G0({},J),Y)};async function dv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,mv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;let q=B.headers.get("content-type");if(!q||!q.includes("application/json"))return{};return B.json()}).then((B)=>w(B)).catch((B)=>gv(B,F,Z))})}async function u1(D,X,Y,Z,J){return dv(D,"POST",X,Z,J,Y)}var WW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}},HW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var X=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await u1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async listVectors(D){var X=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await u1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteVectors(D){var X=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await u1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},KW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},zW=class extends KW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new MW(this.url,this.headers,D,this.fetch)}async createBucket(D){var X=()=>super.createBucket,Y=this;return X().call(Y,D)}async getBucket(D){var X=()=>super.getBucket,Y=this;return X().call(Y,D)}async listBuckets(D={}){var X=()=>super.listBuckets,Y=this;return X().call(Y,D)}async deleteBucket(D){var X=()=>super.deleteBucket,Y=this;return X().call(Y,D)}},MW=class extends WW{constructor(D,X,Y,Z){super(D,X,Z);this.vectorBucketName=Y}async createIndex(D){var X=()=>super.createIndex,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async listIndexes(D={}){var X=()=>super.listIndexes,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async getIndex(D){var X=()=>super.getIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}async deleteIndex(D){var X=()=>super.deleteIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}index(D){return new LW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},LW=class extends HW{constructor(D,X,Y,Z,J){super(D,X,J);this.vectorBucketName=Y,this.indexName=Z}async putVectors(D){var X=()=>super.putVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async getVectors(D){var X=()=>super.getVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async listVectors(D={}){var X=()=>super.listVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async queryVectors(D){var X=()=>super.queryVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async deleteVectors(D){var X=()=>super.deleteVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}},dQ=class extends uv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new kv(this.url,this.headers,D,this.fetch)}get vectors(){return new zW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new $W(this.url+"/iceberg",this.headers,this.fetch)}};var qH=R0($w(),1);J0(Z0,R0(kQ(),1),module.exports);J0(Z0,R0($w(),1),module.exports);var Mg="2.89.0",j4="";if(typeof Deno<"u")j4="deno";else if(typeof document<"u")j4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")j4="react-native";else j4="node";var Lg={"X-Client-Info":`supabase-js-${j4}/${Mg}`},Vg={headers:Lg},Ug={schema:"public"},Ng={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Rg={};function T4(D){return T4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},T4(D)}function Ag(D,X){if(T4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(T4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Eg(D){var X=Ag(D,"string");return T4(X)=="symbol"?X:X+""}function Cg(D,X,Y){return(X=Eg(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function FH(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function UD(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?FH(Object(Y),!0).forEach(function(Z){Cg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):FH(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var jg=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Tg=()=>{return Headers},Ig=(D,X,Y)=>{let Z=jg(Y),J=Tg();return async(Q,w)=>{var F;let B=(F=await X())!==null&&F!==void 0?F:D,q=new J(w===null||w===void 0?void 0:w.headers);if(!q.has("apikey"))q.set("apikey",D);if(!q.has("Authorization"))q.set("Authorization",`Bearer ${B}`);return Z(Q,UD(UD({},w),{},{headers:q}))}};function Pg(D){return D.endsWith("/")?D:D+"/"}function Sg(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:B,auth:q,realtime:$,global:G}=X,W={db:UD(UD({},B),J),auth:UD(UD({},q),Q),realtime:UD(UD({},$),w),storage:{},global:UD(UD(UD({},G),F),{},{headers:UD(UD({},(Y=G===null||G===void 0?void 0:G.headers)!==null&&Y!==void 0?Y:{}),(Z=F===null||F===void 0?void 0:F.headers)!==null&&Z!==void 0?Z:{})}),accessToken:async()=>""};if(D.accessToken)W.accessToken=D.accessToken;else delete W.accessToken;return W}function xg(D){let X=D===null||D===void 0?void 0:D.trim();if(!X)throw Error("supabaseUrl is required.");if(!X.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(Pg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var fg=class extends qH.AuthClient{constructor(D){super(D)}},$H=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=xg(D);if(!X)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",Q),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",Q),this.storageUrl=new URL("storage/v1",Q),this.functionsUrl=new URL("functions/v1",Q);let w=`sb-${Q.hostname.split(".")[0]}-auth-token`,F={db:Ug,realtime:Rg,auth:UD(UD({},Ng),{},{storageKey:w}),global:Vg},B=Sg(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=B.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=B.global.headers)!==null&&J!==void 0?J:{},!B.accessToken){var q;this.auth=this._initSupabaseAuthClient((q=B.auth)!==null&&q!==void 0?q:{},this.headers,B.global.fetch)}else this.accessToken=B.accessToken,this.auth=new Proxy({},{get:($,G)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(G)} is not possible`)}});if(this.fetch=Ig(X,this._getAccessToken.bind(this),B.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},B.realtime)),this.accessToken)this.accessToken().then(($)=>this.realtime.setAuth($)).catch(($)=>console.warn("Failed to set initial Realtime auth token:",$));if(this.rest=new uX(new URL("rest/v1",Q).href,{headers:this.headers,schema:B.db.schema,fetch:this.fetch}),this.storage=new dQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!B.accessToken)this._listenForAuthEvents()}get functions(){return new D1.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,X={},Y={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,X,Y)}channel(D,X={config:{}}){return this.realtime.channel(D,X)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,X,Y;if(D.accessToken)return await D.accessToken();let{data:Z}=await D.auth.getSession();return(X=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token)!==null&&X!==void 0?X:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,storageKey:Q,flowType:w,lock:F,debug:B,throwOnError:q},$,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new fg({url:this.authUrl.href,headers:UD(UD({},W),$),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:B,throwOnError:q,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new BH.RealtimeClient(this.realtimeUrl.href,UD(UD({},D),{},{params:UD(UD({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,X)=>{this._handleTokenChanged(D,"CLIENT",X===null||X===void 0?void 0:X.access_token)})}_handleTokenChanged(D,X,Y){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==Y)this.changedAccessToken=Y,this.realtime.setAuth(Y);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),X=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},Gw=(D,X,Y)=>{return new $H(D,X,Y)};function yg(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let X=D.match(/^v(\d+)\./);if(!X)return!1;return parseInt(X[1],10)<=18}if(yg())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var f$=R0(Mw(),1),Sy=R0(LK(),1),GJ=R0($Z(),1);var o8={name:"@capgo/cli",type:"module",version:"7.71.11",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:checksum && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};async function GZ(D){try{let Y=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Z=await fetch(Y,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Z.ok)return null;return(await Z.json())["dist-tags"]?.latest||null}catch{return null}}async function o0(){let D=await GZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==o8.version)K.warning(`\uD83D\uDEA8 You are using @capgo/cli@${o8.version} it's not the latest version.
314
+ ${B.stack}`}else{var O;F=(O=Q===null||Q===void 0?void 0:Q.stack)!==null&&O!==void 0?O:""}return{error:{message:`${(w=Q===null||Q===void 0?void 0:Q.name)!==null&&w!==void 0?w:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,details:F,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,X)}returns(){return this}overrideTypes(){return this}},UQ=class extends VQ{select(D){let X=!1,Y=(D!==null&&D!==void 0?D:"*").split("").map((Z)=>{if(/\s/.test(Z)&&!X)return"";if(Z==='"')X=!X;return Z}).join("");return this.url.searchParams.set("select",Y),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:X=!0,nullsFirst:Y,foreignTable:Z,referencedTable:J=Z}={}){let Q=J?`${J}.order`:"order",w=this.url.searchParams.get(Q);return this.url.searchParams.set(Q,`${w?`${w},`:""}${D}.${X?"asc":"desc"}${Y===void 0?"":Y?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=typeof Y>"u"?"limit":`${Y}.limit`;return this.url.searchParams.set(Z,`${D}`),this}range(D,X,{foreignTable:Y,referencedTable:Z=Y}={}){let J=typeof Z>"u"?"offset":`${Z}.offset`,Q=typeof Z>"u"?"limit":`${Z}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(Q,`${X-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:X=!1,settings:Y=!1,buffers:Z=!1,wal:J=!1,format:Q="text"}={}){var w;let F=[D?"analyze":null,X?"verbose":null,Y?"settings":null,Z?"buffers":null,J?"wal":null].filter(Boolean).join("|"),B=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${B}"; options=${F};`),Q==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},hO=new RegExp("[,()]"),C6=class extends UQ{eq(D,X){return this.url.searchParams.append(D,`eq.${X}`),this}neq(D,X){return this.url.searchParams.append(D,`neq.${X}`),this}gt(D,X){return this.url.searchParams.append(D,`gt.${X}`),this}gte(D,X){return this.url.searchParams.append(D,`gte.${X}`),this}lt(D,X){return this.url.searchParams.append(D,`lt.${X}`),this}lte(D,X){return this.url.searchParams.append(D,`lte.${X}`),this}like(D,X){return this.url.searchParams.append(D,`like.${X}`),this}likeAllOf(D,X){return this.url.searchParams.append(D,`like(all).{${X.join(",")}}`),this}likeAnyOf(D,X){return this.url.searchParams.append(D,`like(any).{${X.join(",")}}`),this}ilike(D,X){return this.url.searchParams.append(D,`ilike.${X}`),this}ilikeAllOf(D,X){return this.url.searchParams.append(D,`ilike(all).{${X.join(",")}}`),this}ilikeAnyOf(D,X){return this.url.searchParams.append(D,`ilike(any).{${X.join(",")}}`),this}regexMatch(D,X){return this.url.searchParams.append(D,`match.${X}`),this}regexIMatch(D,X){return this.url.searchParams.append(D,`imatch.${X}`),this}is(D,X){return this.url.searchParams.append(D,`is.${X}`),this}isDistinct(D,X){return this.url.searchParams.append(D,`isdistinct.${X}`),this}in(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&hO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`in.(${Y})`),this}notIn(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&hO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`not.in.(${Y})`),this}contains(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cs.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cs.{${X.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(X)}`);return this}containedBy(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cd.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cd.{${X.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(X)}`);return this}rangeGt(D,X){return this.url.searchParams.append(D,`sr.${X}`),this}rangeGte(D,X){return this.url.searchParams.append(D,`nxl.${X}`),this}rangeLt(D,X){return this.url.searchParams.append(D,`sl.${X}`),this}rangeLte(D,X){return this.url.searchParams.append(D,`nxr.${X}`),this}rangeAdjacent(D,X){return this.url.searchParams.append(D,`adj.${X}`),this}overlaps(D,X){if(typeof X==="string")this.url.searchParams.append(D,`ov.${X}`);else this.url.searchParams.append(D,`ov.{${X.join(",")}}`);return this}textSearch(D,X,{config:Y,type:Z}={}){let J="";if(Z==="plain")J="pl";else if(Z==="phrase")J="ph";else if(Z==="websearch")J="w";let Q=Y===void 0?"":`(${Y})`;return this.url.searchParams.append(D,`${J}fts${Q}.${X}`),this}match(D){return Object.entries(D).forEach(([X,Y])=>{this.url.searchParams.append(X,`eq.${Y}`)}),this}not(D,X,Y){return this.url.searchParams.append(D,`not.${X}.${Y}`),this}or(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=Y?`${Y}.or`:"or";return this.url.searchParams.append(Z,`(${D})`),this}filter(D,X,Y){return this.url.searchParams.append(D,`${X}.${Y}`),this}},NQ=class{constructor(D,{headers:X={},schema:Y,fetch:Z}){this.url=D,this.headers=new Headers(X),this.schema=Y,this.fetch=Z}select(D,X){let{head:Y=!1,count:Z}=X!==null&&X!==void 0?X:{},J=Y?"HEAD":"GET",Q=!1,w=(D!==null&&D!==void 0?D:"*").split("").map((F)=>{if(/\s/.test(F)&&!Q)return"";if(F==='"')Q=!Q;return F}).join("");if(this.url.searchParams.set("select",w),Z)this.headers.append("Prefer",`count=${Z}`);return new C6({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:X,defaultToNull:Y=!0}={}){var Z;let J="POST";if(X)this.headers.append("Prefer",`count=${X}`);if(!Y)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let Q=D.reduce((w,F)=>w.concat(Object.keys(F)),[]);if(Q.length>0){let w=[...new Set(Q)].map((F)=>`"${F}"`);this.url.searchParams.set("columns",w.join(","))}}return new C6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Z=this.fetch)!==null&&Z!==void 0?Z:fetch})}upsert(D,{onConflict:X,ignoreDuplicates:Y=!1,count:Z,defaultToNull:J=!0}={}){var Q;let w="POST";if(this.headers.append("Prefer",`resolution=${Y?"ignore":"merge"}-duplicates`),X!==void 0)this.url.searchParams.set("on_conflict",X);if(Z)this.headers.append("Prefer",`count=${Z}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let F=D.reduce((B,q)=>B.concat(Object.keys(q)),[]);if(F.length>0){let B=[...new Set(F)].map((q)=>`"${q}"`);this.url.searchParams.set("columns",B.join(","))}}return new C6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}update(D,{count:X}={}){var Y;let Z="PATCH";if(X)this.headers.append("Prefer",`count=${X}`);return new C6({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}delete({count:D}={}){var X;let Y="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new C6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},uX=class D{constructor(X,{headers:Y={},schema:Z,fetch:J}={}){this.url=X,this.headers=new Headers(Y),this.schemaName=Z,this.fetch=J}from(X){if(!X||typeof X!=="string"||X.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new NQ(new URL(`${this.url}/${X}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(X){return new D(this.url,{headers:this.headers,schema:X,fetch:this.fetch})}rpc(X,Y={},{head:Z=!1,get:J=!1,count:Q}={}){var w;let F,B=new URL(`${this.url}/rpc/${X}`),q;if(Z||J)F=Z?"HEAD":"GET",Object.entries(Y).filter(([G,W])=>W!==void 0).map(([G,W])=>[G,Array.isArray(W)?`{${W.join(",")}}`:`${W}`]).forEach(([G,W])=>{B.searchParams.append(G,W)});else F="POST",q=Y;let $=new Headers(this.headers);if(Q)$.set("Prefer",`count=${Q}`);return new C6({method:F,url:B,headers:$,schema:this.schemaName,body:q,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},p_={PostgrestClient:uX,PostgrestQueryBuilder:NQ,PostgrestFilterBuilder:C6,PostgrestTransformBuilder:UQ,PostgrestBuilder:VQ,PostgrestError:G4};var BH=R0(kQ(),1);var VW={};D4(VW,{validateVectorDimension:()=>bv,resolveResponse:()=>_v,resolveFetch:()=>iX,normalizeToFloat32:()=>vv,isStorageVectorsError:()=>E1,isStorageError:()=>FD,isPlainObject:()=>OW,VectorIndexScope:()=>LW,VectorIndexApi:()=>WW,VectorDataApi:()=>HW,VectorBucketScope:()=>MW,VectorBucketApi:()=>KW,StorageVectorsUnknownError:()=>GW,StorageVectorsErrorCode:()=>hv,StorageVectorsError:()=>mQ,StorageVectorsClient:()=>zW,StorageVectorsApiError:()=>lX,StorageUnknownError:()=>nX,StorageError:()=>U4,StorageClient:()=>dQ,StorageApiError:()=>wW,StorageAnalyticsClient:()=>$W});var M4=class extends Error{constructor(D,X){super(D);this.name="IcebergError",this.status=X.status,this.icebergType=X.icebergType,this.icebergCode=X.icebergCode,this.details=X.details,this.isCommitStateUnknown=X.icebergType==="CommitStateUnknownException"||[500,502,504].includes(X.status)&&X.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Mv(D,X,Y){let Z=new URL(X,D);if(Y){for(let[J,Q]of Object.entries(Y))if(Q!==void 0)Z.searchParams.set(J,Q)}return Z.toString()}async function Lv(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function Vv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Mv(D.baseUrl,Z,J),B=await Lv(D.auth),q=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...B,...w},body:Q?JSON.stringify(Q):void 0}),$=await q.text(),G=(q.headers.get("content-type")||"").includes("application/json"),W=G&&$?JSON.parse($):$;if(!q.ok){let O=G?W:void 0,H=O?.error;throw new M4(H?.message??`Request failed with status ${q.status}`,{status:q.status,icebergType:H?.type,icebergCode:H?.code,details:O})}return{status:q.status,headers:q.headers,data:W}}}}function cX(D){return D.join("\x1F")}var Uv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:cX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:X})).data.namespaces.map((Z)=>({namespace:Z}))}async createNamespace(D,X){let Y={namespace:D.namespace,properties:X?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:Y})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${cX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${cX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${cX(D.namespace)}`}),!0}catch(X){if(X instanceof M4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Nv=class{constructor(D,X="",Y){this.client=D,this.prefix=X,this.accessDelegation=Y}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`})).data.identifiers}async createTable(D,X){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`,body:X,headers:Y})).data.metadata}async updateTable(D,X){let Y=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,body:X});return{"metadata-location":Y.data["metadata-location"],metadata:Y.data.metadata}}async dropTable(D,X){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(X?.purge??!1)}})}async loadTable(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X})).data.metadata}async tableExists(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X}),!0}catch(Y){if(Y instanceof M4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},YW=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=Vv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Uv(this.client,X),this.tableOps=new Nv(this.client,X,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,X){return this.namespaceOps.createNamespace(D,X)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,X){return this.tableOps.createTable(D,X)}async updateTable(D,X){return this.tableOps.updateTable(D,X)}async dropTable(D,X){await this.tableOps.dropTable(D,X)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,X){return this.namespaceOps.createNamespaceIfNotExists(D,X)}async createTableIfNotExists(D,X){return this.tableOps.createTableIfNotExists(D,X)}};var U4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function FD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var wW=class extends U4{constructor(D,X,Y){super(D);this.name="StorageApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},nX=class extends U4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},vQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Rv=()=>{return Response},hQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>hQ(Y));else if(typeof D==="function"||D!==Object(D))return D;let X={};return Object.entries(D).forEach(([Y,Z])=>{let J=Y.replace(/([-_][a-z])/gi,(Q)=>Q.toUpperCase().replace(/[-_]/g,""));X[J]=hQ(Z)}),X},Av=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Ev=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function L4(D){return L4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},L4(D)}function Cv(D,X){if(L4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(L4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function jv(D){var X=Cv(D,"string");return L4(X)=="symbol"?X:X+""}function Tv(D,X,Y){return(X=jv(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function ZW(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function G0(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?ZW(Object(Y),!0).forEach(function(Z){Tv(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):ZW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var uQ=(D)=>{var X;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(X=D.error)===null||X===void 0?void 0:X.message)||JSON.stringify(D)},Iv=async(D,X,Y)=>{if(D instanceof await Rv()&&!(Y===null||Y===void 0?void 0:Y.noResolveJson))D.json().then((Z)=>{let J=D.status||500,Q=(Z===null||Z===void 0?void 0:Z.statusCode)||J+"";X(new wW(uQ(Z),J,Q))}).catch((Z)=>{X(new nX(uQ(Z),Z))});else X(new nX(uQ(D),D))},Pv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(Av(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;if(X===null||X===void 0?void 0:X.duplex)J.duplex=X.duplex;return G0(G0({},J),Y)};async function N4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,Pv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;return B.json()}).then((B)=>w(B)).catch((B)=>Iv(B,F,Z))})}async function V4(D,X,Y,Z){return N4(D,"GET",X,Y,Z)}async function F8(D,X,Y,Z,J){return N4(D,"POST",X,Z,J,Y)}async function _Q(D,X,Y,Z,J){return N4(D,"PUT",X,Z,J,Y)}async function Sv(D,X,Y,Z){return N4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function bQ(D,X,Y,Z,J){return N4(D,"DELETE",X,Z,J,Y)}var xv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X}then(D,X){return this.execute().then(D,X)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(FD(X))return{data:null,error:X};throw X}}},FW;FW=Symbol.toStringTag;var fv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[FW]="BlobDownloadBuilder",this.promise=null}asStream(){return new xv(this.downloadFn,this.shouldThrowOnError)}then(D,X){return this.getPromise().then(D,X)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(FD(X))return{data:null,error:X};throw X}}},yv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},JW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},kv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=vQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},JW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),B=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),B)Q.append("metadata",J.encodeMetadata(B));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if(B&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata(B))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,B)F["x-metadata"]=J.toBase64(J.encodeMetadata(B));if((typeof ReadableStream<"u"&&Q instanceof ReadableStream||Q&&typeof Q==="object"&&("pipe"in Q)&&typeof Q.pipe==="function")&&!w.duplex)w.duplex="half"}if(Z===null||Z===void 0?void 0:Z.headers)F=G0(G0({},F),Z.headers);let q=J._removeEmptyFolders(X),$=J._getFinalPath(q),G=await(D=="PUT"?_Q:F8)(J.fetch,`${J.url}/object/${$}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:q,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(FD(Q))return{data:null,error:Q};throw Q}}async upload(D,X,Y){return this.uploadOrUpdate("POST",D,X,Y)}async uploadToSignedUrl(D,X,Y,Z){var J=this;let Q=J._removeEmptyFolders(D),w=J._getFinalPath(Q),F=new URL(J.url+`/object/upload/sign/${w}`);F.searchParams.set("token",X);try{let B,q=G0({upsert:JW.upsert},Z),$=G0(G0({},J.headers),{"x-upsert":String(q.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)B=new FormData,B.append("cacheControl",q.cacheControl),B.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)B=Y,B.append("cacheControl",q.cacheControl);else B=Y,$["cache-control"]=`max-age=${q.cacheControl}`,$["content-type"]=q.contentType;return{data:{path:Q,fullPath:(await _Q(J.fetch,F.toString(),B,{headers:$})).Key},error:null}}catch(B){if(J.shouldThrowOnError)throw B;if(FD(B))return{data:null,error:B};throw B}}async createSignedUploadUrl(D,X){var Y=this;try{let Z=Y._getFinalPath(D),J=G0({},Y.headers);if(X===null||X===void 0?void 0:X.upsert)J["x-upsert"]="true";let Q=await F8(Y.fetch,`${Y.url}/object/upload/sign/${Z}`,{},{headers:J}),w=new URL(Y.url+Q.url),F=w.searchParams.get("token");if(!F)throw new U4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async update(D,X,Y){return this.uploadOrUpdate("PUT",D,X,Y)}async move(D,X,Y){var Z=this;try{return{data:await F8(Z.fetch,`${Z.url}/object/move`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers}),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await F8(Z.fetch,`${Z.url}/object/copy`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers})).Key},error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await F8(Z.fetch,`${Z.url}/object/sign/${J}`,G0({expiresIn:X},(Y===null||Y===void 0?void 0:Y.transform)?{transform:Y.transform}:{}),{headers:Z.headers}),w=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return Q={signedUrl:encodeURI(`${Z.url}${Q.signedURL}${w}`)},{data:Q,error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await F8(Z.fetch,`${Z.url}/object/sign/${Z.bucketId}`,{expiresIn:X,paths:D},{headers:Z.headers}),Q=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return{data:J.map((w)=>G0(G0({},w),{},{signedUrl:w.signedURL?encodeURI(`${Z.url}${w.signedURL}${Q}`):null})),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}download(D,X){let Y=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image/authenticated":"object",Z=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{}),J=Z?`?${Z}`:"",Q=this._getFinalPath(D);return new fv(()=>V4(this.fetch,`${this.url}/${Y}/${Q}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var X=this;let Y=X._getFinalPath(D);try{return{data:hQ(await V4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Sv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z)&&Z instanceof nX){let J=Z.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Z}}throw Z}}getPublicUrl(D,X){let Y=this._getFinalPath(D),Z=[],J=(X===null||X===void 0?void 0:X.download)?`download=${X.download===!0?"":X.download}`:"";if(J!=="")Z.push(J);let Q=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image":"object",w=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{});if(w!=="")Z.push(w);let F=Z.join("&");if(F!=="")F=`?${F}`;return{data:{publicUrl:encodeURI(`${this.url}/${Q}/public/${Y}${F}`)}}}async remove(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},yv),X),{},{prefix:D||""});return{data:await F8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await F8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let X=[];if(D.width)X.push(`width=${D.width}`);if(D.height)X.push(`height=${D.height}`);if(D.resize)X.push(`resize=${D.resize}`);if(D.format)X.push(`format=${D.format}`);if(D.quality)X.push(`quality=${D.quality}`);return X.join("&")}},BW="2.89.0",qW={"X-Client-Info":`storage-js/${BW}`},uv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1;let J=new URL(D);if(Z===null||Z===void 0?void 0:Z.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=G0(G0({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await V4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await V4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await F8(Y.fetch,`${Y.url}/bucket`,{id:D,name:D,type:X.type,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await _Q(Y.fetch,`${Y.url}/bucket/${D}`,{id:D,name:D,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}listBucketOptionsToQueryString(D){let X={};if(D){if("limit"in D)X.limit=String(D.limit);if("offset"in D)X.offset=String(D.offset);if(D.search)X.search=D.search;if(D.sortColumn)X.sortColumn=D.sortColumn;if(D.sortOrder)X.sortOrder=D.sortOrder}return Object.keys(X).length>0?"?"+new URLSearchParams(X).toString():""}},$W=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async listBuckets(D){var X=this;try{let Y=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)Y.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)Y.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)Y.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)Y.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)Y.set("search",D.search);let Z=Y.toString(),J=Z?`${X.url}/bucket?${Z}`:`${X.url}/bucket`;return{data:await V4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Ev(D))throw new U4("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let Y=new YW({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>X.headers},fetch:this.fetch}),Z=this.shouldThrowOnError;return new Proxy(Y,{get(J,Q){let w=J[Q];if(typeof w!=="function")return w;return async(...F)=>{try{return{data:await w.apply(J,F),error:null}}catch(B){if(Z)throw B;return{data:null,error:B}}}}})}},gQ={"X-Client-Info":`storage-js/${BW}`,"Content-Type":"application/json"},mQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function E1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var lX=class extends mQ{constructor(D,X,Y){super(D);this.name="StorageVectorsApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},GW=class extends mQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},hv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),iX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},_v=()=>{return Response},OW=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},vv=(D)=>{return Array.from(new Float32Array(D))},bv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},QW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),gv=async(D,X,Y)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(Y===null||Y===void 0?void 0:Y.noResolveJson)){let Z=D.status||500,J=D;if(typeof J.json==="function")J.json().then((Q)=>{let w=(Q===null||Q===void 0?void 0:Q.statusCode)||(Q===null||Q===void 0?void 0:Q.code)||Z+"";X(new lX(QW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new GW(QW(D),D))},mv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(OW(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;return G0(G0({},J),Y)};async function dv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,mv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;let q=B.headers.get("content-type");if(!q||!q.includes("application/json"))return{};return B.json()}).then((B)=>w(B)).catch((B)=>gv(B,F,Z))})}async function u1(D,X,Y,Z,J){return dv(D,"POST",X,Z,J,Y)}var WW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}},HW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var X=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await u1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async listVectors(D){var X=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await u1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteVectors(D){var X=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await u1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},KW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},zW=class extends KW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new MW(this.url,this.headers,D,this.fetch)}async createBucket(D){var X=()=>super.createBucket,Y=this;return X().call(Y,D)}async getBucket(D){var X=()=>super.getBucket,Y=this;return X().call(Y,D)}async listBuckets(D={}){var X=()=>super.listBuckets,Y=this;return X().call(Y,D)}async deleteBucket(D){var X=()=>super.deleteBucket,Y=this;return X().call(Y,D)}},MW=class extends WW{constructor(D,X,Y,Z){super(D,X,Z);this.vectorBucketName=Y}async createIndex(D){var X=()=>super.createIndex,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async listIndexes(D={}){var X=()=>super.listIndexes,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async getIndex(D){var X=()=>super.getIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}async deleteIndex(D){var X=()=>super.deleteIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}index(D){return new LW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},LW=class extends HW{constructor(D,X,Y,Z,J){super(D,X,J);this.vectorBucketName=Y,this.indexName=Z}async putVectors(D){var X=()=>super.putVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async getVectors(D){var X=()=>super.getVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async listVectors(D={}){var X=()=>super.listVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async queryVectors(D){var X=()=>super.queryVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async deleteVectors(D){var X=()=>super.deleteVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}},dQ=class extends uv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new kv(this.url,this.headers,D,this.fetch)}get vectors(){return new zW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new $W(this.url+"/iceberg",this.headers,this.fetch)}};var qH=R0($w(),1);J0(Z0,R0(kQ(),1),module.exports);J0(Z0,R0($w(),1),module.exports);var Mg="2.89.0",j4="";if(typeof Deno<"u")j4="deno";else if(typeof document<"u")j4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")j4="react-native";else j4="node";var Lg={"X-Client-Info":`supabase-js-${j4}/${Mg}`},Vg={headers:Lg},Ug={schema:"public"},Ng={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Rg={};function T4(D){return T4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},T4(D)}function Ag(D,X){if(T4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(T4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Eg(D){var X=Ag(D,"string");return T4(X)=="symbol"?X:X+""}function Cg(D,X,Y){return(X=Eg(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function FH(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function UD(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?FH(Object(Y),!0).forEach(function(Z){Cg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):FH(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var jg=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Tg=()=>{return Headers},Ig=(D,X,Y)=>{let Z=jg(Y),J=Tg();return async(Q,w)=>{var F;let B=(F=await X())!==null&&F!==void 0?F:D,q=new J(w===null||w===void 0?void 0:w.headers);if(!q.has("apikey"))q.set("apikey",D);if(!q.has("Authorization"))q.set("Authorization",`Bearer ${B}`);return Z(Q,UD(UD({},w),{},{headers:q}))}};function Pg(D){return D.endsWith("/")?D:D+"/"}function Sg(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:B,auth:q,realtime:$,global:G}=X,W={db:UD(UD({},B),J),auth:UD(UD({},q),Q),realtime:UD(UD({},$),w),storage:{},global:UD(UD(UD({},G),F),{},{headers:UD(UD({},(Y=G===null||G===void 0?void 0:G.headers)!==null&&Y!==void 0?Y:{}),(Z=F===null||F===void 0?void 0:F.headers)!==null&&Z!==void 0?Z:{})}),accessToken:async()=>""};if(D.accessToken)W.accessToken=D.accessToken;else delete W.accessToken;return W}function xg(D){let X=D===null||D===void 0?void 0:D.trim();if(!X)throw Error("supabaseUrl is required.");if(!X.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(Pg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var fg=class extends qH.AuthClient{constructor(D){super(D)}},$H=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=xg(D);if(!X)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",Q),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",Q),this.storageUrl=new URL("storage/v1",Q),this.functionsUrl=new URL("functions/v1",Q);let w=`sb-${Q.hostname.split(".")[0]}-auth-token`,F={db:Ug,realtime:Rg,auth:UD(UD({},Ng),{},{storageKey:w}),global:Vg},B=Sg(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=B.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=B.global.headers)!==null&&J!==void 0?J:{},!B.accessToken){var q;this.auth=this._initSupabaseAuthClient((q=B.auth)!==null&&q!==void 0?q:{},this.headers,B.global.fetch)}else this.accessToken=B.accessToken,this.auth=new Proxy({},{get:($,G)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(G)} is not possible`)}});if(this.fetch=Ig(X,this._getAccessToken.bind(this),B.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},B.realtime)),this.accessToken)this.accessToken().then(($)=>this.realtime.setAuth($)).catch(($)=>console.warn("Failed to set initial Realtime auth token:",$));if(this.rest=new uX(new URL("rest/v1",Q).href,{headers:this.headers,schema:B.db.schema,fetch:this.fetch}),this.storage=new dQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!B.accessToken)this._listenForAuthEvents()}get functions(){return new D1.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,X={},Y={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,X,Y)}channel(D,X={config:{}}){return this.realtime.channel(D,X)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,X,Y;if(D.accessToken)return await D.accessToken();let{data:Z}=await D.auth.getSession();return(X=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token)!==null&&X!==void 0?X:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,storageKey:Q,flowType:w,lock:F,debug:B,throwOnError:q},$,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new fg({url:this.authUrl.href,headers:UD(UD({},W),$),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:B,throwOnError:q,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new BH.RealtimeClient(this.realtimeUrl.href,UD(UD({},D),{},{params:UD(UD({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,X)=>{this._handleTokenChanged(D,"CLIENT",X===null||X===void 0?void 0:X.access_token)})}_handleTokenChanged(D,X,Y){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==Y)this.changedAccessToken=Y,this.realtime.setAuth(Y);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),X=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},Gw=(D,X,Y)=>{return new $H(D,X,Y)};function yg(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let X=D.match(/^v(\d+)\./);if(!X)return!1;return parseInt(X[1],10)<=18}if(yg())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var f$=R0(Mw(),1),Sy=R0(LK(),1),GJ=R0($Z(),1);var o8={name:"@capgo/cli",type:"module",version:"7.71.12",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:checksum && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};async function GZ(D){try{let Y=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Z=await fetch(Y,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Z.ok)return null;return(await Z.json())["dist-tags"]?.latest||null}catch{return null}}async function o0(){let D=await GZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==o8.version)K.warning(`\uD83D\uDEA8 You are using @capgo/cli@${o8.version} it's not the latest version.
315
315
  Please use @capgo/cli@${D}" or @capgo/cli@${X} to keep up to date with the latest features and bug fixes.`)}async function CL(D,X,Y,Z,J,Q="✅"){await z0(Y,{channel:D,event:Z,icon:Q,user_id:X,...J?{tags:{"app-id":J}}:{},notify:!1})}var yF=require("node:buffer"),jL=require("node:crypto"),Ba=(()=>{let D=[];for(let X=0;X<256;X++){let Y=X;for(let Z=0;Z<8;Z++)Y=Y&1?3988292384^Y>>>1:Y>>>1;D[X]=Y}return D})();function qa(D){let X=4294967295;for(let Y=0;Y<D.length;Y++){let Z=D[Y];X=Ba[(X^Z)&255]^X>>>8}return X=X^4294967295,(X>>>0).toString(16).padStart(8,"0")}async function y6(D,X="sha256"){let Y=yF.Buffer.isBuffer(D)?D:yF.Buffer.from(D);if(X==="crc32")return qa(Y);let Z=jL.createHash(X);return Z.update(Y),Z.digest("hex")}var r3=R0(hf(),1);async function _f(){let D=await r3.loadConfig();return{config:D.app.extConfig,path:D.app.extConfigFilePath}}async function B$(D,X,Y=!1){let Z=await r3.loadConfig(),{extConfig:J}=Z.app;if(J){if(!J.plugins)J.plugins={extConfig:{},[D]:{}};if(!J.plugins[D])J.plugins[D]={};if(!Y)J.plugins[D]=X.config.plugins?.[D];else J=X.config;r3.writeConfig(J,Z.app.extConfigFilePath)}}async function h7(D,X=!1){await B$("CapacitorUpdater",D,X)}var _7={ORG_REQUIRES_EXPIRING_KEY:"org_requires_expiring_key",EXPIRATION_REQUIRED:"expiration_required",EXPIRATION_EXCEEDS_MAX:"expiration_exceeds_max"},s3={[_7.ORG_REQUIRES_EXPIRING_KEY]:`This organization requires API keys with expiration dates.
316
316
 
317
317
  Please generate a new API key with an expiration:
@@ -398,7 +398,7 @@ All packages are compatible with channel "${w}"`)}return{finalCompatibility:B.fi
398
398
  The bundle size is ${A} Mb, this may take a while to download for users
399
399
  `),K.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
400
400
  `),X.verbose)K.info("[Verbose] Bundle size details:"),K.info(` - Actual size: ${A} MB (${G?.byteLength} bytes)`),K.info(` - Alert threshold: ${Math.floor(w/1024/1024)} MB`),K.info(` - Maximum allowed: ${k} MB`),K.info("[Verbose] Sending 'App Too Large' event to analytics...");if(await z0(Y,{channel:"app-error",event:"App Too Large",icon:"\uD83D\uDE9B",user_id:Z,tags:{"app-id":J},notify:!1},X.verbose),X.verbose)K.info("[Verbose] Event sent successfully")}else if(X.verbose)K.info(`[Verbose] Bundle size OK: ${A} MB (under ${Math.floor(w/1024/1024)} MB alert threshold)`);if(X.verbose)K.info("[Verbose] Bundle preparation complete, returning bundle data");return{zipped:G,ivSessionKey:B,sessionKey:q,checksum:$,encryptionMethod:W,finalKeyData:O,keyId:H}}async function gX0(D,X,Y,Z,J,Q,w,F){let B=xD();B.start("Uploading Bundle");let q=performance.now(),$=!1;if(w.verbose)K.info("[Verbose] uploadBundleToCapgoCloud called:"),K.info(` - Bundle size: ${Math.floor(Q.byteLength/1024)} KB`),K.info(` - App ID: ${Y}`),K.info(` - Bundle version: ${Z}`),K.info(` - Chunk size: ${Math.floor(F/1024/1024)} MB`);if(w.dryUpload){if(B.stop(`Dry run, bundle not uploaded
401
- Bundle uploaded \uD83D\uDCAA in 0 seconds`),w.verbose)K.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let O=await C8();if(w.verbose)K.info("[Verbose] Local config retrieved for upload");if(w.multipart!==void 0&&w.multipart||w.tus!==void 0&&w.tus){if(w.multipart)K.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else K.info("Uploading bundle with TUS protocol");if(w.verbose)K.info("[Verbose] Starting TUS resumable upload..."),K.info(` - Host: ${O.hostWeb}`),K.info(` - Chunk size: ${Math.floor(F/1024/1024)} MB`);if(await cy(D,Q,J,Y,Z,B,O,F),$=!0,w.verbose)K.info("[Verbose] TUS upload completed, updating database with R2 path...");let H=`orgs/${J}/apps/${Y}/${Z}.zip`,{error:M}=await X.from("app_versions").update({r2_path:H}).eq("name",Z).eq("app_id",Y);if(M){if(K.error(`Cannot finish TUS upload ${p(M)}`),w.verbose)K.info(`[Verbose] Database update failed: ${p(M)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if(w.verbose)K.info(`[Verbose] Database updated with R2 path: ${H}`)}else{if(w.verbose)K.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let H=await gy(X,Y,Z);if(!H){if(K.error("Cannot get upload url"),w.verbose)K.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if(w.verbose)K.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),K.info(` - Timeout: ${w.timeout||y$}ms`),K.info(" - Retry attempts: 5"),K.info(" - Content-Type: application/zip");let M=new AbortController,U=setTimeout(()=>M.abort(),w.timeout||y$);try{let N=await fetch(H,{method:"PUT",body:Q,headers:{"Content-Type":"application/zip"},signal:M.signal});if(!N.ok)throw Error(`HTTP error! status: ${N.status}`)}finally{clearTimeout(U)}if(w.verbose)K.info("[Verbose] HTTP PUT upload completed successfully")}}catch(O){let M=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${M} seconds)`),w.verbose)K.info(`[Verbose] Upload failed after ${M} seconds`),K.info(`[Verbose] Error type: ${O instanceof Error?"Error":typeof O}`);if(O instanceof Error&&O.message.includes("HTTP error"))try{let U=O.message.match(/status: (\d+)/),N=U?U[1]:"unknown";K.error(`Upload failed with status ${N}: ${O.message}`)}catch{K.error(`Upload failed: ${O.message}`)}else{if(w.verbose)K.info(`[Verbose] Non-HTTP error: ${p(O)}`);if(!w.tus)K.error(`Cannot upload bundle ( try again with --tus option) ${p(O)}`);else K.error(`Cannot upload bundle please contact support if the issue persists ${p(O)}`)}if(w.verbose)K.info("[Verbose] Cleaning up failed version from database...");if(await ly(X,Y,Z),w.verbose)K.info("[Verbose] Failed version cleaned up");throw O instanceof Error?O:Error(String(O))}let W=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${W} seconds)`),w.verbose)K.info("[Verbose] Upload successful:"),K.info(` - Upload time: ${W} seconds`),K.info(` - Upload method: ${$?"TUS (resumable)":"Standard HTTP PUT"}`),K.info(` - Bundle size: ${Math.floor(Q.byteLength/1024)} KB`),K.info("[Verbose] Sending performance event...");if(await z0(D,{channel:"performance",event:$?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Y,time:W},notify:!1},w.verbose),w.verbose)K.info("[Verbose] Performance event sent successfully")}async function mX0(D,X,Y){let{data:Z,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",X).eq("name",Y);if(J){K.error(`Cannot delete linked bundle on upload ${p(J)}`);return}if(Z.length===0){K.warn("No linked bundle found in the channel you are trying to upload to");return}let Q=Z[0].version;if(Q.deleted){K.warn("The linked bundle is already deleted");return}let{error:w}=await D.from("app_versions").update({deleted:!0}).eq("id",Q.id);if(w){K.error(`Cannot delete linked bundle on upload ${p(w)}`);return}K.info("Linked bundle deleted")}async function dX0(D,X,Y,Z,J,Q,w,F,B,q){let{data:$}=await D.rpc("get_app_versions",{apikey:X,name_version:Z,appid:F}).single();if(!$)$D("Cannot get version id, cannot set channel");let{data:G}=await D.rpc("is_allowed_capgkey",{apikey:X,keymode:["write","all"]}).single();if(G){let{error:W,data:O}=await VJ(D,{name:J,app_id:F,created_by:Q,version:$,owner_org:w,...q?{allow_device_self_set:!0}:{}});if(W)$D(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${p(W)}`);let H=`${B.hostWeb}/app/${F}/channel/${O.id}`;if(O?.public)K.info("Your update is now available in your public channel \uD83C\uDF89");else if(O?.id)K.info(`Link device to this bundle to try it: ${H}`);if(Y)K.info(`Bundle url: ${H}`)}else K.warn("The upload key is not allowed to set the version in the channel")}async function cX0(D,X,Y){let{error:Z,data:J}=await X.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Z)return K.warn("Cannot find default upload channel"),K.info(`You can set it here: ${Y}/app/${D}/info`),null;return J.default_upload_channel}async function WG(D,X,Y=!1){if(!Y)q0(`Uploading with CLI version ${o8.version}`);let Z,J=q5();await o0();let{s3Region:Q,s3Apikey:w,s3Apisecret:F,s3BucketName:B,s3Endpoint:q,s3Port:$,s3SSL:G}=X;if(X.verbose)K.info("[Verbose] Starting upload process with options:"),K.info(` - API key: ${X.apikey?"provided":"from saved key"}`),K.info(` - Path: ${X.path||"from capacitor config"}`),K.info(` - Channel: ${X.channel||"from default upload channel"}`),K.info(` - Bundle: ${X.bundle||"auto-detected"}`),K.info(` - External: ${X.external||"false"}`),K.info(` - Encryption: ${X.keyV2||X.keyDataV2?"v2":X.key===!1?"disabled":"auto"}`),K.info(` - Upload method: ${X.tus?"TUS":X.zip?"ZIP":"auto"}`),K.info(` - Delta updates: ${X.delta||X.partial?"enabled":"disabled"}`);let W=kX0(X);if(X.verbose)K.info("[Verbose] API key retrieved successfully");let O=await H0();if(X.verbose)K.info("[Verbose] Capacitor config loaded successfully");let H=await yy();if(X.verbose)K.info("[Verbose] Remote file config retrieved:"),K.info(` - Max upload length: ${Math.floor(H.maxUploadLength/1024/1024)} MB`),K.info(` - Alert upload size: ${Math.floor(H.alertUploadSize/1024/1024)} MB`),K.info(` - TUS upload: ${H.TUSUpload?"enabled":"disabled"}`),K.info(` - TUS upload forced: ${H.TUSUploadForced?"yes":"no"}`),K.info(` - Partial upload: ${H.partialUpload?"enabled":"disabled"}`),K.info(` - Max chunk size: ${Math.floor(H.maxChunkSize/1024/1024)} MB`);let{appid:M,path:U}=uX0(D,X,O.config);if(X.verbose)K.info(`[Verbose] App ID: ${M}, Build path: ${U}`);let N=await yX0(O.config,X);if(X.verbose)K.info(`[Verbose] Bundle version: ${N}`);let R=X.external?"external":"r2-direct",z="none";if(X.autoSetBundle){if(await xy({version:N}),X.verbose)K.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(hX0(X,U),X.verbose)K.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");K.info(`Upload ${M}@${N} started from path "${U}" to Capgo cloud`);let V=await C8();if(X.verbose)K.info(`[Verbose] Local config loaded: host=${V.hostWeb}`);if(X.supaHost&&X.supaAnon){if(K.info("Using custom supabase instance from provided options"),V.supaHost=X.supaHost,V.supaKey=X.supaAnon,X.verbose)K.info(`[Verbose] Custom Supabase host: ${X.supaHost}`)}let L=await K0(W,X.supaHost,X.supaAnon);if(X.verbose)K.info("[Verbose] Supabase client created successfully");await _D(L,M,Y);let C=await N0(L,W,["write","all","upload"]);if(X.verbose)K.info(`[Verbose] User verified successfully, user_id: ${C}`);let y=X.channel||await cX0(M,L,V.hostWeb)||"production";if(X.verbose)K.info(`[Verbose] Target channel: ${y}`);let A=await pD(L,M);if(X.verbose)K.info(`[Verbose] Organization ID: ${A}`);if(await _y(L,A,o8.version),X.verbose)K.info("[Verbose] Remote CLI messages checked");if(await by(L,A,W,M,!0),X.verbose)K.info("[Verbose] Plan validation passed");if(X.verbose)K.info("[Verbose] Trial check completed");if(X.verbose)K.info(`[Verbose] Checking compatibility with channel ${y}...`);let{nativePackages:k,minUpdateVersion:f}=await _X0(L,J,X,y,M,N);if(X.verbose)K.info("[Verbose] Compatibility check completed:"),K.info(` - Native packages: ${k?k.length:0}`),K.info(` - Min update version: ${f||"none"}`);if(X.verbose)K.info(`[Verbose] Checking if version ${N} already exists...`);let S=!Y&&!!w9.stdin.isTTY&&!!w9.stdout.isTTY,v=await vX0(L,M,N,X.versionExistsOk,S);if(X.verbose)K.info(`[Verbose] Version exists check: ${v?typeof v==="string"?`retry with ${v}`:"yes (skipping)":"no (continuing)"}`);if(v===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:N,checksum:null,encryptionMethod:z,storageProvider:R};if(typeof v==="string")return K.info(`Retrying upload with new version: ${v}`),WG(D,{...X,bundle:v},Y);if(X.external&&!X.external.startsWith("https://"))$D(`External link should should start with "https://" current is "${X.external}"`);if(X.deleteLinkedBundleOnUpload)K.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),K.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let b={name:N,app_id:M,session_key:void 0,external_url:X.external,storage_provider:R,min_update_version:f,native_packages:k,owner_org:A,user_id:C,checksum:void 0,link:X.link||null,comment:X.comment||null,key_id:void 0,cli_version:o8.version},n=null,h="";if(!X.external){if(X.verbose)K.info(`[Verbose] Preparing bundle file from path: ${U}`);let c=O.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:o,ivSessionKey:I,checksum:j,sessionKey:l,encryptionMethod:u,finalKeyData:w0,keyId:i}=await bX0(U,X,W,A,M,H.maxUploadLength,H.alertUploadSize,c);if(b.session_key=I,b.checksum=j,b.key_id=i||void 0,Z=l,n=o,z=u,h=w0,X.verbose)K.info("[Verbose] Bundle prepared:"),K.info(` - Size: ${Math.floor((o?.byteLength??0)/1024)} KB`),K.info(` - Checksum: ${j}`),K.info(` - Encryption: ${u}`),K.info(` - IV Session Key: ${I?"present":"none"}`),K.info(` - Key ID: ${i||"none"}`);if(!X.ignoreChecksumCheck){if(X.verbose)K.info("[Verbose] Checking for duplicate checksum...");if(await ay(L,M,y,j),X.verbose)K.info("[Verbose] Checksum is unique")}}else{if(X.verbose)K.info(`[Verbose] Using external URL: ${X.external}`);if(await z0(W,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:A,tags:{"app-id":M},notify:!1},X.verbose),b.session_key=X.ivSessionKey,b.checksum=X.encryptedChecksum,X.verbose)K.info("[Verbose] External bundle configured:"),K.info(` - URL: ${X.external}`),K.info(` - IV Session Key: ${X.ivSessionKey?"provided":"none"}`),K.info(` - Encrypted Checksum: ${X.encryptedChecksum?"provided":"none"}`)}if(X.zip){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!H.TUSUpload||X.external){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(X.tus=X.tus||H.TUSUploadForced,X.verbose)K.info(`[Verbose] Upload method: ${X.tus?"TUS (resumable)":"Standard"}`);if(!H.partialUpload||X.external){if(X.delta=!1,X.verbose&&X.external)K.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(X.delta=X.delta||X.partial||X.deltaOnly||X.partialOnly||H.partialUploadForced,X.verbose)K.info(`[Verbose] Delta updates: ${X.delta?"enabled":"disabled"}`);if(X.encryptPartial&&z==="v1")$D("You cannot encrypt the partial update if you are not using the v2 encryption method");let E="5.30.0",P="6.30.0",x="7.30.0",_=!1;if(X.delta&&z==="v2"&&!X.encryptPartial){let c=rD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I&&eG(I,i0("6.14.4"))){if(K.info(`Auto-enabling partial update encryption for updater version ${I} (> 6.14.4)`),X.verbose)K.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");X.encryptPartial=!0}}if(X.delta&&(X.encryptPartial||z==="v2")){let c=rD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I){if(_=!e1(I,E,P,x),X.verbose&&_)K.info(`[Verbose] Using hex checksum format for updater version ${I}`)}}if(X.verbose&&X.delta)K.info("[Verbose] Preparing delta/partial update manifest...");let g=X.delta?await Qh(U,W,A,M,X.encryptPartial?z:"none",h,_):[];if(X.verbose&&X.delta)K.info(`[Verbose] Delta manifest prepared with ${g.length} files`);if(X.verbose)K.info("[Verbose] Creating version record in database...");let{error:m}=await k$(L,b);if(m)$D(`Cannot add bundle ${p(m)}`);if(X.verbose)K.info("[Verbose] Version record created successfully");if(X.tusChunkSize&&X.tusChunkSize>H.maxChunkSize)K.error(`Chunk size ${X.tusChunkSize} is greater than the maximum chunk size ${H.maxChunkSize}, using the maximum chunk size`),X.tusChunkSize=H.maxChunkSize;else if(!X.tusChunkSize)X.tusChunkSize=H.maxChunkSize;if(X.verbose)K.info(`[Verbose] TUS chunk size: ${Math.floor(X.tusChunkSize/1024/1024)} MB`);if(n&&(B||q||Q||w||F||$||G)){if(!B||!q||!Q||!w||!F||!$)$D("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(K.info("Uploading to S3"),X.verbose)K.info("[Verbose] S3 configuration:"),K.info(` - Endpoint: ${q}`),K.info(` - Region: ${Q}`),K.info(` - Bucket: ${B}`),K.info(` - Port: ${$}`),K.info(` - SSL: ${G?"enabled":"disabled"}`);let c=G?`https://${q}`:`http://${q}`,o=new yJ({endPoint:q,region:Q,port:$,pathStyle:!0,bucket:B,accessKey:w,secretKey:F}),I=`${M}-${N}`,j=encodeURIComponent(I);if(X.verbose)K.info(`[Verbose] Uploading to S3 as: ${I}`);if(await o.putObject(I,Uint8Array.from(n)),b.external_url=`${c}/${j}`,b.storage_provider="external",X.verbose)K.info(`[Verbose] S3 upload complete, external URL: ${b.external_url}`)}else if(n){if(!X.partialOnly&&!X.deltaOnly){if(X.verbose)K.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await gX0(W,L,M,N,A,n,X,X.tusChunkSize)}else if(X.verbose)K.info("[Verbose] Skipping full bundle upload (delta-only mode)");let c=null;try{if(X.dryUpload){if(X.delta=!1,X.verbose)K.info("[Verbose] Dry upload mode: skipping delta upload")}let I=b.session_key&&X.encryptPartial&&Z?{sessionKey:Z,ivSessionKey:b.session_key}:void 0;if(X.verbose&&X.delta)K.info("[Verbose] Starting delta/partial file upload..."),K.info(` - Manifest entries: ${g.length}`),K.info(` - Encryption: ${I?"enabled":"disabled"}`);if(c=X.delta?await wh(W,g,U,M,A,I,X):null,X.verbose&&c)K.info(`[Verbose] Delta upload complete with ${c.length} files`)}catch(I){if(!!(X.partial||X.delta||X.partialOnly||X.deltaOnly))throw I;if(K.info(`Failed to upload partial files to capgo cloud. Error: ${p(I)}. This is not a critical error, the bundle has been uploaded without the partial files`),X.verbose)K.info(`[Verbose] Delta upload error details: ${p(I)}`)}if(b.storage_provider="r2",b.manifest=c,X.verbose)K.info("[Verbose] Updating version record with storage provider and manifest...");let{error:o}=await k$(L,b);if(o)$D(`Cannot update bundle ${p(o)}`);if(X.verbose)K.info("[Verbose] Version record updated successfully")}if(X.verbose)K.info("[Verbose] Checking app permissions...");let a=await CD(L,W,M,2,!1,!0);if(X.verbose)K.info("[Verbose] Permissions:"),K.info(` - Upload: ${c7(a,2)?"yes":"no"}`),K.info(` - Write: ${c7(a,3)?"yes":"no"}`),K.info(` - Admin: ${c7(a,4)?"yes":"no"}`);if(X.deleteLinkedBundleOnUpload&&c7(a,3)){if(X.verbose)K.info(`[Verbose] Deleting linked bundle in channel ${y}...`);await mX0(L,M,y)}else if(X.deleteLinkedBundleOnUpload)K.warn("Cannot delete linked bundle on upload as a upload organization member");if(c7(a,3)){if(X.verbose)K.info(`[Verbose] Setting bundle ${N} to channel ${y}...`);if(await dX0(L,W,!!X.bundleUrl,N,y,C,A,M,V,X.selfAssign),X.verbose)K.info("[Verbose] Channel updated successfully")}else K.warn("Cannot set channel as a upload organization member");if(X.verbose)K.info("[Verbose] Sending upload event...");await z0(W,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M},notify:!1},X.verbose),await z0(W,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M},notify:!1,notifyConsole:!0}).catch(()=>{});let d={success:!0,bundle:N,checksum:b.checksum??null,encryptionMethod:z,sessionKey:Z?Z.toString("base64"):void 0,ivSessionKey:typeof b.session_key==="string"?b.session_key:void 0,storageProvider:b.storage_provider};if(X.verbose)K.info("[Verbose] Upload completed successfully:"),K.info(` - Bundle: ${d.bundle}`),K.info(` - Checksum: ${d.checksum}`),K.info(` - Encryption: ${d.encryptionMethod}`),K.info(` - Storage: ${d.storageProvider}`);if(Y&&!d.skipped)$0("Time to share your update to the world \uD83C\uDF0D");return d}var Bh=require("node:crypto"),cJ=require("node:fs"),qh=require("node:process");var lX0=20;function nX0(D){console.log(JSON.stringify(D,null,2))}function OX(D){console.error(p(D))}async function $h(D,X,Y=!1){let{json:Z}=X,{bundle:J,path:Q}=X,w=!Z&&!Y;try{if(w)await o0();let F=await H0(),B=b0(D,F?.config),q=Bh.randomUUID().split("-")[0],$=D9("",X.packageJson);if(J=J||$||`0.0.1-beta.${q}`,w)q0(`Zipping ${B}@${J}`);if(J&&!d7.test(J)){let C=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!Y)if(Z)OX({error:"invalid_semver"});else K.error(C);throw Error("Invalid bundle version format")}if(Q=Q||F?.config?.webDir,!B||!J||!Q){if(!Y)if(Z)OX({error:"missing_argument"});else K.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if(w)K.info(`Started from path "${Q}"`);if(typeof X.codeCheck>"u"?!0:X.codeCheck){if(!FX(Q,"notifyAppReady")){if(!Y)if(Z)OX({error:"notifyAppReady_not_in_source_code"});else K.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!uJ(Q)){if(!Y)if(Z)OX({error:"index_html_not_found"});else K.error(`index.html is missing in the root folder of ${Q}`);throw Error("index.html is missing in root folder")}}let W=await LJ(Q);if(w)K.info(`Zipped ${W.byteLength} bytes`);let O=w?xD():null;if(O)O.start("Calculating checksum");let H=rD(qh.cwd()),M=await o1("@capgo/capacitor-updater",H,X.packageJson);if(!M){if(!Y)K.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let U=!1,N;try{N=M?i0(M):void 0}catch{N=void 0}if(N)U=!e1(N,void 0,void 0,"7.0.0");else if(M==="link:@capgo/capacitor-updater"){if(!Y)K.warn("Using local @capgo/capacitor-updater. Assuming v7");U=!0}let R=await y6(W,X.keyV2||cJ.existsSync(v1)||U?"sha256":"crc32");if(O)O.stop(`Checksum ${U?"SHA256":"CRC32"}: ${R}`);let z=Math.floor(W.byteLength/1024/1024);if(z>lX0&&w)K.warn(`WARNING !!
401
+ Bundle uploaded \uD83D\uDCAA in 0 seconds`),w.verbose)K.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let O=await C8();if(w.verbose)K.info("[Verbose] Local config retrieved for upload");if(w.multipart!==void 0&&w.multipart||w.tus!==void 0&&w.tus){if(w.multipart)K.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else K.info("Uploading bundle with TUS protocol");if(w.verbose)K.info("[Verbose] Starting TUS resumable upload..."),K.info(` - Host: ${O.hostWeb}`),K.info(` - Chunk size: ${Math.floor(F/1024/1024)} MB`);if(await cy(D,Q,J,Y,Z,B,O,F),$=!0,w.verbose)K.info("[Verbose] TUS upload completed, updating database with R2 path...");let H=`orgs/${J}/apps/${Y}/${Z}.zip`,{error:M}=await X.from("app_versions").update({r2_path:H}).eq("name",Z).eq("app_id",Y);if(M){if(K.error(`Cannot finish TUS upload ${p(M)}`),w.verbose)K.info(`[Verbose] Database update failed: ${p(M)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if(w.verbose)K.info(`[Verbose] Database updated with R2 path: ${H}`)}else{if(w.verbose)K.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let H=await gy(X,Y,Z);if(!H){if(K.error("Cannot get upload url"),w.verbose)K.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if(w.verbose)K.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),K.info(` - Timeout: ${w.timeout||y$}ms`),K.info(" - Retry attempts: 5"),K.info(" - Content-Type: application/zip");let M=new AbortController,U=setTimeout(()=>M.abort(),w.timeout||y$);try{let N=await fetch(H,{method:"PUT",body:Q,headers:{"Content-Type":"application/zip"},signal:M.signal});if(!N.ok)throw Error(`HTTP error! status: ${N.status}`)}finally{clearTimeout(U)}if(w.verbose)K.info("[Verbose] HTTP PUT upload completed successfully")}}catch(O){let M=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${M} seconds)`),w.verbose)K.info(`[Verbose] Upload failed after ${M} seconds`),K.info(`[Verbose] Error type: ${O instanceof Error?"Error":typeof O}`);if(O instanceof Error&&O.message.includes("HTTP error"))try{let U=O.message.match(/status: (\d+)/),N=U?U[1]:"unknown";K.error(`Upload failed with status ${N}: ${O.message}`)}catch{K.error(`Upload failed: ${O.message}`)}else{if(w.verbose)K.info(`[Verbose] Non-HTTP error: ${p(O)}`);if(!w.tus)K.error(`Cannot upload bundle ( try again with --tus option) ${p(O)}`);else K.error(`Cannot upload bundle please contact support if the issue persists ${p(O)}`)}if(w.verbose)K.info("[Verbose] Cleaning up failed version from database...");if(await ly(X,Y,Z),w.verbose)K.info("[Verbose] Failed version cleaned up");throw O instanceof Error?O:Error(String(O))}let W=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${W} seconds)`),w.verbose)K.info("[Verbose] Upload successful:"),K.info(` - Upload time: ${W} seconds`),K.info(` - Upload method: ${$?"TUS (resumable)":"Standard HTTP PUT"}`),K.info(` - Bundle size: ${Math.floor(Q.byteLength/1024)} KB`),K.info("[Verbose] Sending performance event...");if(await z0(D,{channel:"performance",event:$?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Y,time:W},notify:!1},w.verbose),w.verbose)K.info("[Verbose] Performance event sent successfully")}async function mX0(D,X,Y){let{data:Z,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",X).eq("name",Y);if(J){K.error(`Cannot delete linked bundle on upload ${p(J)}`);return}if(Z.length===0){K.warn("No linked bundle found in the channel you are trying to upload to");return}let Q=Z[0].version;if(Q.deleted){K.warn("The linked bundle is already deleted");return}let{error:w}=await D.from("app_versions").update({deleted:!0}).eq("id",Q.id);if(w){K.error(`Cannot delete linked bundle on upload ${p(w)}`);return}K.info("Linked bundle deleted")}async function dX0(D,X,Y,Z,J,Q,w,F,B,q){let{data:$}=await D.rpc("get_app_versions",{apikey:X,name_version:Z,appid:F}).single();if(!$)$D("Cannot get version id, cannot set channel");let{data:G}=await D.rpc("is_allowed_capgkey",{apikey:X,keymode:["write","all"]}).single();if(G){let{error:W,data:O}=await VJ(D,{name:J,app_id:F,created_by:Q,version:$,owner_org:w,...q?{allow_device_self_set:!0}:{}});if(W)$D(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${p(W)}`);let H=`${B.hostWeb}/app/${F}/channel/${O.id}`;if(O?.public)K.info("Your update is now available in your public channel \uD83C\uDF89");else if(O?.id)K.info(`Link device to this bundle to try it: ${H}`);if(Y)K.info(`Bundle url: ${H}`)}else K.warn("The upload key is not allowed to set the version in the channel")}async function cX0(D,X,Y){let{error:Z,data:J}=await X.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Z)return K.warn("Cannot find default upload channel"),K.info(`You can set it here: ${Y}/app/${D}/info`),null;return J.default_upload_channel}async function WG(D,X,Y=!1){if(!Y)q0(`Uploading with CLI version ${o8.version}`);let Z,J=q5();await o0();let{s3Region:Q,s3Apikey:w,s3Apisecret:F,s3BucketName:B,s3Endpoint:q,s3Port:$,s3SSL:G}=X;if(X.verbose)K.info("[Verbose] Starting upload process with options:"),K.info(` - API key: ${X.apikey?"provided":"from saved key"}`),K.info(` - Path: ${X.path||"from capacitor config"}`),K.info(` - Channel: ${X.channel||"from default upload channel"}`),K.info(` - Bundle: ${X.bundle||"auto-detected"}`),K.info(` - External: ${X.external||"false"}`),K.info(` - Encryption: ${X.keyV2||X.keyDataV2?"v2":X.key===!1?"disabled":"auto"}`),K.info(` - Upload method: ${X.tus?"TUS":X.zip?"ZIP":"auto"}`),K.info(` - Delta updates: ${X.delta||X.partial?"enabled":"disabled"}`);let W=kX0(X);if(X.verbose)K.info("[Verbose] API key retrieved successfully");let O=await H0();if(X.verbose)K.info("[Verbose] Capacitor config loaded successfully");let H=await yy();if(X.verbose)K.info("[Verbose] Remote file config retrieved:"),K.info(` - Max upload length: ${Math.floor(H.maxUploadLength/1024/1024)} MB`),K.info(` - Alert upload size: ${Math.floor(H.alertUploadSize/1024/1024)} MB`),K.info(` - TUS upload: ${H.TUSUpload?"enabled":"disabled"}`),K.info(` - TUS upload forced: ${H.TUSUploadForced?"yes":"no"}`),K.info(` - Partial upload: ${H.partialUpload?"enabled":"disabled"}`),K.info(` - Max chunk size: ${Math.floor(H.maxChunkSize/1024/1024)} MB`);let{appid:M,path:U}=uX0(D,X,O.config);if(X.verbose)K.info(`[Verbose] App ID: ${M}, Build path: ${U}`);let N=await yX0(O.config,X);if(X.verbose)K.info(`[Verbose] Bundle version: ${N}`);let R=X.external?"external":"r2-direct",z="none";if(X.autoSetBundle){if(await xy({version:N}),X.verbose)K.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(hX0(X,U),X.verbose)K.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");K.info(`Upload ${M}@${N} started from path "${U}" to Capgo cloud`);let V=await C8();if(X.verbose)K.info(`[Verbose] Local config loaded: host=${V.hostWeb}`);if(X.supaHost&&X.supaAnon){if(K.info("Using custom supabase instance from provided options"),V.supaHost=X.supaHost,V.supaKey=X.supaAnon,X.verbose)K.info(`[Verbose] Custom Supabase host: ${X.supaHost}`)}let L=await K0(W,X.supaHost,X.supaAnon);if(X.verbose)K.info("[Verbose] Supabase client created successfully");await _D(L,M,Y);let C=await N0(L,W,["write","all","upload"]);if(X.verbose)K.info(`[Verbose] User verified successfully, user_id: ${C}`);let y=X.channel||await cX0(M,L,V.hostWeb)||"production";if(X.verbose)K.info(`[Verbose] Target channel: ${y}`);let A=await pD(L,M);if(X.verbose)K.info(`[Verbose] Organization ID: ${A}`);if(await _y(L,A,o8.version),X.verbose)K.info("[Verbose] Remote CLI messages checked");if(await by(L,A,W,M,!0),X.verbose)K.info("[Verbose] Plan validation passed");if(X.verbose)K.info("[Verbose] Trial check completed");if(X.verbose)K.info(`[Verbose] Checking compatibility with channel ${y}...`);let{nativePackages:k,minUpdateVersion:f}=await _X0(L,J,X,y,M,N);if(X.verbose)K.info("[Verbose] Compatibility check completed:"),K.info(` - Native packages: ${k?k.length:0}`),K.info(` - Min update version: ${f||"none"}`);if(X.verbose)K.info(`[Verbose] Checking if version ${N} already exists...`);let S=!Y&&!!w9.stdin.isTTY&&!!w9.stdout.isTTY,v=await vX0(L,M,N,X.versionExistsOk,S);if(X.verbose)K.info(`[Verbose] Version exists check: ${v?typeof v==="string"?`retry with ${v}`:"yes (skipping)":"no (continuing)"}`);if(v===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:N,checksum:null,encryptionMethod:z,storageProvider:R};if(typeof v==="string")return K.info(`Retrying upload with new version: ${v}`),WG(D,{...X,bundle:v},Y);if(X.external&&!X.external.startsWith("https://"))$D(`External link should should start with "https://" current is "${X.external}"`);if(X.deleteLinkedBundleOnUpload)K.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),K.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let b={name:N,app_id:M,session_key:void 0,external_url:X.external,storage_provider:R,min_update_version:f,native_packages:k,owner_org:A,user_id:C,checksum:void 0,link:X.link||null,comment:X.comment||null,key_id:void 0,cli_version:o8.version},n=null,h="";if(!X.external){if(X.verbose)K.info(`[Verbose] Preparing bundle file from path: ${U}`);let c=O.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:o,ivSessionKey:I,checksum:j,sessionKey:l,encryptionMethod:u,finalKeyData:w0,keyId:i}=await bX0(U,X,W,A,M,H.maxUploadLength,H.alertUploadSize,c);if(b.session_key=I,b.checksum=j,b.key_id=i||void 0,Z=l,n=o,z=u,h=w0,X.verbose)K.info("[Verbose] Bundle prepared:"),K.info(` - Size: ${Math.floor((o?.byteLength??0)/1024)} KB`),K.info(` - Checksum: ${j}`),K.info(` - Encryption: ${u}`),K.info(` - IV Session Key: ${I?"present":"none"}`),K.info(` - Key ID: ${i||"none"}`);if(!X.ignoreChecksumCheck){if(X.verbose)K.info("[Verbose] Checking for duplicate checksum...");if(await ay(L,M,y,j),X.verbose)K.info("[Verbose] Checksum is unique")}}else{if(X.verbose)K.info(`[Verbose] Using external URL: ${X.external}`);if(await z0(W,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:A,tags:{"app-id":M},notify:!1},X.verbose),b.session_key=X.ivSessionKey,b.checksum=X.encryptedChecksum,X.verbose)K.info("[Verbose] External bundle configured:"),K.info(` - URL: ${X.external}`),K.info(` - IV Session Key: ${X.ivSessionKey?"provided":"none"}`),K.info(` - Encrypted Checksum: ${X.encryptedChecksum?"provided":"none"}`)}if(X.zip){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!H.TUSUpload||X.external){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(X.tus=X.tus||H.TUSUploadForced,X.verbose)K.info(`[Verbose] Upload method: ${X.tus?"TUS (resumable)":"Standard"}`);if(!H.partialUpload||X.external){if(X.delta=!1,X.verbose&&X.external)K.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(X.delta=X.delta||X.partial||X.deltaOnly||X.partialOnly||H.partialUploadForced,X.verbose)K.info(`[Verbose] Delta updates: ${X.delta?"enabled":"disabled"}`);if(X.encryptPartial&&z==="v1")$D("You cannot encrypt the partial update if you are not using the v2 encryption method");let E="5.30.0",P="6.30.0",x="7.30.0",_=!1;if(X.delta&&z==="v2"&&!X.encryptPartial){let c=rD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I&&eG(I,i0("6.14.4"))){if(K.info(`Auto-enabling partial update encryption for updater version ${I} (> 6.14.4)`),X.verbose)K.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");X.encryptPartial=!0}}if(X.delta&&(X.encryptPartial||z==="v2")){let c=rD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I){if(_=!e1(I,E,P,x),X.verbose&&_)K.info(`[Verbose] Using hex checksum format for updater version ${I}`)}}if(X.verbose&&X.delta)K.info("[Verbose] Preparing delta/partial update manifest...");let g=X.delta?await Qh(U,W,A,M,X.encryptPartial?z:"none",h,_):[];if(X.verbose&&X.delta)K.info(`[Verbose] Delta manifest prepared with ${g.length} files`);if(X.verbose)K.info("[Verbose] Creating version record in database...");let{error:m}=await k$(L,b);if(m)$D(`Cannot add bundle ${p(m)}`);if(X.verbose)K.info("[Verbose] Version record created successfully");if(X.tusChunkSize&&X.tusChunkSize>H.maxChunkSize)K.error(`Chunk size ${X.tusChunkSize} is greater than the maximum chunk size ${H.maxChunkSize}, using the maximum chunk size`),X.tusChunkSize=H.maxChunkSize;else if(!X.tusChunkSize)X.tusChunkSize=H.maxChunkSize;if(X.verbose)K.info(`[Verbose] TUS chunk size: ${Math.floor(X.tusChunkSize/1024/1024)} MB`);if(n&&(B||q||Q||w||F||$||G)){if(!B||!q||!Q||!w||!F||!$)$D("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(K.info("Uploading to S3"),X.verbose)K.info("[Verbose] S3 configuration:"),K.info(` - Endpoint: ${q}`),K.info(` - Region: ${Q}`),K.info(` - Bucket: ${B}`),K.info(` - Port: ${$}`),K.info(` - SSL: ${G?"enabled":"disabled"}`);let c=G?`https://${q}`:`http://${q}`,o=new yJ({endPoint:q,region:Q,port:$,pathStyle:!0,bucket:B,accessKey:w,secretKey:F}),I=`${M}-${N}`,j=encodeURIComponent(I);if(X.verbose)K.info(`[Verbose] Uploading to S3 as: ${I}`);if(await o.putObject(I,Uint8Array.from(n)),b.external_url=`${c}/${j}`,b.storage_provider="external",X.verbose)K.info(`[Verbose] S3 upload complete, external URL: ${b.external_url}`)}else if(n){if(!X.partialOnly&&!X.deltaOnly){if(X.verbose)K.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await gX0(W,L,M,N,A,n,X,X.tusChunkSize)}else if(X.verbose)K.info("[Verbose] Skipping full bundle upload (delta-only mode)");let c=null;try{if(X.dryUpload){if(X.delta=!1,X.verbose)K.info("[Verbose] Dry upload mode: skipping delta upload")}let I=b.session_key&&X.encryptPartial&&Z?{sessionKey:Z,ivSessionKey:b.session_key}:void 0;if(X.verbose&&X.delta)K.info("[Verbose] Starting delta/partial file upload..."),K.info(` - Manifest entries: ${g.length}`),K.info(` - Encryption: ${I?"enabled":"disabled"}`);if(c=X.delta?await wh(W,g,U,M,A,I,X):null,X.verbose&&c)K.info(`[Verbose] Delta upload complete with ${c.length} files`)}catch(I){if(!!(X.partial||X.delta||X.partialOnly||X.deltaOnly))throw I;if(K.info(`Failed to upload partial files to capgo cloud. Error: ${p(I)}. This is not a critical error, the bundle has been uploaded without the partial files`),X.verbose)K.info(`[Verbose] Delta upload error details: ${p(I)}`)}if(b.storage_provider="r2",b.manifest=c,X.verbose)K.info("[Verbose] Updating version record with storage provider and manifest...");let{error:o}=await k$(L,b);if(o)$D(`Cannot update bundle ${p(o)}`);if(X.verbose)K.info("[Verbose] Version record updated successfully")}if(X.verbose)K.info("[Verbose] Checking app permissions...");let a=await CD(L,W,M,2,!1,!0);if(X.verbose)K.info("[Verbose] Permissions:"),K.info(` - Upload: ${c7(a,2)?"yes":"no"}`),K.info(` - Write: ${c7(a,3)?"yes":"no"}`),K.info(` - Admin: ${c7(a,4)?"yes":"no"}`);if(X.deleteLinkedBundleOnUpload&&c7(a,3)){if(X.verbose)K.info(`[Verbose] Deleting linked bundle in channel ${y}...`);await mX0(L,M,y)}else if(X.deleteLinkedBundleOnUpload)K.warn("Cannot delete linked bundle on upload as a upload organization member");if(c7(a,3)){if(X.verbose)K.info(`[Verbose] Setting bundle ${N} to channel ${y}...`);if(await dX0(L,W,!!X.bundleUrl,N,y,C,A,M,V,X.selfAssign),X.verbose)K.info("[Verbose] Channel updated successfully")}else K.warn("Cannot set channel as a upload organization member");if(X.verbose)K.info("[Verbose] Sending upload event...");await z0(W,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M,bundle:N},notify:!1},X.verbose),await z0(W,{channel:"app",event:"Bundle Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M,bundle:N},notify:!1,notifyConsole:!0}).catch(()=>{});let d={success:!0,bundle:N,checksum:b.checksum??null,encryptionMethod:z,sessionKey:Z?Z.toString("base64"):void 0,ivSessionKey:typeof b.session_key==="string"?b.session_key:void 0,storageProvider:b.storage_provider};if(X.verbose)K.info("[Verbose] Upload completed successfully:"),K.info(` - Bundle: ${d.bundle}`),K.info(` - Checksum: ${d.checksum}`),K.info(` - Encryption: ${d.encryptionMethod}`),K.info(` - Storage: ${d.storageProvider}`);if(Y&&!d.skipped)$0("Time to share your update to the world \uD83C\uDF0D");return d}var Bh=require("node:crypto"),cJ=require("node:fs"),qh=require("node:process");var lX0=20;function nX0(D){console.log(JSON.stringify(D,null,2))}function OX(D){console.error(p(D))}async function $h(D,X,Y=!1){let{json:Z}=X,{bundle:J,path:Q}=X,w=!Z&&!Y;try{if(w)await o0();let F=await H0(),B=b0(D,F?.config),q=Bh.randomUUID().split("-")[0],$=D9("",X.packageJson);if(J=J||$||`0.0.1-beta.${q}`,w)q0(`Zipping ${B}@${J}`);if(J&&!d7.test(J)){let C=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!Y)if(Z)OX({error:"invalid_semver"});else K.error(C);throw Error("Invalid bundle version format")}if(Q=Q||F?.config?.webDir,!B||!J||!Q){if(!Y)if(Z)OX({error:"missing_argument"});else K.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if(w)K.info(`Started from path "${Q}"`);if(typeof X.codeCheck>"u"?!0:X.codeCheck){if(!FX(Q,"notifyAppReady")){if(!Y)if(Z)OX({error:"notifyAppReady_not_in_source_code"});else K.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!uJ(Q)){if(!Y)if(Z)OX({error:"index_html_not_found"});else K.error(`index.html is missing in the root folder of ${Q}`);throw Error("index.html is missing in root folder")}}let W=await LJ(Q);if(w)K.info(`Zipped ${W.byteLength} bytes`);let O=w?xD():null;if(O)O.start("Calculating checksum");let H=rD(qh.cwd()),M=await o1("@capgo/capacitor-updater",H,X.packageJson);if(!M){if(!Y)K.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let U=!1,N;try{N=M?i0(M):void 0}catch{N=void 0}if(N)U=!e1(N,void 0,void 0,"7.0.0");else if(M==="link:@capgo/capacitor-updater"){if(!Y)K.warn("Using local @capgo/capacitor-updater. Assuming v7");U=!0}let R=await y6(W,X.keyV2||cJ.existsSync(v1)||U?"sha256":"crc32");if(O)O.stop(`Checksum ${U?"SHA256":"CRC32"}: ${R}`);let z=Math.floor(W.byteLength/1024/1024);if(z>lX0&&w)K.warn(`WARNING !!
402
402
  The bundle size is ${z} Mb, this may take a while to download for users
403
403
  `),K.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
404
404
  `);let V=w?xD():null,L=X.name||`${B}_${J}.zip`;if(V)V.start(`Saving to ${L}`);if(cJ.writeFileSync(L,W),V)V.stop(`Saved to ${L}`);if(w)$0("Done ✅");if(!Y&&Z)nX0({bundle:J,filename:L,checksum:R});return{bundle:J,filename:L,checksum:R}}catch(F){if(!Y)if(Z)OX(F);else K.error(p(F));throw F instanceof Error?F:Error(String(F))}}async function Gh(D,X,Y,Z=!1){if(!Z)q0("Create channel");Y.apikey=Y.apikey||Q0();let J=await H0().catch(()=>{return});if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await _D(Q,X,Z),await N0(Q,Y.apikey,["write","all"]),await CD(Q,Y.apikey,X,4,Z,!0),!Z)K.info(`Creating channel ${X}#${D} to Capgo`);let w=await v$(Q,X);if(!w){if(!Z)K.error("Cannot find default version for channel creation, please contact Capgo support \uD83E\uDD28");throw Error("Cannot find default version for channel creation")}let F=await pD(Q,X),B=await N0(Q,Y.apikey,["write","all"]),q=await sy(Q,{name:D,app_id:X,version:w.id,created_by:B,owner_org:F,allow_device_self_set:Y.selfAssign??!1,public:Y.default??!1});if(q.error){if(!Z)K.error(`Cannot create Channel \uD83D\uDE40
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "7.71.11",
4
+ "version": "7.71.12",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",